WebView's breakpad Microdump crash handler failed in Android 7.1.1
Reported by
julian....@mediatek.com,
Feb 3 2017
|
|||
Issue description
This issue occurs on both Mediatek platform and Nexus 6 with Android 7.0+.
We also install the same WebView in Android 6.0, breakpad works well.
After tracing, we found the MicrodumpWriter init failed due to the return value of sys_open("/proc/<pid>/auxv", ...) < 0
https://cs.chromium.org/chromium/src/breakpad/src/client/linux/minidump_writer/linux_dumper.cc?q=LinuxDumper::ReadAuxv+package:%5Echromium$&l=455
Device name: Nexus 6
Android version: 7.1.1 N6F26Q
WebView version : 53.0.2785.135
Chrome Beta (monochrome): 57.0.2987.19
Application: App using WebView
URLs (if applicable): N/A
Steps to reproduce:
(1) Connect device with USB, then "adb shell" (with root permission)
(2) # kill -11 $PID
(3) Check the logcat
Expected result:
Breakpad dumps Microdump report in logcat
Actual result:
Only 1 line was dumped:
02-03 06:05:27.552: W/google-breakpad(8896): Microdump crash handler failed.
,
Feb 3 2017
This is likely my fault. Microdumping was broken between 57.0.2987.0 and 58.0.2993.0. It's also fixed on the m57 branch by https://chromereviews.googleplex.com/567907016/, but I don't know what revision that corresponds to.
,
Feb 3 2017
The breakpad roll went into 57.0.2987.11, so if the reporter is using that beta as their webview implementation it should already be fixed. Please just give us a full log/bugreport; a single line out of context like this is useless (I did request this on the other bug).
,
Feb 6 2017
The WebView implementation in My Nexus 6 is Chrome Beta 57.0.2987.19, bugreport attached. But breakpad doesn't work neither if switching to Chrome Stable 53.0.2785.135.
,
Feb 6 2017
Can you also provide the log of what happens when you try with 53?
,
Feb 6 2017
I can't reproduce this - using the exact same build on a nexus 6 and the same chrome beta 57.0.2987.19, I get a microdump when I kill -11 the htmlviewer process. I notice you're running "com.android.browser" - what actual app is this? We removed the stock browser from AOSP some time ago and it's no longer maintained or supported. Maybe whatever app you have there is doing something weird with signal handling? Try reproducing using another webview app; HTMLViewer?
,
Feb 7 2017
I attach the log running htmlviewer wich using WebView implementation: Chrome Stable 53.0.2785.135
,
Feb 7 2017
So that log shows the exact same behaviour. We definitely can't reproduce this. It works perfectly for me on the exact same build and device, and we get reports from the field demonstrating that it works for the general population as well. It seems like it must be some issue with how you're setting up the devices you're using to test this. One thing that I notice is that you're running adb shell as root to be able to kill the process, but you're testing on a user/release-keys build. How are you running adb as root on this device? user builds don't permit root access. Have you installed a root exploit? (because that might have changed/broken basically anything about the system).
,
Feb 8 2017
Yes, the Nexus 6 is rooted for debug purpose. Would you provide the steps to trigger breakpad microdump without root? Our reference devices are using user/release-keys build. We think the breakpad problem we Encountered is a platform issue: breakpad tried to open a file (/proc/<crashed_process_pid>/auxv) from the child process, and the return value is -1 (EPERM? Operation not permitted). But we don't find related SELinux error in log.
,
Feb 8 2017
Loading chrome://crash in a webview will cause a deliberate crash. You can do this with any browser-like app that has a URL bar (such as the webview test shell), or by just calling loadUrl from an app. There's not much point in testing things on a device rooted using third party tools - this is a modified image that no longer has any guarantees about how it behaves. If you need root capabilities you should just build your own userdebug or eng image from AOSP source code, not hack up a user build. /proc/<pid>/auxv is opened successfully on all devices/versions I've tested on. There's no evidence that there's a general platform issue here: we get plenty of crash reports with microdumps across all OS versions and device types from the field.
,
Feb 9 2017
Update status: Breakpad works when running webview shell test, both Nexus 6 and Mediatek based devices.
,
Feb 9 2017
OK, so that sounds like breakpad is working as expected and your issues are caused by some modification made by whatever third party tools you were using to get root on a user image. That still doesn't explain why it wasn't working in issue 684217 though, which was a real crash happening on an eng image where presumably you hadn't modified the system in weird ways. Is that issue still reproducible for you?
,
Sep 5 2017
This is probably a dupe of Issue 748414
,
Oct 2 2017
Closing this because it sounds like it's not reproducible anymore (re #12). Primiano, feel free to dupe this against your issue. |
|||
►
Sign in to add a comment |
|||
Comment 1 by torne@chromium.org
, Feb 3 2017