DescriptionSwitch chrome_elf exception handling from breakpad to crashpad
Relanding this patch with windows telemetry test fixes
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.
7. Updated crash keys in chrome_crash_reporter_client_win.cc and added comments to the crash key files to keep the lists in sync.
BUG=604923, crashpad:106, 568664
TBR=sky
Committed: https://crrev.com/52c55bd8b84076cccdc877538787da279a8a1bf4
Cr-Commit-Position: refs/heads/master@{#406403}
Patch Set 1 #Patch Set 2 : Update crash keys and add comments #
Total comments: 4
Patch Set 3 : Rebased to tip #Patch Set 4 : Revert comments changes to blimp_engine_crash_keys.cc #Patch Set 5 : Rebased to tip #Patch Set 6 : Fix patch update step #Patch Set 7 : Remove unused chrome_elf_common target from chrome_elf.gyp #Patch Set 8 : Remove duplicate chrome_elf_constants target from chrome_elf.gyp #Patch Set 9 : Fix bot redness #Patch Set 10 : Fix gn analyze #Patch Set 11 : Update crash keys list in chrome_crash_reporter_client_win.cc #Patch Set 12 : Rebased to tip and git cl format #
Depends on Patchset: Messages
Total messages: 39 (24 generated)
|