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:
,
Mar 20 2018
@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!!
,
Mar 21 2018
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?
,
Mar 21 2018
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
,
Mar 22 2018
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!!
,
Mar 22 2018
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
,
Mar 22 2018
cc'ing Toby and Bo because of the stack trace in comment #6.
,
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
,
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?
,
Mar 27 2018
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 |
||||||
Comment 1 by pnangunoori@chromium.org
, Mar 20 2018