-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CesiumJS at least partially broken in latest Chrome on Linux #9416
Comments
So the entire shader problem may be a red herring and just a surface level problem caused by a deeper issue with this release of Chrome. Sometimes it works, sometimes it hard locks. Enabling shader validation provides no useful insight because I can't get the above to happen again (but it still hard locks) |
And sometimes it all "just works". So I have no idea what the root may be here. |
CC #8360 for the firefox warnings |
Text version for easier reading.
|
Okay I'm convinced that this is not a WebGL issue.
The browser appears to just "stop". Network requests are stuck in pending, the page is totally non-responsive, can't break in the debugger. |
As a test, I updated the window.CESIUM_BASE_URL = "../../Source/";
import { Viewer } from "../../Source/Cesium.js";
new Viewer("cesiumContainer"); Hangs (almost) every time. Changing it to use CesiumWidget instead, works. window.CESIUM_BASE_URL = "../../Source/";
import { CesiumWidget } from "../../Source/Cesium.js";
new CesiumWidget("cesiumContainer"); I had this crazy idea that ES module loading was causing problems and that we were simply overwhelming the browser with too many files, but the above loads the same exact set of JS, just only uses the widget instead of the viewer. This may still yet be a problem on our end. |
I tried enabling/disabling various Viewer features one at a time to determine if something was triggering a bug (either in our code or Chrome) but it seems completely non-deterministic. On first load, Cesium Viewer loads fine and will continue to load fine if you just refresh the tab. If you start on a brand new tab or incognito mode, it will hang almost immediately.. Having the debugger up when you know it's going to hang does nothing, hitting the break button has no effect whatsoever, At this point I 100% believe the problem is in Chrome on Linux, but I have no idea what a reduced test case looks like because it's non-deterministic. |
I think we're out of options from our side and given this works everywhere by Chrome/Chromium on Linux, I'm going to open a Chromium issue to hopefully get some help. |
I checked all the way back to 1.70 and it's still broken, so definitely not a regression anywhere near our end.. |
This gets worse. The same thing that crashes constantly locally for me works when on S3, this could point to a possible race condition related to the network stack? This is one of the most baffling CesiumJS issues I've ever tracked. |
@kring pointed out that Making things go slower seems to prevent the crash, which is why I still think this is some sort of race condition in Chrome's network stack. |
Looks like this is actually working again. |
Not for me. Just upgraded to Chrome Version 89.0.4389.114 and sandcastle still hangs |
I can't run the unit tests at |
UPDATE: I rebooted and it's broken on my machine again. I have no idea what anything means anymore. |
As another data point, it seems random on my machine which file is the last one to get loaded before the next ones get stuck on "pending." |
On my end running the 3-line Viewer app with just |
After some more testing, I think my verdict on this bug is that it is intermittent and related to Chrome's handling of "many" ES modules. This is based on these steps:
As another note, the second step isn't strictly necessary. For example - I can also change the |
I have submitted a Chromium bug report here. |
FYI, with the help of the Chrome team, the issue has been narrowed down to a low default The Chrome team is still looking into the root cause on their end, but can now reliably reproduce it. Details in Eli's link, above. |
Closing as recent build updates have changed how we are loading modules in the browser. The linked issue in Chromium is still marked as a regression, but there's nothing actionable on our part. |
Sancastle seems to not work locally and hard locks the tab. But sometimes it works. Same for Cesium Viewer and anything using unbuilt Cesium. By running http://localhost:8080/Apps/Sandcastle/gallery/Hello%20World.html directly, I uncovered what I think it shte problem, shader compilation. Still looking further into it CC @lilleyse
The text was updated successfully, but these errors were encountered: