New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 823420 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

App Crash in Android WebView - libc : Fatal signal 5 (SIGTRAP)

Reported by testinga...@gmail.com, Mar 19 2018

Issue description

Steps to reproduce the problem:
We have an Android app that uses a WebView to display an HTML-based UI and JavascriptInterface to communicate between Android and WebView.

Application crash from WebView is noticed in following case.

Precondition: Device has less then 10% free memory.
- In this case application runs check for less frequently used apps, storage details like Audio, Video, Images and other files, application cache, thumbnails etc.

- These information is displayed on Webview.

In this section randomly app crash happens. From Logs looks like Android ActivityManager is force finishing app.

What is the expected behavior?
App should not crash

What went wrong?
Following are crash log summary, full crash logs are attached in this defect.

=================
App Crash LG H931
=================

02-28 13:53:58.278 F/google-breakpad(19214): -----BEGIN BREAKPAD MICRODUMP-----
02-28 13:53:58.278 F/google-breakpad(19214): V AndroidWebView:64.0.3282.137

02-28 13:54:01.069 W/ActivityManager( 1938):   Force finishing activity com.aetherpal.attdh.lg.debug/com.aetherpal.smartcare.DeviceHelpHome

02-28 13:54:01.252 E/InputDispatcher( 1938): channel '3d1abcc com.aetherpal.attdh.lg.debug/com.aetherpal.smartcare.DeviceHelpHome (server)' ~ Channel is unrecoverably broken and will be disposed!

--------- beginning of crash
02-28 11:22:32.674 F/google-breakpad(12069): -----BEGIN BREAKPAD MICRODUMP-----
02-28 11:22:32.674 F/google-breakpad(12069): V AndroidWebView:64.0.3282.137
02-28 11:22:32.674 F/google-breakpad(12069): O A arm64 08 aarch64 lge/joan_att_us/joan:8.0.0/OPR1.170623.026/18009124688de:userdebug/test-keys
02-28 11:22:32.674 F/google-breakpad(12069): P browser
02-28 11:22:32.674 F/google-breakpad(12069): R 00000005 SIGTRAP 00000070EAD76594
02-28 11:22:32.674 F/google-breakpad(12069): G 

02-28 11:22:36.228 I/LGPackageLabelService( 3169): getPackageLabel, packageName: com.aetherpal.attdh.lg.debug, resid: 2131230808, text: cs is null
02-28 11:22:36.235 I/ActivityManager( 1938): Showing crash dialog for package com.aetherpal.attdh.lg.debug u0

=====================
App Crash ZTE K92
=====================

03-16 09:49:19.583  9403  9449 W google-breakpad: Microdump crash handler failed.
03-16 09:49:19.583  9403  9449 F libc    : Fatal signal 5 (SIGTRAP), code 1 in tid 9449 (Chrome_InProcGp)
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
pid: 9403, tid: 9403, name: erpal.attdh.zte  >>> com.aetherpal.attdh.zte <<<
    x0   0000007f95a44758  x1   0000000000000089  x2   0000000000000c18  x3   0000000000000000

backtrace:
    #00 pc 000000000001c16c  /system/lib64/libc.so (syscall+28)
    #01 pc 00000000000e7ac8  /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
    #02 pc 000000000037ad88  /system/lib64/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadElibNS_11ThreadStateE+660)
    #03 pc 000000000054e980  /system/framework/arm64/boot.oat (offset 0x54e000) (java.lang.Object.wait+140)
    #04 pc 0000000000606f4c  /system/framework/arm64/boot.oat (offset 0x54e000) (java.lang.Thread.parkFor$+312)

WebStore page: 

Did this work before? N/A 

Chrome version: 64.0.3282.137  Channel: stable
OS Version: 7.0
Flash Version:
 
AppCrash_Feb_28.txt
9.5 MB View Download
bugreport-NMF26V-2018-03-16-09-49-29.zip (Unzipped Files)-20180316T152236Z-001.zip
3.5 MB Download
Labels: Needs-triage-Mobile
Cc: sandeepkumars@chromium.org
Labels: Triaged-Mobile Needs-Feedback
@testingaetherpal: Thanks for the report!!

Could you please update WebView to latest #65.0.3325.109 and check if you still face the issue? If so attach a sample app or .apk file where you're seeing this issue?

Thanks!!
The crash is reproduced using latest Webview #65.0.3325.109. Please find attached logs. We are trying to make sample app to reproduce issue, but it is difficult because this app need system permissions. Also It is not always reproducible. 

Is it possible to get some hint from logs?
bugreport-NMF26V-2018-03-20-17-19-26.zip
3.3 MB Download
Project Member

Comment 4 by sheriffbot@chromium.org, Mar 21 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: -Platform>Apps Mobile>WebView
Labels: Stability-Sheriff-Android
As per the above comment, this issue seems to be intermittently reproducible. 

Unable to reproduce the issue as we don't have any sample .apk or app to check the issue.

This looks to be a breakpad Crash as per the above, hence adding Stability-Sheriff-Android for further triaging of the issue.

Thanks!!
I see no microdump in the bugreport from comment #3 (the crash in WebView 65), however there is a microdump in the bugreport from the original post (crash in WebView 64):

Thread 0 (crashed)
 0  libmonochrome.so!gl::GLFenceEGL::ServerWait() [gl_fence_egl.cc : 68 + 0x0]
 1  libmonochrome.so!gpu::gles2::MailboxManagerSync::PullTextureUpdates(gpu::SyncToken const&) [mailbox_manager_sync.cc : 72 + 0x0]
 2  libmonochrome.so!gpu::GpuCommandBufferStub::OnWaitSyncToken(gpu::SyncToken const&) [gpu_command_buffer_stub.cc : 1123 + 0x10]
 3  libmonochrome.so!gpu::gles2::GLES2DecoderImpl::HandleWaitSyncTokenCHROMIUM(unsigned int, void const volatile*) [gles2_cmd_decoder.cc : 16461 + 0xc]
 4  libmonochrome.so!gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*) [gles2_cmd_decoder.cc : 5465 + 0x0]
 5  libmonochrome.so!gpu::CommandBufferService::Flush(int, gpu::AsyncAPIInterface*) [command_buffer_service.cc : 90 + 0x8]
 6  libmonochrome.so!gpu::GpuCommandBufferStub::OnAsyncFlush(int, unsigned int, bool) [gpu_command_buffer_stub.cc : 1002 + 0x4]
 7  libmonochrome.so!void IPC::DispatchToMethod<gpu::GpuCommandBufferStub, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, bool), void, std::__ndk1::tuple<int, unsigned int, bool> >(gpu::GpuCommandBufferStub*, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, bool), void*, std::__ndk1::tuple<int, unsigned int, bool>&&) [ipc_message_templates.h : 51 + 0x8]
 8  libmonochrome.so!bool IPC::MessageT<GpuCommandBufferMsg_AsyncFlush_Meta, std::__ndk1::tuple<int, unsigned int, bool>, void>::Dispatch<gpu::GpuCommandBufferStub, gpu::GpuCommandBufferStub, void, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, bool)>(IPC::Message const*, gpu::GpuCommandBufferStub*, gpu::GpuCommandBufferStub*, void*, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, bool)) [ipc_message_templates.h : 146 + 0x14]
 9  libmonochrome.so!gpu::GpuCommandBufferStub::OnMessageReceived(IPC::Message const&) [gpu_command_buffer_stub.cc : 289 + 0x1c]
10  libmonochrome.so!gpu::GpuChannel::HandleMessageHelper(IPC::Message const&) [gpu_channel.cc : 520 + 0x4]
11  libmonochrome.so!gpu::GpuChannel::HandleMessage(IPC::Message const&) [gpu_channel.cc : 496 + 0x8]
12  libmonochrome.so!gpu::Scheduler::RunNextTask() [callback.h : 65 + 0x0]
13  libmonochrome.so!base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) [callback.h : 65 + 0x0]
14  libmonochrome.so!base::MessageLoop::RunTask(base::PendingTask*) [message_loop.cc : 391 + 0x4]
15  libmonochrome.so!base::MessageLoop::DoWork() [message_loop.cc : 403 + 0x8]
16  libmonochrome.so!base::MessagePumpDefault::Run(base::MessagePump::Delegate*) [message_pump_default.cc : 37 + 0xc]
17  libmonochrome.so!<name omitted> [run_loop.cc : 114 + 0x8]
18  libmonochrome.so!base::Thread::ThreadMain() [thread.cc : 338 + 0xc]
19  libmonochrome.so!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0xc]
20  libc.so + 0x67bc4

Cc: boliu@chromium.org tobiasjs@chromium.org
cc'ing Toby and Bo because of the stack trace in comment #6.

Comment 8 by boliu@chromium.org, Mar 22 2018

Line 68 on m64 was CHECK(g_ignore_egl_sync_failures); ie an intentional crash due to driver error on things that's not supposed to through error. Probably not relevant

Comment 9 by ssid@chromium.org, Mar 27 2018

As #6 says the first log file contains 2 crashes at CHECK(g_ignore_egl_sync_failures). The second log from m65 has errors that say "Microdump crash handler failed". We might have to fix breakpad in M65. But, I guess the reason for crash should be the same and there is some issue with the GL driver on the device?

Comment 10 by boliu@chromium.org, Mar 27 2018

Status: WontFix (was: Unconfirmed)
If GLFenceEGL crash is the only thing reported here, then it's definitely driver bug without workaround, which we generally don't bother doing anything with unless volume is high.

Sign in to add a comment