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

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

Created:
4 years, 5 months ago by Kunihiko Sakamoto
Modified:
4 years, 5 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, kalyank, sadrul, 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 #2 id:20001 of https://codereview.chromium.org/2114533002/ ) Reason for revert: speculative revert to see whether this caused crbug.com/625535 Original issue's description: > Switch chrome_elf exception handling from breakpad to crashpad > > Relanding this patch with windows gypi build fixes. > > 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 in 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. 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. 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 > > 5. Changed child_process_logging_win.cc to set the crash key trampolines from chrome_elf instead of chrome.exe. > > 6. Changed the blacklist target in blacklist.gypi to depend on the chrome_elf_common target. Previously this dependency came in through the chrome_elf_breakpad target which has been deleted in this patch set. > > BUG=604923, crashpad:106, 568664 > TBR=sky > > Committed: https://crrev.com/29f38cfc0afb51a04698c434f4bdcafd244f4270 > Cr-Commit-Position: refs/heads/master@{#403519} TBR=scottmg@chromium.org,robertshield@chromium.org,sky@chromium.org,ananta@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=604923, crashpad:106, 568664 Committed: https://crrev.com/362deb32dbb1c429efff52818afbd86a36c254bf Cr-Commit-Position: refs/heads/master@{#403649}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+343 lines, -226 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, -21 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: 11 (4 generated)
Kunihiko Sakamoto
Created Revert of Switch chrome_elf exception handling from breakpad to crashpad
4 years, 5 months ago (2016-07-04 06:04:12 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/2123443002/1
4 years, 5 months ago (2016-07-04 06:04:22 UTC) #3
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/98028)
4 years, 5 months ago (2016-07-04 07:21:25 UTC) #5
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/2123443002/1
4 years, 5 months ago (2016-07-04 07:24:35 UTC) #7
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 5 months ago (2016-07-04 08:32:30 UTC) #8
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/362deb32dbb1c429efff52818afbd86a36c254bf Cr-Commit-Position: refs/heads/master@{#403649}
4 years, 5 months ago (2016-07-04 08:34:46 UTC) #10
Kunihiko Sakamoto
4 years, 5 months ago (2016-07-04 10:15:40 UTC) #11
Message was sent while issue was closed.
On 2016/07/04 08:34:46, commit-bot: I haz the power wrote:
> Patchset 1 (id:??) landed as
> https://crrev.com/362deb32dbb1c429efff52818afbd86a36c254bf
> Cr-Commit-Position: refs/heads/master@{#403649}

This revert appears to have fixed the test failure.

Powered by Google App Engine
This is Rietveld 408576698