summaryrefslogtreecommitdiffstats
path: root/android_webview/crash_reporter
Commit message (Collapse)AuthorAgeFilesLines
* Distinguish in the browser between renderer crashes and killsmnaganov2016-01-082-3/+14
| | | | | | | | | | | | | | | | Use a pipe between a browser and a renderer, where the renderer writes something in case of a termination from a catchable signal. In case when the renderer is killed by the low memory killer, nothing gets written into the pipe. The browser then terminates itself in a fashion similar to the renderer. BUG=546009 Review URL: https://codereview.chromium.org/1525023003 Cr-Commit-Position: refs/heads/master@{#368251}
* [Android WebView] Update microdump generation for sandboxed renderersmnaganov2015-12-112-4/+3
| | | | | | | | | | | | | | | | | | | | | Now microdump handling has three modes depending on the process type: "webview" -- displays crash dialog, supports dump on demand; "" (browser) -- displays crash dialog, doesn't support dump on demand; "renderer" -- doesn't display crash dialog, no dump on demand. Dump on demand may be enabled later if we figure out how to do it properly for sandboxed renderers. Exported `InitMicrodumpCrashHandlerIfNecessary` as calling `InitNonBrowserCrashReporterForAndroid` for that purpose is misleading, and WebView doesn't need any of the functionality that it can enable. BUG=568825 Review URL: https://codereview.chromium.org/1518913002 Cr-Commit-Position: refs/heads/master@{#364766}
* Add a method for programmatically causing WebView to generate a minidump.tobiasjs2015-10-122-2/+20
| | | | | | | | | | | | | | | | | | | | | In certain (as yet undiagnosed) circumstances it seems possible for WebView instances to appear to become unresponsive, without crashing. In order to debug this case, add AwDebug.dumpWithoutCrashing(File) - which allows a caller to use the breakpad minidump mechanism to produce a dump that can be processed to extract useful information about the state of the WebView threads. (NOPRESUBMIT to bypass ScopedAllowIO restriction; per comment in aw_debug.cc, this is meant to be used when WebView is in an undefined state, and posting I/O to another thread is impossible) BUG=537579 NOPRESUBMIT=TRUE Review URL: https://codereview.chromium.org/1384823004 Cr-Commit-Position: refs/heads/master@{#353504}
* Add GPU fingerprint information to breakpad microdumps.tobiasjs2015-09-292-0/+9
| | | | | | | | | | | | | | | | | Although strictly the GPU fingerprint is defined by the build fingerprint, there is not currently a straightforward mapping from build fingerprint to useful GPU / GL driver information. In order to aid debugging of WebView crashes that occur in GL drivers, and to better understand the range of drivers and versions for feature blacklisting purposes, it is useful to have GPU fingerprints in breakpad microdumps. BUG= Review URL: https://codereview.chromium.org/1343713002 Cr-Commit-Position: refs/heads/master@{#351289}
* Turn components/crash into a layered component.sdefresne2015-09-181-2/+2
| | | | | | | | | | | | | | | The crash component cannot be used on iOS (as it depends on //content). Turn it into a layered component so that it is possible to put shared code related to crash there (components/crash_keys and objc_zombie.{h,mm}). BUG=522955 TBR=sky@chromium.org TBR=jschuh@chromium.org NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1315303004 Cr-Commit-Position: refs/heads/master@{#349643}
* Revert of Turn components/crash into a layered component. (patchset #6 ↵sdefresne2015-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/1315303004/ ) Reason for revert: This breaks Webkit layout tests. Original issue's description: > Turn components/crash into a layered component. > > The crash component cannot be used on iOS (as it depends on //content). > Turn it into a layered component so that it is possible to put shared > code related to crash there (components/crash_keys and objc_zombie.{h,mm}). > > BUG=522955 > TBR=sky@chromium.org > TBR=jschuh@chromium.org > NOPRESUBMIT=true > > Committed: https://crrev.com/4e483c64be5136b785e92c5baa971baca7eea2bc > Cr-Commit-Position: refs/heads/master@{#349384} TBR=blundell@chromium.org,jam@chromium.org,jschuh@chromium.org,mark@chromium.org,rsesek@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=522955 Review URL: https://codereview.chromium.org/1351923002 Cr-Commit-Position: refs/heads/master@{#349417}
* Turn components/crash into a layered component.sdefresne2015-09-171-2/+2
| | | | | | | | | | | | | | | The crash component cannot be used on iOS (as it depends on //content). Turn it into a layered component so that it is possible to put shared code related to crash there (components/crash_keys and objc_zombie.{h,mm}). BUG=522955 TBR=sky@chromium.org TBR=jschuh@chromium.org NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1315303004 Cr-Commit-Position: refs/heads/master@{#349384}
* android_webview: re-enable breakpad microdumps on x86.torne2015-08-241-7/+58
| | | | | | | | | | | | | | | | | | Implement "SafeToUseSignalHandler()" which detects whether the native bridge used for binary translation is currently in use and whether it is of a sufficiently recent version to avoid interfering with breakpad's signal handler, and use it to allow microdump generation on x86 devices in conditions where this is safe. We will generate dumps when running in processes with pure x86 code, or when running on devices that are emulating ARM code using version 2 or higher of the native bridge library. BUG=477444 Review URL: https://codereview.chromium.org/1290643003 Cr-Commit-Position: refs/heads/master@{#345039}
* android-webview: Add WebView version to microdumps.primiano2015-05-261-0/+6
| | | | | | | | | | | | | | | | | | | Add the plumbing to return the right product name and version to breakpad, which will be propagated into the microdump. The new microdump output looks as follows: --------- beginning of main W/google-breakpad(25214): -----BEGIN BREAKPAD MICRODUMP----- W/google-breakpad(25214): V WebView:44.0.2403.0 W/google-breakpad(25214): O A arm 04 google/occam/mako:5.1.1/LMY48D/1906941:userdebug/dev-keys [the rest is unchanged] BUG=456494,457700 TBR=torne@chromium.org Review URL: https://codereview.chromium.org/1159773002 Cr-Commit-Position: refs/heads/master@{#331341}
* [android-webview] Disable breakpad microdumps on x86/64primiano2015-04-161-0/+8
| | | | | | | | | | | | | | | An intricate entangling of libsigchain, sigaction() chaining and user-space SIGSEGV handling by binary translator cause persistent crashes when a SIGSEGV handler is installed by a x86 library on a hybrid application which uses both Arm and x86 libraries. Backing out the crash handler as a temporary workaround. More context in the related bug. BUG=477444 Review URL: https://codereview.chromium.org/1089303002 Cr-Commit-Position: refs/heads/master@{#325438}
* Remove android_webview_build conditions in android_webview.torne2015-03-311-21/+0
| | | | | | | | | | | | | Remove references to android_webview_build now that we no longer support that build configuration. Fold conditions into their parents where appropriate. Activate a CHECK() that was previously omitted due to incompatibility with android_webview_build==1. BUG=440793 Review URL: https://codereview.chromium.org/1043173002 Cr-Commit-Position: refs/heads/master@{#323031}
* [android-webview] Enable breakpad microdump crash reportingprimiano2015-02-094-0/+94
This CL: - Pulls in the dependencies required to build breakpad and the crash component. - Introduces a crash reporter for WebView which unconditionally enables microdumps (but not minidump uploads). - Introduces a fallback no-op implementation which avoids the burden of importing and supporting breakpad in the internal Android builds (which are going to be deprecated soon). Impact of this change on the WebView APK size: Before the change: 25700337 bytes After the change: 25720974 bytes Delta: 20637 bytes Impact of this change on the uncompressed libwebviewchromium.so lib: Before the change: 28547980 bytes After the change: 28576844 bytes Delta: 28864 bytes BUG=410294, 456494 TBR=mark@chromium.org Review URL: https://codereview.chromium.org/902093003 Cr-Commit-Position: refs/heads/master@{#315357}