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