Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

'Rats! WebGL hit a snag!' error on load

1514143180

Edited 1514143508
Having issues in my game where all players (including GM) get an error about WebGL. After we load in, the screen flashes white and all we see is a completely black map. Even I, as the GM, cannot see anything. Only happens on one particular page. I have disabled all extensions, cleared cache, updated Google Chrome to latest, and turned Hardware Acceleration on/off. I even went as far as disabling certain options in the game. The ONLY way I could get around the issue is to load the players into a separate page, then pull them over to the page I want them on. But that only works about half the time. Step-By-Step Instructions: Just load into the game. Should happen immediately after load. Computer Settings: -&nbsp;Chrome 63.0.3239.108 -&nbsp;Windows 10 (64-bit) - Javascript&nbsp;Enabled - McAfee Total Protection (Disabled) - None Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.firebaseio.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a> ". Either the 'unsafe-inline' keyword, a hash ('sha256-zlGh5kmroPjPrBptckY4JeKpnK7msGdCP2L2sNHo15g='), or a nonce ('nonce-...') is required to enable inline execution. app.roll20.net/:13 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.firebaseio.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a> ". Either the 'unsafe-inline' keyword, a hash ('sha256-k8Kx+oSRaLZ+X7/r67j0Mow6bzS2pemyX++9YAOg3BU='), or a nonce ('nonce-...') is required to enable inline execution. app.roll20.net/:1 The SSL certificate used to load resources from <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See <a href="https://g.co/chrome/symantecpkicerts" rel="nofollow">https://g.co/chrome/symantecpkicerts</a> for more information. app.js:31 70 app.js:32 TOUCH SUPPORTED: false app.js:32 USING WEBGL ACCELERATION... app.js:32 WEBGL STARTUP SUCCESS app.js:33 Custom Sheet Translation app.js:26 select app.js:26 Switch mode to select app.js:43 Initializing new dice engine with randomness... app.js:43 Using random entropy app.js:46 Compiling sheet... app.js:46 Found rolltemplate: simple app.js:46 Found rolltemplate: atk app.js:46 Found rolltemplate: dmg app.js:46 Found rolltemplate: atkdmg app.js:46 Found rolltemplate: desc app.js:46 Found rolltemplate: spell app.js:46 Found rolltemplate: traits app.js:46 Found rolltemplate: npc app.js:46 Found rolltemplate: npcatk app.js:46 Found rolltemplate: npcdmg app.js:46 Found rolltemplate: npcaction app.js:46 Found webworker script app.js:46 Finding sheet rolls... app.js:48 window resize app.js:32 Final set zoom! app.js:32 UPDATE GL SIZE! app.js:32 Final set zoom! tutorial_tips.js:7 tuts loaded app.roll20.net/:1 Mixed Content: The page at ' <a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a> ' was loaded over HTTPS, but requested an insecure image ' <a href="http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/srd5_360.png" rel="nofollow">http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/srd5_360.png</a> '. This content should also be served over HTTPS. app.roll20.net/:1 Mixed Content: The page at ' <a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a> ' was loaded over HTTPS, but requested an insecure image ' <a href="http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/weight_lbs.png" rel="nofollow">http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/weight_lbs.png</a> '. This content should also be served over HTTPS. 3app.roll20.net/:1 Mixed Content: The page at ' <a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a> ' was loaded over HTTPS, but requested an insecure image ' <a href="http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/srd5_360.png" rel="nofollow">http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/srd5_360.png</a> '. This content should also be served over HTTPS. sheetsandboxworker.js?20170926:sourcemap:260 Starting up WEB WORKER /js/d20/sheetsandboxworker.js?20170926:260 Starting up WEB WORKER app.js:38 Final page load. app.js:48 Refresh jukebox List! app.js:38 Auth'ed. app.js:38 Go post auth! app.js:38 initial setup app.js:48 Refresh jukebox List! app.js:36 T.s app.js:38 Got players value... app.js:38 joining game... 7app.js:35 Full load page! app.js:38 We have 7 pages app.js:36 Player -KrWUcucpduY-UsFbJr5 is offline... app.js:36 Global Volume: 100=1 app.js:36 Player -KrWkVOPwyyTXUl-uMYA is offline... app.js:36 Player -KrWqEo370sZYvaoRQWg is offline... app.js:36 Player -KrXFZcfxMICCLkeCjX4 is offline... app.js:36 Player -KrlaV76he92g6krH70p is offline... app.js:36 Player -KrqbKNd0-xumsXkeBEH is offline... app.js:36 Player -L-3HGzidc0qATENcNKl is offline... app.js:38 Deferred finish joining... app.js:31 Firebase Online app.js:38 handle page changes app.js:38 false app.js:48 Refresh jukebox List! 41app.js:31 new caster! app.js:41 refershing page listings! app.js:34 Do refresh link cache! app.js:35 Reorder by ZORDER app.js:46 Refresh Journal List! app.js:46 Search took 26ms app.js:38 init active page! app.js:35 activate page! app.js:35 FULLY ACTIVATE VIEWS FOR PAGE. app.js:38 Scan for new plays! app.js:35 Graphics: 74 app.js:35 Paths: 10 10app.js:31 new caster! app.js:35 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247559/RUpUuQzMIpxJZ9ojw7zI5A/thumb.jpg?1488050995&14903002755" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247559/RUpUuQzMIpxJZ9ojw7zI5A/thumb.jpg?1488050995&14903002755</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247559/RUpUuQzMIpxJZ9ojw7zI5A/original.jpg?1488050995&14903002755" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247559/RUpUuQzMIpxJZ9ojw7zI5A/original.jpg?1488050995&14903002755</a> app.js:41 refershing page listings! app.js:35 Reorder by ZORDER s3.amazonaws.com/files.d20.io/marketplace/247780/4ZSBt1m_C9HomSy--pOQMw/thumb.png?5&14903003705 Failed to load resource: the server responded with a status of 403 (Forbidden) s3.amazonaws.com/files.d20.io/marketplace/247784/v6I74JHoVz3uTZIvoWJHpw/thumb.png?5&14903003705 Failed to load resource: the server responded with a status of 403 (Forbidden) s3.amazonaws.com/files.d20.io/marketplace/247826/PfTmLkjc3OeSCOXwOMtiUQ/thumb.png?5&14903003915 Failed to load resource: the server responded with a status of 403 (Forbidden) app.js:48 Refresh jukebox List! jquery.1.8.2.min.js:2 Mixed Content: The page at ' <a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a> ' was loaded over HTTPS, but requested an insecure image ' <a href="http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/spellbg.jpg" rel="nofollow">http://imgsrv.roll20.net/?src=raw.githubusercontent.com/Roll20/roll20-character-sheets/master/5th%2520Edition%2520OGL%2520by%2520Roll20/images/spellbg.jpg</a> '. This content should also be served over HTTPS. get @ jquery.1.8.2.min.js:2 app.js:35 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247845/2LD_YHGSxuPA8J_BNT_O3A/thumb.png?1487955333&14903004015" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247845/2LD_YHGSxuPA8J_BNT_O3A/thumb.png?1487955333&14903004015</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247845/2LD_YHGSxuPA8J_BNT_O3A/med.png?1487955333&14903004015" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247845/2LD_YHGSxuPA8J_BNT_O3A/med.png?1487955333&14903004015</a> app.js:30 Error loading image, probably due to cors. Trying once without CORS for <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247780/4ZSBt1m_C9HomSy--pOQMw/thumb.png?5&1490300370" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247780/4ZSBt1m_C9HomSy--pOQMw/thumb.png?5&1490300370</a> app.js:30 Error loading image, probably due to cors. Trying once without CORS for <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247784/v6I74JHoVz3uTZIvoWJHpw/thumb.png?5&1490300370" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247784/v6I74JHoVz3uTZIvoWJHpw/thumb.png?5&1490300370</a> app.js:30 Error loading image, probably due to cors. Trying once without CORS for <a href="https://s3.amazonaws.com/files.d20.io/marketplace/247826/PfTmLkjc3OeSCOXwOMtiUQ/thumb.png?5&1490300391" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/247826/PfTmLkjc3OeSCOXwOMtiUQ/thumb.png?5&1490300391</a> s3.amazonaws.com/files.d20.io/marketplace/247784/v6I74JHoVz3uTZIvoWJHpw/thumb.png?5&1490300370 Failed to load resource: the server responded with a status of 403 (Forbidden) s3.amazonaws.com/files.d20.io/marketplace/247780/4ZSBt1m_C9HomSy--pOQMw/thumb.png?5&1490300370 Failed to load resource: the server responded with a status of 403 (Forbidden) s3.amazonaws.com/files.d20.io/marketplace/247826/PfTmLkjc3OeSCOXwOMtiUQ/thumb.png?5&1490300391 Failed to load resource: the server responded with a status of 403 (Forbidden) app.js:35 Reorder by ZORDER 2app.js:35 setting src app.js:30 Cols: 10 Rows: 9 app.js:30 Took 287ms to generate cache. app.roll20.net/:1 WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost app.js:48 window resize app.js:32 Final set zoom! app.js:32 UPDATE GL SIZE! app.js:32 Final set zoom!
After this, I monitored my GPU load and it hit around 97% (GTX 980Ti) which seems extreme. That could be what is causing the WebGL context to become lost as too many resources are being allocated to that particular page and the browser and/or OS needs them for other pages/applications.
well a good place to start which you did a bit of is here&nbsp; <a href="https://wiki.roll20.net/Solving_Technical_Issues" rel="nofollow">https://wiki.roll20.net/Solving_Technical_Issues</a> other things has the GM cleared chat thur the setting outside of the game? some times that clears up issues if the GM is using API have you tried to disable them and turn back on one by one. are players running latest chrome if so there is a known issues best to disable thur settings in game the web chat and go third party for now. have you tried moivng the plaer bar to a different page
1514315175

Edited 1514315220
Yeah, I've gone through all the steps in 'Solving Technical Issues'. Nothing seemed to work. Clearing the chat archive didn't work. As far as I can tell, there is no API being used. I've updated chrome to the latest and disabled video+voice in the game as we use discord. As stated in the first post, moving the players to another page, having them load in, and THEN moving them to the page that seems to cause the issue works about half the time. Also, Firefox works perfectly fine so we will be using that until this issue is resolved.
Just some random questions that might point to an issue: How big is the map on that page? Is it larger than 70x70?&nbsp; Are there many tiles and/or tokens on the page? Is Dynamic Lighting (DL) enabled? Are you using Advanced Fog of War? Is the DL layout very complex?
- Map is 74x67 - Roughly 16-20 tokens - Dynamic Lighting is enabled - Not using Advanced Fog of War - Layout is somewhat complex (almost maze-like) The game I'm running is using the Forge of Fury add-on from the Tales of the Yawning Portal module.
Which map in Forge of Fury is causing this? I think it's the complex Dynamic Lighting (DL). Many paths and vertices make for more math. Is DL set to Only Update on Drop? That can help some. You can test this by turning regular Fog of War ON on that map (so your players won't see the whole map) then turn DL OFF on that map. Then try to load the map and see if it works. If it still crashes it's not DL.
Dynamic Lighting seems to be the issue. The map we crash on is the Glitterhame. Works fine on Firefox because there is no hardware acceleration going on like in Chrome. But if we turn hardware acceleration off, the virtual tabletop is really slow and laggy. So it seems I'll be using Firefox for now. Hopefully the Roll20 team can work on some optimizations.
1518155506

Edited 1518155738
Cory B. said: Dynamic Lighting seems to be the issue. The map we crash on is the Glitterhame. Works fine on Firefox because there is no hardware acceleration going on like in Chrome. But if we turn hardware acceleration off, the virtual tabletop is really slow and laggy. So it seems I'll be using Firefox for now. Hopefully the Roll20 team can work on some optimizations. This fixed it for us!!!&nbsp; Problems loading into Glitterhame, black screens.&nbsp; Super choppy now but it'll work for this map anyway. Some swapped over to Edge or Firefox and all worked well for them without a settings change.
1518167258
Ziechael
Forum Champion
Sheet Author
API Scripter
Thanks for the updates and feedback, I'll pass this along to the content creators to see if optimisation is an option.