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

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocked on:
issue 878018
issue 878073

Blocking:
issue 823540



Sign in to add a comment
link

Issue 839769: "Rats! WebGL hit a snag" on Galaxy S7

Reported by romanov....@gmail.com, May 4 2018

Issue description

Example URL:
https://www.blend4web.com/apps/space_disaster/space_disaster.html

Steps to reproduce the problem:
1. load the mentioned page
2. press on play button
3. the WebGL context will be lost

What is the expected behavior?
The WebGL app will work correctly

What went wrong?
The app can't work correctly due to WebGL context lost

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 66.0.3359.126  Channel: stable
OS Version: 7
Flash Version: 

Firefox on the same device handle this page without issues.
Similar issue occurres with http://nordnx7r.beget.tech/lab319/index.php
(press any green button to open an application)
 

Comment 1 by romanov....@gmail.com, May 4 2018

Typo: Galaxy S7

Comment 2 by bokan@chromium.org, May 4 2018

Components: -Blink Blink>WebGL
Worked ok on a Nexus 6 but over to WebGL to triage further.

Comment 3 by khushals...@chromium.org, May 4 2018

Labels: Needs-TestConfirmation
Requesting a repro from the test team.

Comment 4 by khushals...@chromium.org, May 4 2018

Cc: pbomm...@chromium.org manoranj...@chromium.org

Comment 5 by pnangunoori@chromium.org, May 7 2018

Labels: Needs-triage-Mobile

Comment 6 by sandeepkumars@chromium.org, May 7 2018

Cc: sandeepkumars@chromium.org
Labels: -Needs-TestConfirmation FoundIn-66 M-68 FoundIn-67 Triaged-Mobile FoundIn-68
Status: Untriaged (was: Unconfirmed)
Tested the issue using #66.0.3359.126 on Android Samsung J7; 7.0.0 and could reproduce the issue as per the steps mentioned below.

Steps:
1. Launched Browser
2. Navigated to https://www.blend4web.com/apps/space_disaster/space_disaster.html
3. Observed Rats! WebGL hit a snag error

This is a Non-Regression issue as same behavior is seen since M58. Marking as Untriaged for further inputs.

Unable to provide video and log's as the site is taking lot more time to load.

Thanks!!

Comment 7 by enne@chromium.org, Aug 17

Owner: kbr@chromium.org
Status: Assigned (was: Untriaged)
Assigning to kbr to investigate/triage.

Comment 8 by kbr@chromium.org, Aug 23

Labels: Needs-Feedback
I can reproduce an apparent GPU process crash on a Galaxy S7 but due to an internal bug (b/113075663) I can't quickly get a stack trace for them.

Submitter, could you copy/paste the contents of the about:crashes page here? Perhaps there are some which have already been symbolized and which would point to a cause.

Comment 9 by kbr@chromium.org, Aug 23

Labels: -Needs-Feedback
For the record, here are a couple of my own crash IDs (generated with Chrome Canary):

cf1ecf6bc210b868
80bd274eaf16af2b

The latter was just symbolized. I'll follow up next.

Comment 10 by kbr@chromium.org, Aug 23

It looks like these pages are causing the GPU in this phone (an ARM Mali-T880) to hang. Here's the stack trace from the second crash report above:

Thread 9 (id: 0x39b) MAGIC SIGNATURE THREAD
Stack Quality8%Show frame trust levels
0xe97bd4b8	(libc.so + 0x000174b8 )	
0xe9833006	(libpdfium.so + 0x00001006 )	
0xd3a0645e	(libGLES_mali.so + 0x005a045e )	
0xd3a0886a	(libGLES_mali.so + 0x005a286a )	
0xe9833006	(libpdfium.so + 0x00001006 )	
0xd3750a4a	(libGLES_mali.so + 0x002eaa4a )	
0xd3783f0e	(libGLES_mali.so + 0x0031df0e )	
0xcf09cb32	(libwebviewchromium32.relro + 0x00053b32 )	
0xe8a8f349	(libEGL.so + 0x0000d349 )	
0xcddfcba9	(libmonochrome.so -gl_surface_presentation_helper.cc:45 )	gl::GLSurfacePresentationHelper::Frame::~Frame()
0xce4b615f	(libmonochrome.so -gl_surface_presentation_helper.cc:141 )	gl::GLSurfacePresentationHelper::PreSwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
0xe5d55936		
0xcddfc8ed	(libmonochrome.so -gl_surface_egl.cc:1188 )	gl::NativeViewGLSurfaceEGL::SwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
0xcddfc77d	(libmonochrome.so -pass_through_image_transport_surface.cc:57 )	gpu::PassThroughImageTransportSurface::SwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
0xcddfc43b	(libmonochrome.so -gles2_cmd_decoder.cc:15735 )	gpu::gles2::GLES2DecoderImpl::DoSwapBuffers(unsigned long long, unsigned int)
0xcddfc009	(libmonochrome.so -gles2_cmd_decoder_autogen.h:4569 )	gpu::gles2::GLES2DecoderImpl::HandleSwapBuffers(unsigned int, void const volatile*)
0xcddc0c41	(libmonochrome.so -gles2_cmd_decoder.cc:5654 )	gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*)
0xcddc08ff	(libmonochrome.so -command_buffer_service.cc:69 )	gpu::CommandBufferService::Flush(int, gpu::AsyncAPIInterface*)
0xcddc078d	(libmonochrome.so -command_buffer_stub.cc:619 )	gpu::CommandBufferStub::OnAsyncFlush(int, unsigned int)
0xcddc06fb	(libmonochrome.so -tuple.h:60 )	void IPC::DispatchToMethod<TtsDispatcher, void (TtsDispatcher::*)(int, int), void, std::__ndk1::tuple<int, int> >(TtsDispatcher*, void (TtsDispatcher::*)(int, int), void*, std::__ndk1::tuple<int, int>&&)
0xcddc0699	(libmonochrome.so -ipc_message_templates.h:146 )	bool IPC::MessageT<GpuCommandBufferMsg_AsyncFlush_Meta, std::__ndk1::tuple<int, unsigned int>, void>::Dispatch<gpu::CommandBufferStub, gpu::CommandBufferStub, void, void (gpu::CommandBufferStub::*)(int, unsigned int)>(IPC::Message const*, gpu::CommandBufferStub*, gpu::CommandBufferStub*, void*, void (gpu::CommandBufferStub::*)(int, unsigned int))
0xcddbf0e7	(libmonochrome.so -command_buffer_stub.cc:280 )	gpu::CommandBufferStub::OnMessageReceived(IPC::Message const&)
0xcddab4cb	(libmonochrome.so -gpu_channel.cc:532 )	gpu::GpuChannel::HandleMessageHelper(IPC::Message const&)
0xcddbeeb7	(libmonochrome.so -gpu_channel.cc:508 )	gpu::GpuChannel::HandleMessage(IPC::Message const&)
0xcddbeb2f	(libmonochrome.so -callback.h:99 )	gpu::Scheduler::RunNextTask()
0xcda99011	(libmonochrome.so -callback.h:99 )	base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)
0xcda98be7	(libmonochrome.so -message_loop.cc:431 )	base::MessageLoop::RunTask(base::PendingTask*)
0xcda737e7	(libmonochrome.so -message_loop.cc:442 )	base::MessageLoop::DoWork()
0xcdad489b	(libmonochrome.so -message_pump_default.cc:37 )	base::MessagePumpDefault::Run(base::MessagePump::Delegate*)
0xcda73571	(libmonochrome.so -run_loop.cc:102 )	base::RunLoop::Run()
0xcdd82973	(libmonochrome.so -gpu_main.cc:347 )	content::GpuMain(content::MainFunctionParams const&)
0xcda6f503	(libmonochrome.so -content_main_runner_impl.cc:892 )	content::ContentMainRunnerImpl::Run(bool)
0xcda644ab	(libmonochrome.so -main.cc:472 )	service_manager::Main(service_manager::MainParams const&)
0xcda640fd	(libmonochrome.so -content_main.cc:53 )	Java_org_chromium_content_app_ContentMain_nativeStart
0xc6dd17e5	(base.odex + 0x012177e5 )	
0xdcf39932	(dalvik-LinearAlloc_3277_3277 (deleted) + 0x00003932 )	
0x12d1cc9e	(dalvik-main space_3277_3277 (deleted) + 0x0011cc9e )	
0x12d1cc9e	(dalvik-main space_3277_3277 (deleted) + 0x0011cc9e )	
0x12d03c7e	(dalvik-main space_3277_3277 (deleted) + 0x00103c7e )	
0x12d069ae	(dalvik-main space_3277_3277 (deleted) + 0x001069ae )	
0x12d3c6ee	(dalvik-main space_3277_3277 (deleted) + 0x0013c6ee )	
0x12d3b87e	(dalvik-main space_3277_3277 (deleted) + 0x0013b87e )	
0xc723bc1b	(base.odex + 0x01681c1b )	
0xdcf37a6e	(dalvik-LinearAlloc_3277_3277 (deleted) + 0x00001a6e )	
0xdcf37a6e	(dalvik-LinearAlloc_3277_3277 (deleted) + 0x00001a6e )	


Confirmed that Firefox Nightly on the phone renders https://www.blend4web.com/apps/space_disaster/space_disaster.html correctly.

I'll see if it looks like one of Chrome's graphics driver bug workarounds is adversely impacting the shaders from this page.

Comment 11 by kbr@chromium.org, Aug 27

Blockedon: 878018

Comment 12 by kbr@chromium.org, Aug 27

Blockedon: 878073

Comment 13 by kbr@chromium.org, Aug 27

Cc: penghuang@chromium.org
Status: Started (was: Assigned)
Attempting to track this down without much success.

1) Turned off all shader translator options except:
SH_OBJECT_CODE
SH_VARIABLES
SH_ENFORCE_PACKING_RESTRICTIONS
SH_LIMIT_EXPRESSION_COMPLEXITY
SH_LIMIT_CALL_STACK_DEPTH

None of these affects the translated shader source significantly. https://www.blend4web.com/apps/space_disaster/space_disaster.html still hangs after attempting to start it.

2) Disallowed webcam access from the site, to see if uploading camera frames was what was causing the hang. Still hangs upon start.

3) Disabled the use of timestamps for frame presentation by commenting out the instantiation of the presentation_helper_ here on suggestion from penguhang@:
https://cs.chromium.org/chromium/src/ui/gl/gl_surface_egl.cc?type=cs&q=GLSurfacePresentationHelper&sq=package:chromium&g=0&l=1089

This didn't work; it yielded renderer process crashes of the form:
Stack Trace:
  RELADDR   FUNCTION                          FILE:LINE
  0004a1c0  <UNKNOWN>                         /system/lib/libc.so
  00047953  <UNKNOWN>                         /system/lib/libc.so
  0001d955  <UNKNOWN>                         /system/lib/libc.so
  000194a1  <UNKNOWN>                         /system/lib/libc.so
  000170e8  <UNKNOWN>                         /system/lib/libc.so
  v------>  base::debug::(anonymous namespace)::DebugBreak() ../../base/debug/debugger_posix.cc:229:5
  0013c2fd  base::debug::BreakDebugger()      ../../base/debug/debugger_posix.cc:263:0
  000e0fe5  logging::LogMessage::~LogMessage()../../base/logging.cc:865:7
  0012a929  cc::LayerTreeHostImpl::MakeCompositorFrameMetadata() ../../cc/trees/layer_tree_host_impl.cc:1926:5
  0012b0f5  cc::LayerTreeHostImpl::GenerateCompositorFrame(cc::LayerTreeHostImpl::FrameData*) ../../cc/trees/layer_tree_host_impl.cc:2125:43
  0012ae35  cc::LayerTreeHostImpl::DrawLayers(cc::LayerTreeHostImpl::FrameData*) ../../cc/trees/layer_tree_host_impl.cc:2049:27
  001462cd  cc::ProxyImpl::DrawInternal(bool) ../../cc/trees/proxy_impl.cc:670:21
  0014619b  cc::ProxyImpl::ScheduledActionDrawIfPossible() ../../cc/trees/proxy_impl.cc:534:10
  000fcce9  cc::Scheduler::DrawIfPossible()   ../../cc/scheduler/scheduler.cc:703:32
  000fad0b  cc::Scheduler::ProcessScheduledActions()                    ../../cc/scheduler/scheduler.cc:804:9
  000fcc1d  cc::Scheduler::OnBeginImplFrameDeadline()                   ../../cc/scheduler/scheduler.cc:691:3
  000fd1ab  void base::internal::Invoker<base::internal::BindState<void (cc::Scheduler::*)(), base::internal::UnretainedWrapper<cc::Scheduler> >, void ()>::RunImpl<void (cc::Scheduler::*)(), std::__ndk1::tuple<base::internal::UnretainedWrapper<cc::Scheduler> >, 0u>(void (cc::Scheduler::*&&)(), std::__ndk1::tuple<base::internal::UnretainedWrapper<cc::Scheduler> >&&, std::__ndk1::integer_sequence<unsigned int, 0u>)  ../../base/bind_internal.h:689:12
  000fd2af  base::OnceCallback<void ()>::Run() &&                       ../../base/callback.h:99:12
  000ccb37  base::OnceCallback<void ()>::Run() &&                       ../../base/callback.h:99:12
  000d5335  base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)                                                                                  ../../base/debug/task_annotator.cc:101:33
  001119a3  base::sequence_manager::internal::ThreadControllerImpl::DoWork(base::sequence_manager::internal::ThreadControllerImpl::WorkType)                      ../../base/task/sequence_manager/thread_controller_impl.cc:178:23
  000ccb37  base::OnceCallback<void ()>::Run() &&                       ../../base/callback.h:99:12
  000d5335  base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)                                                                                  ../../base/debug/task_annotator.cc:101:33
  000e5d67  base::MessageLoop::RunTask(base::PendingTask*)              ../../base/message_loop/message_loop.cc:434:46
  000e5f3f  base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) ../../base/message_loop/message_loop.cc:445:5
  000e6029  base::MessageLoop::DoWork()       ../../base/message_loop/message_loop.cc:517:16
  000e7f4b  base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ../../base/message_loop/message_pump_default.cc:37:31
  000e5b6d  base::MessageLoop::Run(bool)      ../../base/message_loop/message_loop.cc:386:12
  000fada7  base::RunLoop::Run()              ../../base/run_loop.cc:102:14
  00124167  base::Thread::Run(base::RunLoop*) ../../base/threading/thread.cc:262:13
  001243e1  base::Thread::ThreadMain()        ../../base/threading/thread.cc:357:3
  0014528b  base::(anonymous namespace)::ThreadFunc(void*)              ../../base/threading/platform_thread_posix.cc:76:13
  00047423  <UNKNOWN>                         /system/lib/libc.so
  00019efd  <UNKNOWN>                         /system/lib/libc.so


4) Attempted to attach gdb to the GPU process to catch any crashes as they happened. Not possible because Samsung broke run-as and therefore gdb debugging:  Issue 878073 . No system update available for this device.


Note that I can also reproduce hangs (and apparent GPU process crashes) with http://nordnx7r.beget.tech/lab319/index.php .

Comment 14 by kbr@chromium.org, Aug 27

Blocking: 823540
Labels: -Pri-2 Pri-1
Owner: penghuang@chromium.org
Status: Assigned (was: Started)
A few GPU process crash reports from this device:

http://crash/c1cbbe4eb9794dc0
http://crash/cf1ecf6bc210b868
http://crash/80bd274eaf16af2b

They all point to the GLSurfacePresentationHelper hanging:

	0xe97bd4b8	(libc.so + 0x000174b8 )	
0xe9833006	(libpdfium.so + 0x00001006 )	
0xd3a0645e	(libGLES_mali.so + 0x005a045e )	
0xd3a0886a	(libGLES_mali.so + 0x005a286a )	
0xe9833006	(libpdfium.so + 0x00001006 )	
0xd3750a4a	(libGLES_mali.so + 0x002eaa4a )	
0xd3783f0e	(libGLES_mali.so + 0x0031df0e )	
0xcf09cb32	(libwebviewchromium32.relro + 0x00053b32 )	
0xe8a8f349	(libEGL.so + 0x0000d349 )	
0xcddfcba9	(libmonochrome.so -gl_surface_presentation_helper.cc:45 )	gl::GLSurfacePresentationHelper::Frame::~Frame()
0xce4b615f	(libmonochrome.so -gl_surface_presentation_helper.cc:141 )	gl::GLSurfacePresentationHelper::PreSwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
0xe5d55936		
0xcddfc8ed	(libmonochrome.so -gl_surface_egl.cc:1188 )	gl::NativeViewGLSurfaceEGL::SwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
0xcddfc77d	(libmonochrome.so -pass_through_image_transport_surface.cc:57 )	gpu::PassThroughImageTransportSurface::SwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
0xcddfc43b	(libmonochrome.so -gles2_cmd_decoder.cc:15735 )	gpu::gles2::GLES2DecoderImpl::DoSwapBuffers(unsigned long long, unsigned int)
0xcddfc009	(libmonochrome.so -gles2_cmd_decoder_autogen.h:4569 )	gpu::gles2::GLES2DecoderImpl::HandleSwapBuffers(unsigned int, void const volatile*)
0xcddc0c41	(libmonochrome.so -gles2_cmd_decoder.cc:5654 )	gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*)
0xcddc08ff	(libmonochrome.so -command_buffer_service.cc:69 )	gpu::CommandBufferService::Flush(int, gpu::AsyncAPIInterface*)
0xcddc078d	(libmonochrome.so -command_buffer_stub.cc:619 )	gpu::CommandBufferStub::OnAsyncFlush(int, unsigned int)
0xcddc06fb	(libmonochrome.so -tuple.h:60 )	void IPC::DispatchToMethod<TtsDispatcher, void (TtsDispatcher::*)(int, int), void, std::__ndk1::tuple<int, int> >(TtsDispatcher*, void (TtsDispatcher::*)(int, int), void*, std::__ndk1::tuple<int, int>&&)
0xcddc0699	(libmonochrome.so -ipc_message_templates.h:146 )	bool IPC::MessageT<GpuCommandBufferMsg_AsyncFlush_Meta, std::__ndk1::tuple<int, unsigned int>, void>::Dispatch<gpu::CommandBufferStub, gpu::CommandBufferStub, void, void (gpu::CommandBufferStub::*)(int, unsigned int)>(IPC::Message const*, gpu::CommandBufferStub*, gpu::CommandBufferStub*, void*, void (gpu::CommandBufferStub::*)(int, unsigned int))
0xcddbf0e7	(libmonochrome.so -command_buffer_stub.cc:280 )	gpu::CommandBufferStub::OnMessageReceived(IPC::Message const&)
0xcddab4cb	(libmonochrome.so -gpu_channel.cc:532 )	gpu::GpuChannel::HandleMessageHelper(IPC::Message const&)
0xcddbeeb7	(libmonochrome.so -gpu_channel.cc:508 )	gpu::GpuChannel::HandleMessage(IPC::Message const&)
0xcddbeb2f	(libmonochrome.so -callback.h:99 )	gpu::Scheduler::RunNextTask()
0xcda99011	(libmonochrome.so -callback.h:99 )	base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)
0xcda98be7	(libmonochrome.so -message_loop.cc:431 )	base::MessageLoop::RunTask(base::PendingTask*)
0xcda737e7	(libmonochrome.so -message_loop.cc:442 )	base::MessageLoop::DoWork()
0xcdad489b	(libmonochrome.so -message_pump_default.cc:37 )	base::MessagePumpDefault::Run(base::MessagePump::Delegate*)
0xcda73571	(libmonochrome.so -run_loop.cc:102 )	base::RunLoop::Run()
0xcdd82973	(libmonochrome.so -gpu_main.cc:347 )	content::GpuMain(content::MainFunctionParams const&)
0xcda6f503	(libmonochrome.so -content_main_runner_impl.cc:892 )	content::ContentMainRunnerImpl::Run(bool)
0xcda644ab	(libmonochrome.so -main.cc:472 )	service_manager::Main(service_manager::MainParams const&)


I need some help because I don't have a way to try disabling all of the presentation helper code to see if it's the immediate culprit – https://chromium-review.googlesource.com/1064599 was not designed to be reverted and there is no command-line flag controlling the functionality. penghuang@ can you please either take over this bug and try investigating it on a similar device (Galaxy S7) or provide me a CL which applies to ToT and which disables the GLSurfacePresentationHelper without causing assertion failures?

I'm raising this to P1 as there seems to be some pathological issue on these devices and this is 100% reproducible.

Comment 15 by kbr@chromium.org, Aug 27

Cc: wnwen@chromium.org agrieve@chromium.org
Components: Build
Note: I tried commenting out this DCHECK along with disabling the presentation_helper_:
https://cs.chromium.org/chromium/src/cc/trees/layer_tree_host_impl.cc?type=cs&q=frame_token_infos_.size()&sq=package:chromium&g=0&l=1916

and the GPU process still crashes.

The biggest problem right now is that even with a debug build, we have no way to see a stack trace for those GPU process crashes. agrieve / wnwen, should we be seeing tombstones for those crashes?

Comment 16 by kbr@chromium.org, Aug 27

Note also that these pages load fine on a Pixel 2 running PPR1.180610.009.

Comment 17 by penghuang@chromium.org, Aug 28

I tried disable the presentation helper and run clank on pixel 2. The pages load fine. I didn't find any crash from logcat.

CL for disabling presentation helper - https://crrev.com/c/1194244

And I don't have Galaxy S7 to reproduce this issue.

Comment 18 by penghuang@chromium.org, Aug 28

Summary: "Rats! WebGL hit a snag" on Galaxy S7 (was: "Rats! WebGL hit a snag" on galaxy a7)

Comment 19 by penghuang@chromium.org, Aug 29

Owner: kbr@chromium.org
Assigned it back to kbr@, since I don't have the Galaxy S7, and he is investigating it.

Comment 20 Deleted

Comment 21 by artyo...@gmail.com, Sep 6

We are also hitting this issue, the phones involved were Samsung 930F / Android O, 935F / Android O, 950F / Android O. The stack trace is a bit different, but the top part of it is very similar:

Thread 11\
0  libc.so    [offset: 0x2, 0E3755AD13DB1D142DF780D2063DC4520 skipped], in pthread_mutex_lock\
1  libGLES_mali.so    [offset: 0x390bbe, A360511539386236F19AC91FFAEE82350]\
2  libGLES_mali.so    [offset: 0x6bfca6, A360511539386236F19AC91FFAEE82350]\
3  libGLES_mali.so    [offset: 0x3c7a3a, A360511539386236F19AC91FFAEE82350]\
4  libGLES_mali.so    [offset: 0x3c8006, A360511539386236F19AC91FFAEE82350]\
5  libGLES_mali.so    [offset: 0x3c80e2, A360511539386236F19AC91FFAEE82350]\
6  libGLES_mali.so    [offset: 0x420496, A360511539386236F19AC91FFAEE82350]\
7  libGLES_mali.so    [offset: 0x3a3f8e, A360511539386236F19AC91FFAEE82350]\
8  libGLES_mali.so    [offset: 0x48bef6, A360511539386236F19AC91FFAEE82350]\
9  libGLES_mali.so    [offset: 0x440056, A360511539386236F19AC91FFAEE82350]\
10 libGLES_mali.so    [offset: 0x3a3b9e, A360511539386236F19AC91FFAEE82350]\
11 libEGL.so    [offset: 0xb557, 6453305E6F1F69CBC77427A774EBC6FC0]\
12 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../ui/gl/gl_bindings_autogen_egl.cc", line 572, in gl::EGLApiBase::eglGetNativeClientBufferANDROIDFn(AHardwareBuffer const*)\
13 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../ui/gl/gl_surface_presentation_helper.cc", line 34, in gl::GLSurfacePresentationHelper::Frame::~Frame()\
14     [offset: 0xeb4ea026, module not found]\
15 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../ui/gl/gl_bindings_autogen_egl.cc", line 572, in gl::EGLApiBase::eglGetNativeClientBufferANDROIDFn(AHardwareBuffer const*)\
16 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../ui/gl/gl_surface_egl.cc", line 1086, in gl::NativeViewGLSurfaceEGL::SwapBuffers(base::RepeatingCallback<void ()(gfx::PresentationFeedback const&)> const&)\
17 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/ipc/service/pass_through_image_transport_surface.cc", line 69, in gpu::PassThroughImageTransportSurface::SwapBuffers(base::RepeatingCallback<void ()(gfx::PresentationFeedback const&)> const&)\
18 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/command_buffer/service/gles2_cmd_decoder.cc", line 16271, in gpu::gles2::GLES2DecoderImpl::DoSwapBuffers()\
19 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/command_buffer/service/gles2_cmd_decoder_autogen.h", line 4493, in gpu::gles2::GLES2DecoderImpl::HandleSwapBuffers(unsigned int, void const volatile*)\
20 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/command_buffer/service/gles2_cmd_decoder.cc", line 5736, in gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*)\
21 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/command_buffer/service/command_buffer_service.cc", line 90, in gpu::CommandBufferService::Flush(int, gpu::AsyncAPIInterface*)\
22 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/ipc/service/command_buffer_stub.cc", line 634, in gpu::CommandBufferStub::OnAsyncFlush(int, unsigned int, bool)\
23 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/tuple.h", line 60, in DispatchToMethod<content::RenderFrameImpl, void (content::RenderFrameImpl::*)(int, int, bool), void, std::__ndk1::tuple<int, int, bool> >\
24 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../ipc/ipc_message_templates.h", line 146, in Dispatch<gpu::CommandBufferStub, gpu::CommandBufferStub, void, void (gpu::CommandBufferStub::*)(int, unsigned int, bool)>\
25 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/ipc/service/command_buffer_stub.cc", line 296, in gpu::CommandBufferStub::OnMessageReceived(IPC::Message const&)\
26 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/ipc/service/gpu_channel.cc", line 523, in gpu::GpuChannel::HandleMessageHelper(IPC::Message const&)\
27 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/ipc/service/gpu_channel.cc", line 499, in gpu::GpuChannel::HandleMessage(IPC::Message const&)\
28 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/callback.h", line 95, in Run\
29 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../gpu/command_buffer/service/scheduler.cc", line 526, in gpu::Scheduler::RunNextTask()\
30 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/callback.h", line 95, in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)\
31 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/message_loop/message_loop.cc", line 395, in base::MessageLoop::RunTask(base::PendingTask*)\
32 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/message_loop/message_loop.cc", line 407, in base::MessageLoop::DoWork()\
33 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/message_loop/message_pump_default.cc", line 37, in base::MessagePumpDefault::Run(base::MessagePump::Delegate*)\
34 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../base/run_loop.cc", line 133, in base::RunLoop::Run()\
35 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../content/gpu/gpu_main.cc", line 355, in content::GpuMain(content::MainFunctionParams const&)\
36 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../content/app/content_main_runner.cc", line 703, in content::ContentMainRunnerImpl::Run()\
37 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../services/service_manager/embedder/main.cc", line 453, in service_manager::Main(service_manager::MainParams const&)\
38 libchrome.so, File "/mnt/btrfs/trunk-git-oculus-chromium-2127-1535672943/src/out/browser-release/../../content/app/android/content_main.cc", line 42, in Java_org_chromium_content_app_ContentMain_nativeStart\

Comment 22 by artyo...@gmail.com, Sep 7

I've tried to disable presentation helper using https://chromium-review.googlesource.com/c/chromium/src/+/1194244 but it doesn't change anything - Samsung Galaxy 930F / 8.0.0 still crashes on https://www.blend4web.com/apps/space_disaster/space_disaster.html (in GpuWatchDog thread; if I remove that intentional crash then it just hangs somewhere inside the GL driver).

Comment 23 by artyo...@gmail.com, Sep 7

Also confirmed that this issue is repro-ing on 935F with Android 6.0.1 and Chromium M61.

Comment 24 by artyo...@gmail.com, Sep 7

And chrome master (M71) also has this issue. Is there any progress being done on this?

Comment 25 by ericrk@google.com, Dec 14

Cc: vikassoni@chromium.org
kbr@, is this something you were investigating? If not should we load-balance this? Maybe Vikassoni@?

Comment 26 by kbr@chromium.org, Dec 14

Owner: vikassoni@chromium.org
I'm not actively investigating this and would greatly appreciate help. Thanks.

I still have the phone on my desk.

Comment 27 by kbr@chromium.org, Dec 14

Note to submitters and commenters: any help producing a reduced test case for this would be greatly appreciated.

Comment 28 by bugdroid1@chromium.org, Jan 12

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78daa635cb823d23c45d99b36dc83ff144464bae

commit 78daa635cb823d23c45d99b36dc83ff144464bae
Author: Vikas Soni <vikassoni@chromium.org>
Date: Sat Jan 12 01:32:52 2019

Add enable_gpu_service_logging GN argument and about flag.

1. Add enable_gpu_service_logging GN argument. This can be used in
Release builds without dcheck_always_on=true, and allows the
--enable-gpu-service-logging command line argument to work.

2. Add about flag 'Enable gpu service logging' to let non-rooted
devices enable the --enable-gpu-service-logging flag.

Bug: 839769
Change-Id: Ic6fe4d97aaa6deb51b1f4d30ac4e7aeeaf8b4700
Reviewed-on: https://chromium-review.googlesource.com/c/1401616
Commit-Queue: vikas soni <vikassoni@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622252}
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/chrome/browser/about_flags.cc
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/chrome/browser/flag-metadata.json
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/docs/gpu/debugging_gpu_related_code.md
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/ui/gl/BUILD.gn
[modify] https://crrev.com/78daa635cb823d23c45d99b36dc83ff144464bae/ui/gl/gl_bindings.h

Comment 29 by agrieve@chromium.org, Jan 14

Components: -Build

Sign in to add a comment