Missing Crashpad reports for WebView |
|||||||
Issue descriptionChrome Version: 73.0.3630.0 OS: android Crashpad has been enabled since 73.0.3630.0 but I haven't seen any WebView reports uploaded to crash/ yet: https://crash.corp.google.com/browse?q=product_name%3D%27AndroidWebView%27+AND+product.Version+LIKE+%2773.%25%27 Testing locally with the webview_instrumentation_apk shell appears to work fine. I suspect this issue is related to WebView's integration with other apps, which isn't emulated by webview_instrumentation_apk. Specifically, I suspect CLASSPATH/LD_LIBRARY_PATH and DIR_MODULE are set from paths to the embedding application and not from the WebView provider, resulting in the Crashpad handler executable not being found.
,
Dec 7
,
Dec 7
,
Dec 12
,
Dec 20
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd commit ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd Author: Joshua Peraza <jperaza@chromium.org> Date: Thu Dec 20 22:45:24 2018 android: build package paths using chrome's package Monochrome uses /system/bin/app_process to load a Java class, CrashpadMain, to start the Crashpad handler process. In order for app_process to locate this class and for CrashpadMain to be able to load the native libraries for Crashpad, CLASSPATH and LD_LIBRARY_PATH need to be set with all the paths containing code that the Chrome package depends on. Add PackagePaths to build these paths. This work is normally done internally by the Android framework: https://cs.corp.google.com/android/frameworks/base/core/java/android/app/LoadedApk.java?rcl=7b2b4c838be94e6ca7cfbb255523c800da4a0cce&l=422 Bug: 912739 Change-Id: I30e4952fb17fea42bdc995296c47cf8a9f440866 Reviewed-on: https://chromium-review.googlesource.com/c/1366763 Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Joshua Peraza <jperaza@chromium.org> Cr-Commit-Position: refs/heads/master@{#618363} [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/base/android/java/src/org/chromium/base/PathUtils.java [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/base/android/path_utils.cc [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/base/android/path_utils.h [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/components/crash/android/BUILD.gn [add] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/components/crash/android/java/src/org/chromium/components/crash/browser/PackagePaths.java [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/components/crash/content/app/BUILD.gn [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/components/crash/content/app/DEPS [modify] https://crrev.com/ab42c0a8eb6515d48b4b3ed2325a1a60292be5fd/components/crash/content/app/crashpad_linux.cc
,
Jan 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8778992567641cf606aac45f3ea5f6b741d64b42 commit 8778992567641cf606aac45f3ea5f6b741d64b42 Author: Joshua Peraza <jperaza@chromium.org> Date: Thu Jan 03 16:11:16 2019 Use app_process to launch crashpad for system webview When SystemWebview.apk is pre-installed in an Android image, native libraries are loaded from the apk, so libcrashpad_handler.so isn't available to exec directly. Bug: 912739 Change-Id: Ica26df15481ade6951dd5e330425d0ff50b45e05 Reviewed-on: https://chromium-review.googlesource.com/c/1366494 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Yaron Friedman <yfriedman@chromium.org> Commit-Queue: Joshua Peraza <jperaza@chromium.org> Cr-Commit-Position: refs/heads/master@{#619651} [modify] https://crrev.com/8778992567641cf606aac45f3ea5f6b741d64b42/android_webview/BUILD.gn [modify] https://crrev.com/8778992567641cf606aac45f3ea5f6b741d64b42/android_webview/system_webview_apk_tmpl.gni [modify] https://crrev.com/8778992567641cf606aac45f3ea5f6b741d64b42/android_webview/test/BUILD.gn [modify] https://crrev.com/8778992567641cf606aac45f3ea5f6b741d64b42/chrome/android/monochrome/scripts/monochrome_apk_checker.py [modify] https://crrev.com/8778992567641cf606aac45f3ea5f6b741d64b42/components/crash/android/java/src/org/chromium/components/crash/browser/PackagePaths.java
,
Jan 9
Is this now fixed? When will we know?
,
Jan 9
There haven't been any reports from webview on recent Crashpad enabled canaries. I tested this on emulators, but would likely have been affected by crbug.com/919806 which was fixed this morning. I'm working on trying to test that fix for webview on my phone now.
,
Jan 9
I'm not sure I can test this particular bit of integration on my non-debuggable phone, but I should be able to verify with the next canary.
,
Jan 10
Marking as M73 RBB for tracking.
,
Jan 11
There's been some improvement with 73.0.3667.2. There have been 2 browser crash reports uploaded for AndroidWebView, but reporting is still failing on my Pixel 2 because 32-bit libraries aren't being found: 01-11 08:44:58.573 11487 11519 E chromium: [ERROR:render_frame_impl.cc(1073)] Intentionally crashing (with null pointer dereference) because user navigated to chrome://crash/ 01-11 08:44:58.617 11602 11602 F libc : CANNOT LINK EXECUTABLE "/system/bin/app_process32": "/system/lib64/libandroid_runtime.so" is 64-bit instead of 32-bit 01-11 08:44:58.617 11602 11602 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 11602 (app_process32), pid 11602 (app_process32)
,
Jan 11
Is LD_RUN_PATH set?
,
Jan 11
LD_LIBRARY_PATH (I think that's what you meant) is set here: https://cs.chromium.org/chromium/src/components/crash/android/java/src/org/chromium/components/crash/browser/PackagePaths.java?rcl=7452ac61a0e663b6ee64f5a076d588b919eebe17&l=62 Reading further in the logcat I've realized this actually is a 64-bit process, but a typo has us launching the wrong app_process. https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1406867
,
Jan 11
> LD_LIBRARY_PATH (I think that's what you meant) It is. But this wasn’t the thread that you needed this time anyway.
,
Jan 14
,
Jan 15
Crash dumping and upload works for AndroidWebView at 73.0.3672.0 on my Pixel 2: https://crash.corp.google.com/browse?q=reportid=%27defb097ed7a2d52b%27#0 I'll keep an eye out for more WebView reports, but this looks fixed now. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by jperaza@chromium.org
, Dec 6