Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(940)

Issue 2108413002: Revert of Switch chrome_elf exception handling from breakpad to crashpad. (Closed)

Created:
4 years, 5 months ago by Ken Russell (switch to Gerrit)
Modified:
4 years, 5 months ago
CC:
chromium-reviews, caitkp+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Switch chrome_elf exception handling from breakpad to crashpad. (patchset #21 id:400001 of https://codereview.chromium.org/2088133002/ ) Reason for revert: Broke build: https://build.chromium.org/p/chromium.win/builders/Win8%20GYP%20%28dbg%29/builds/174 Seems likely the component build is broken by this change. Original issue's description: > Switch chrome_elf exception handling from breakpad to crashpad. > > Changes in this patch are as below: > 1. chrome_elf: Removing breakpad and corresponding exception initialization using breakpad. Registering > crashpad as the exception handling mechanism in chrome_elf. We continue to handle exceptions in chrome_elf > DllMain and in the blacklist interception code as before, i.e. we use crashpad to grab the dump and pass > the exception to the next handler in the chain. I also added support in chrome_elf to not initialize > crashpad if it is being loaded in some tests. For e.g. the ELFImportsTest. This is via the exe name check. > > 2. chrome.exe:- Removing crashpad exception registration. Also we need to retrieve current exception reports information > from chrome_elf instead of chrome. > > 3. Intercept the SetUnhandledExceptionFilter API in chrome_elf via IAT patching on the exe and disallow the call. This > is to prevent CRT from overwriting crashpads exception filter. I added a TODO to see if we can use EAT patching or > possibly sidestep if we can support 64 bit with it. > > 4. Added a function RegisterCrashKeysForDebugging to the ChromeCrashReporterClient class on Windows > to register crash keys. This is currently invoked from chrome_elf for debugging purposes. > > 5. Changed the browser lib target to depend on chrome_elf:blacklist instead of chrome_elf. This prevents chrome_elf > from being implicitly loaded in processes other than chrome.exe > > BUG=604923, crashpad:106, 568664 > TBR=robertshield > > Committed: https://crrev.com/34831427124fef3015106cfe6e94d35f3aa9e4f6 > Cr-Commit-Position: refs/heads/master@{#403048} TBR=scottmg@chromium.org,robertshield@chromium.org,sky@chromium.org,ananta@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=604923, crashpad:106, 568664 Committed: https://crrev.com/5b7b5f6d90919e3a7709e1ffb0240df22ff07c83 Cr-Commit-Position: refs/heads/master@{#403062}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+343 lines, -224 lines) Patch
M chrome/app/chrome_crash_reporter_client_win.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M chrome/app/chrome_exe_main_win.cc View 5 chunks +24 lines, -0 lines 0 comments Download
M chrome/app/chrome_main.cc View 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/BUILD.gn View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chrome_browser_main_win.cc View 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M chrome/browser/hang_monitor/hang_crash_dump_win.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/child_process_logging_win.cc View 4 chunks +9 lines, -37 lines 0 comments Download
M chrome/common/chrome_constants.h View 2 chunks +8 lines, -1 line 0 comments Download
M chrome/common/chrome_constants.cc View 2 chunks +7 lines, -1 line 0 comments Download
M chrome/install_static/install_util.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M chrome_elf/BUILD.gn View 5 chunks +17 lines, -17 lines 0 comments Download
M chrome_elf/DEPS View 1 chunk +1 line, -4 lines 0 comments Download
M chrome_elf/blacklist.gypi View 2 chunks +1 line, -19 lines 0 comments Download
M chrome_elf/blacklist/blacklist_interceptions.cc View 1 chunk +1 line, -1 line 0 comments Download
D chrome_elf/blacklist/crashpad_helper.h View 1 chunk +0 lines, -15 lines 0 comments Download
D chrome_elf/blacklist/crashpad_helper.cc View 1 chunk +0 lines, -13 lines 0 comments Download
A chrome_elf/breakpad.h View 1 chunk +34 lines, -0 lines 0 comments Download
A chrome_elf/breakpad.cc View 1 chunk +196 lines, -0 lines 0 comments Download
M chrome_elf/chrome_elf.gyp View 2 chunks +19 lines, -0 lines 0 comments Download
M chrome_elf/chrome_elf_main.cc View 1 chunk +3 lines, -98 lines 0 comments Download
M components/crash/content/app/crashpad.cc View 1 chunk +7 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
Ken Russell (switch to Gerrit)
Created Revert of Switch chrome_elf exception handling from breakpad to crashpad.
4 years, 5 months ago (2016-06-30 01:49:24 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2108413002/1
4 years, 5 months ago (2016-06-30 01:50:07 UTC) #3
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 5 months ago (2016-06-30 01:51:01 UTC) #5
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-06-30 01:51:05 UTC) #6
commit-bot: I haz the power
4 years, 5 months ago (2016-06-30 01:52:42 UTC) #8
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/5b7b5f6d90919e3a7709e1ffb0240df22ff07c83
Cr-Commit-Position: refs/heads/master@{#403062}

Powered by Google App Engine
This is Rietveld 408576698