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

Issue 615651 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocking:
issue 490984



Sign in to add a comment

WebGL glGenSyncTokenCHROMIUM error then context loss on many sites

Reported by nkriszti...@gmail.com, May 28 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36

Example URL:
http://madebyevan.com/webgl-water/

Steps to reproduce the problem:
1. Open any of the described URLs on a WebGL capable device
2. Wait until the page loads
3. (on some sites) Try to access different WebGL content on the sites

What is the expected behavior?
WebGL content (3D models / scene) is properly displayed

What went wrong?
WebGL fails to load, resulting in a blank page (or blank WebGL part of the page) with a "GL_INVALID_OPERATION : glGenSyncTokenCHROMIUM: fence sync must be flushed before generating sync token" error message in JavaScript the console, followed by context loss messages (WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost) and in some cases multiple other WebGL error messages as a result

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes Chrome 50

Does this work in other browsers? Yes 

Chrome version: 51.0.2704.63  Channel: stable
OS Version: Ubuntu 16.04 LTS
Flash Version: Shockwave Flash 21.0 r0

I only tested on Ubuntu 16.04, amd64. The sites worked fine before the upgrade, and they work with current Firefox.
Some sites that are affected:
https://sketchfab.com/
http://madebyevan.com/webgl-water/
http://nouvellevague.ultranoir.com/
https://ga.me/games/polycraft (starting the game)
http://nkrisztian89.github.io/interstellar-armada/ (starting a new game)

Some sites that aren't affected:
http://bookcase.chromeexperiments.com/
http://helloracer.com/webgl/
(Though these sites also fail after refresh, being unable to create a WebGL context at all as it seems to be disabled by the crash)
 
Components: -Blink Blink>WebGL
Labels: Needs-Feedback
Unable to repro on Linux Chrome 51 (Z620).

Please navigate to chrome:gpu and attach the GPU information to this bug.
I have attached the requested information that is shown after a clean start of Chrome.
After opening any of the sites, a 
GpuProcessHostUIShim: The GPU process crashed!
message is added to the log below.
gpu.html
52.9 KB View Download
Project Member

Comment 3 by sheriffbot@chromium.org, May 30 2016

Labels: -Needs-Feedback Needs-Review
Owner: alancutter@chromium.org
Thank you for providing more feedback. Adding requester "alancutter@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
I tested on another machine with an intel GPU (also Ubuntu 16.04, same setup, both fresh installations) and on the first machine after switching to the open source nouveau driver. The sites work in both cases in Chrome 51.I attached the chrome:gpu output for these working setups.
gpu-other-drivers.zip
11.0 KB Download
Owner: ----
Thanks for the additional info, handing off to WebGL team.

Comment 6 by kbr@chromium.org, Jun 1 2016

Cc: jln@chromium.org
Components: Internals>Sandbox Internals>GPU>VendorSpecific
Labels: GPU-NVidia
I suspect that Chrome's sandbox might not be working well with NVIDIA's driver on this Linux release. Does anyone on Chrome's security team have a similar machine on which you can test?

Submitter, if you launch Chrome with the command line flag --disable-gpu-sandbox, does that resolve the problem with NVIDIA's proprietary driver?

Confirmed, the sites work properly with --disable-gpu-sandbox.

One some additional note, in my project, I managed to track down the appearance of this issue to the commit where I introduced a uniform struct array in the main shader for handling lighting info (before it was only a single uniform vector for light direction). My attempt to create a minimal test case failed though, as simply using a uniform struct array in a minimal WebGL program does not cause the issue to appear. I don't know much about how the sandbox or Chrome's WebGL implementation works so sorry if this info doesn't help.

Comment 8 by kbr@chromium.org, Jun 1 2016

Owner: jln@chromium.org
Status: Assigned (was: Unconfirmed)
Not sure what NVIDIA's driver would be doing differently for different shaders, and why it might be getting shut down by the sandbox.

jln@, is there any chance you may be able to reproduce this? Requires Ubuntu 16.04 + an NVIDIA card.


Comment 9 by i...@mazemap.no, Jun 23 2016

I can consistently reproduce this bug in a GT-I9505 (AKA Samsung Galaxy S4 ) smartphone, running Chrome beta v42.0.2743.41, with the attached example.

I've been able to trace down the bit of shader code that triggers this behaviour, down to these statements: https://gitlab.com/IvanSanchez/Leaflet.gl/blob/ebf5c495aed47f162019028045fed86c2a863b27/src/layer/vector/line.v.glsl#L75 - I'm guessing the GPU's GLSL optimizers don't like me assigning a value to a swizzled varying.

I haven't experienced the bug in any other of my devices (including Chromium 51.0.2704.79 on desktop linux with a Nvidia GT 705).

I hope this helps track down this bug. Even if the GPU cannot handler the shader, it would be nice to have a more descriptive error message.
sync-bug.zip
126 KB Download

Comment 10 by kbr@chromium.org, Jun 24 2016

Owner: vmi...@chromium.org
I don't know whether our group has a Samsung Galaxy S4 to try to reproduce this failure on. Victor, do you know?

Note, this is definitely not the same problem as the Linux one, which appears to be sandbox-related. The Galaxy S4 problem sounds like the GPU process is crashing.

Cc: aelias@chromium.org siev...@chromium.org
Labels: Needs-TestConfirmation
Do we have a GT-I9505 (Galaxy S4) for reproducing the issue in comment #9?
Almost certainly we have one -- feel free to head over to the testers' cabinet https://map.googleplex.com/?q=type:room%20US-MTV-43%2016EE and borrow it during work hours.

Comment 13 by i...@mazemap.no, Jun 24 2016

I've created a smaller, self-contained test case which still triggers this bug consistently in my S4.
sync-bug.html
7.3 KB View Download
Labels: TE-NeedsTriageFromMTV

Comment 15 by kbr@chromium.org, Jun 25 2016

Blocking: 490984
Owner: cblume@chromium.org
Chris, could you please find an S2 and try the user's test case on it? This is probably an example that we should add to the WebGL conformance suite.

Comment 16 by kbr@chromium.org, Jun 25 2016

...I meant an S4.

I updated Chrome to version 52 today, the issue is now resolved (on my machine at least) - WebGL sites are working properly again without disabling the GPU sandbox.
Keep up the good work!
Status: WontFix (was: Assigned)
OK, thanks for the update, I assume it was fixed on the side by some other improvement.

Comment 19 by dus...@phntms.com, Jan 10 2017

I was receiving this same error on this:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

While using 2x Nvidia Quadro M4000 cards. After about 10 minutes of run time. Disabling gpu sandbox resolved it. (At least for now it seems)

Sign in to add a comment