Skip to content
  • ksakamoto's avatar
    Revert of Switch chrome_elf exception handling from breakpad to crashpad... · 362deb32
    ksakamoto authored
    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
    
    Review-Url: https://codereview.chromium.org/2123443002
    Cr-Commit-Position: refs/heads/master@{#403649}
    362deb32