commit | 66b2e0f1b0a8d4fd5ced145eeca9ad88e92ddc69 | [log] [tgz] |
---|---|---|
author | Joshua Peraza <jperaza@chromium.org> | Mon Dec 03 00:06:28 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Dec 03 00:06:28 2018 |
tree | cfa86a5a39cf32f5977e1a84962e3e6f2da32fe1 | |
parent | 5728e29764f5bf1f24f766bade7de16f1466c1f3 [diff] |
Enable Crashpad for Android Overview: This CL disables Breakpad for Chrome, Content Shell, WebView, and Chromecast on Android and replaces it with Crashpad. When a crash signal is received, the browser forks+execs a Crashpad handler process either for itself or on behalf of a crashing child to create a crash dump. components/crash/ - Remove CrashDumpManager. Minidump creation is handled entirely by Crashpad. - Remove OnChildStart from ChildExitObserver as it is no longer necessary. - ChildExitObserver observers CrashHandlerHost to be notified when child processes receive crash signals. - De-duplicate calls to ChildExitObserver::Client::OnChildExit when NOTIFICATION_RENDER_PROCESS_{CLOSED, TERMINATED} are both sent. components/minidump_uploader/ - Uploaders expect crash reports to already be MIME encoded since Breakpad was doing that in a signal handler call-back. CrashFileManager now automatically calls into native code to do the encoding and write to a directory of crash reports whenever it checks for reports without logcats. chrome/app/*.{cc,h} chrome/browser/*.cc content/shell/app/*.{cc,h} content/shell/browser/*.cc - Initialize Crashpad instead of Breakpad, with minor cleanup and adjustment for changes to CrashDumpObserver. chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc - Simulate crashes/exits with NOTIFICATION_RENDER_PROCESS_{CREATED, CLOSED} and signals sent to ChildExitObserver instead of a crash dump. android_webview/ - AwBrowserTerminator now observes child process crashes via ChildExitObserver rather than its own pipe. - Crashpad always produces minidumps, and not microdumps. - Disabling Crashpad is not yet supported. chromecast/ - There are now two directories that crash report uploaders should be aware of: "Crashpad" contains a database of raw minidumps produced by Crashpad, and "Crash Reports" contains MIME encoded minidumps. MIME encoding is performed by a CrashReportMimeWriter in CastCrashUploader.java:checkForCrashDumps(). Bug: crashpad:30 Cq-Include-Trybots: master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg Change-Id: I0efa451585f60287853c47f860f09ced581c8958 Reviewed-on: https://chromium-review.googlesource.com/c/989401 Commit-Queue: Joshua Peraza <jperaza@chromium.org> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Peter Wen <wnwen@chromium.org> Reviewed-by: Luke Halliwell <halliwell@chromium.org> Reviewed-by: Simeon Anfinrud <sanfin@chromium.org> Reviewed-by: Yaron Friedman <yfriedman@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Cr-Commit-Position: refs/heads/master@{#612987}
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.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .