WebGL glGenSyncTokenCHROMIUM error then context loss on many sites
Reported by
nkriszti...@gmail.com,
May 28 2016
|
||||||||||
Issue descriptionUserAgent: 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)
,
May 30 2016
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.
,
May 30 2016
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
,
May 30 2016
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.
,
May 31 2016
Thanks for the additional info, handing off to WebGL team.
,
Jun 1 2016
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?
,
Jun 1 2016
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.
,
Jun 1 2016
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.
,
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.
,
Jun 24 2016
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.
,
Jun 24 2016
Do we have a GT-I9505 (Galaxy S4) for reproducing the issue in comment #9?
,
Jun 24 2016
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.
,
Jun 24 2016
I've created a smaller, self-contained test case which still triggers this bug consistently in my S4.
,
Jun 24 2016
,
Jun 25 2016
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.
,
Jun 25 2016
...I meant an S4.
,
Aug 6 2016
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!
,
Aug 8 2016
OK, thanks for the update, I assume it was fixed on the side by some other improvement.
,
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 |
||||||||||
Comment 1 by alancutter@chromium.org
, May 30 2016Labels: Needs-Feedback