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

Issue 631345 link

Starred by 8 users

Issue metadata

Status: ExternalDependency
Owner:
OOO until 2019-01-24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Webgl Crash on Samsung phones with Mali GPUs

Reported by p...@sketchfab.com, Jul 26 2016

Issue description

Steps to reproduce the problem:
1. open chrome android galaxy S6 with latest updates
2. go to https://sketchfab.com/models/c7d7a68e73964960b63a358bfcd820f0/embed?autostart=1&postprocess=0
3. get a webgl context lost invariably

What is the expected behavior?
should show a 3D grey cube

What went wrong?
Webgl crash.

Did this work before? Yes 15 days befioe now.

Chrome version: 51.0.2704.81  Channel: stable
OS Version: 6.0.1
Flash Version: Shockwave Flash 22.0 r0

tried to pinpoint the crash to get a smaller use case, but cannot seem to achieve that.

 ( Attached the chrome:gpu as pdf )
 
chrome___gpu.pdf
103 KB Download

Comment 1 by p...@sketchfab.com, Jul 26 2016

note that it works on desktop and any other phone brand we have

Comment 2 by p...@sketchfab.com, Jul 26 2016

Got user Report for same bug on "Galaxy S7 Edge" 

Comment 3 by b...@chromium.org, Jul 26 2016

Components: Blink>WebGL
Labels: Stability-Crash

Comment 4 by p...@sketchfab.com, Jul 27 2016

Got user Report for same bug on "Samsung Note 5" 

Comment 5 by kbr@chromium.org, Jul 27 2016

Cc: aelias@chromium.org cblume@chromium.org ynovikov@chromium.org
Need to try to reproduce in house and gather a crash report. cblume@, could you possibly help with that?

Comment 6 by kbr@chromium.org, Jul 27 2016

Components: Internals>GPU>ANGLE
Given that this used to work, it might be a newly introduced bug in the shader translator.

Comment 7 by zmo@chromium.org, Jul 27 2016

Cc: zmo@chromium.org cwallez@chromium.org geoffl...@chromium.org jmad...@chromium.org

Comment 8 by zmo@chromium.org, Jul 27 2016

The about:gpu page says "[ERROR:gpu_watchdog_thread.cc(362)] : The GPU process hung. Terminating after 10000ms", so the GPU crash is from watch dog.

Comment 9 by kbr@chromium.org, Jul 27 2016

Good catch Mo. The shaders might be using some construct which causes the driver's GLSL compiler to take a pathologically long time. Submitter, I suggest you iteratively trim down your shaders until you find the problematic construct.

Comment 10 by kbr@chromium.org, Jul 27 2016

Labels: Needs-Feedback

Comment 11 by p...@sketchfab.com, Jul 28 2016

As said above, I tried already to trim shaders to  s simple repro case.
On shadertoy and shdr.bkcore to reproduce without success.

Scene posted above use basic shaders compared with what sketchfab shaders can be.
Would it be possible to be a combination between shader and gl state (uniform,attributes) that makes "hung" the gpu ?

As it's very hard to debug webgl on phone, if you could you give any more infos on when/where/what gl call/shader/geometry is the culprit, that would be a tremendous help here to try trimming further ?


Comment 12 by p...@sketchfab.com, Jul 28 2016

Still no luck, with shaders nearly trimmed down to nothing, which makes me wonder about"shaders" only being the cause

Notes: 
- doing everything but "gl.drawElements" doesn't throw context lost. so shaders & program does compile & link, it's at "drawing" that we get those "GPU hung" causing webglcontext lost

Comment 13 by zmo@chromium.org, Jul 28 2016

Do you still have a system that can run without context lost?  If yes, you can use the WEBGL_debug_shaders extension to grab what's the translated shader sent to the driver without context lost and what's the one with context lost.  If there are any differences, then we have a clear idea what Chrome did and what the bug is (likely a driver bug)

Comment 14 by p...@sketchfab.com, Jul 30 2016

no system without context lost.

further inquiriedon shader showed that replacing texture2d call with some functions returning ran values prevent context loss.

Seems more like a framebuffer/texture r/w from shader thing then
Note that it seems that it's not happening on phone that didn't do the "July samsung update".
Reportedly a phone with "June Samsung update" works
WebGL conformance test,; seems this crash regularly on Samsung phones with the bug: 
https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/undefined-index-should-not-crash.html?webglVersion=1&quiet=0

Comment 17 Deleted

Comment 18 by kbr@chromium.org, Aug 1 2016

I've contacted ARM since this phone contains a Mali GPU, asking for help investigating this problem.

Comment 19 by kbr@chromium.org, Aug 1 2016

I've also contacted Samsung asking for help investigating.

Comment 20 by kbr@chromium.org, Aug 2 2016

Labels: GPU-ARM
Summary: Webgl Crash on Samsung phones with Mali GPUs (was: Webgl Crash)

Comment 21 by kbr@chromium.org, Aug 2 2016

Labels: -Arch-x86_64 Arch-ARM64
Project Member

Comment 22 by sheriffbot@chromium.org, Aug 10 2016

Labels: -Needs-Feedback Needs-Review
Owner: kbr@chromium.org
Thank you for providing more feedback. Adding requester "kbr@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 23 by kbr@chromium.org, Aug 10 2016

Status: ExternalDependency (was: Unconfirmed)
Samsung has indicated they're investigating the problem. I'm marking this ExternalDependency for now.

Comment 24 by p...@sketchfab.com, Aug 22 2016

Seems our latest website update make our codebase abvoid the bug, so the URL in the bug report may not reproduce the bug anymore.

Still have that WebGL conformance test that  crash regularly on Samsung phones with the bug: https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/undefined-index-should-not-crash.html?webglVersion=1&quiet=0

Comment 25 by p...@sketchfab.com, Aug 24 2016

Made a new URL server to repro the crash  on samsung S6 phone with latest update

https://thor.fatvertex.com/models/c7d7a68e73964960b63a358bfcd820f0/embed?autostart=1&postprocess=0
Was there any fix reported by Samsung? I have a 3d project in THREE.js and webgl is crashing after I updated my Samsung S6 edge (after factory reset). The scene lasts for 5 seconds before crashing.Used to work before , the same case as above. Its working on desktops and other phones.

Comment 27 by kbr@chromium.org, Jan 3 2017

No update yet on this topic from Samsung but I've just asked for one.

Labels: -Needs-Review
Cleaning up sheriffbot label "Needs-Review" label as a part of modified "Needs-Feedback" sheriffbot rule. [ref bug for cleanup 684919]

Comment 29 by a...@figma.com, Apr 6 2017

It's not a phone, but ARM Mali has copy problems with Figma on a:

  1. Samsung XE303C12 - ChromeOS Arm 32-bit w/Mali 
  2. Samsung XE513C24 - ChromeOS Dual ARM® Cortex®-A72, Quad Cortex-A53 big.LITTLE™ configuration - no info on GPU

Run figma.com on these machines.  Create a rectangle, and pan around the scene.  Copies of the data will appear in places that there shouldn't be.  This doesn't occur on other ChromeOS devices.  This is either a WebGL or driver bug with WebGL on these machines.  We only use gl.copyTexSubImage2D for all copies (full and partial copies). 

Comment 30 by kbr@chromium.org, Apr 6 2017

Cc: marc...@chromium.org
Labels: OS-Chrome
+marcheu because of report on Chrome OS

Alec, we really need a reduced test case in order to make progress on these reports. Please invest the time to create one.

@29: can you please file a separate bug? it seems like this is a different issue. If you do, please add me (marcheu@chromium.org) as the owner. Thanks!

Sign in to add a comment