commit | 6d61c62f7bec7bb6c6d90d131d3f0100d4767fd9 | [log] [tgz] |
---|---|---|
author | Alex Gough <ajgo@chromium.org> | Wed Jul 13 01:35:42 2022 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jul 13 01:35:42 2022 |
tree | 9e772ad31a6fa14a5cc17a730b28626541499136 | |
parent | a9b5a83ac8d9aedc739818dae8dede25901d2219 [diff] |
Register chrome_wer.dll with reference to chrome_elf.dll - Adds chrome crashpad client interface to find helper module. - Adds call to crashpad client to get wer context. - Registers chrome_wer.dll with WER for Windows versions where this will surface new exceptions (20h1+). We currently find the location of the module by finding the path for chrome_elf.dll and appending the WER module name. This means that we do not need to check for the presence of the WER module on disc early in startup - in fact we do not need to load the module at all as we are simply providing a path that WerFault.exe might use later if our process crashes and does not handle the crash itself. We register with WER as soon as the connection to the crashpad handler has been established. In processes other than the browser process this happens during chrome_elf.dll's DllMain(). We limit registration to Windows 20h1+ as WerFault previously would not load the module for these crashes, but now does. The DLL is not yet distributed (is not in the installer) and is not registered (with a registry entry) so following an unhandled crash WerFault will look in the registry for the matching key but will not find anything, and will handle fail-fast crashes itself as before. See WerRegisterExceptionHelperModule[0] for more information. [0] https://docs.microsoft.com/en-us/windows/win32/api/werapi/nf-werapi-werregisterruntimeexceptionmodule Bug: 865632 Change-Id: I66ae8cbf6aafc7edaceee8d36f5b12b4c9ba225a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3679799 Reviewed-by: Mark Seaborn <mseaborn@chromium.org> Commit-Queue: Alex Gough <ajgo@chromium.org> Reviewed-by: Greg Thompson <grt@chromium.org> Reviewed-by: Will Harris <wfh@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Cr-Commit-Position: refs/heads/main@{#1023528}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.