-
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
KML Image Overlays crash Cesium and Browser #6567
Comments
Hi @rezn8d, I just loaded If you're still seeing the problem after trying that, can you paste a code sample for how you're adding the kml to your application? Thanks |
I have cleared my caches, both in Chrome and Firefox and using In Private and using CCleaner. Same crashes. My drivers are latest.
|
modKML is not used but looks like this:
Both of these layers are set to clampToGround: false but inspecting the CIMSS file the original KML overlays are set to clampToGround: true
Crashes after I load the animation, slide it to the end of animation, then rotate globe. |
http://cimss.ssec.wisc.edu/tropic2/real-time/atlantic/movies/kml/tiles/RT.atlantic.g8irn.tiles.kml UPDATE: I added this original network link to the github, layer labelled "North Atlantic Infrared - Unenhanced FULL":
|
@rezn8d thanks for the extra info. Unfortunately I still wasn't able to reproduce the crash. I simplified your code down to this for testing: var viewer = new Cesium.Viewer('cesiumContainer');
new Cesium.KmlDataSource.load('../../SampleData/kml/RT.atlantic.g8irn.tiles-8.kml', {
camera: viewer.scene.camera,
canvas: viewer.scene.canvas,
clampToGround: false
}).then(function (geoData) {
console.log('loaded kml');
viewer.dataSources.add(geoData);
viewer.flyTo(geoData);
}); Can you switch to the unminified version of Cesium and paste the callstack for the crash again? That way we know the function names and might have a better idea of what's happening. Is it the same crash every time? If you have time, could you also track down which version of Cesium the crash starts happening in? You said it works in 1.39 but not in 1.44, but it would be really helpful to know what happens in 1.40-1.43. Thanks =) |
@hpinkos I visited the site @rezn8d linked to, and I get Cesium currently doesn't handle the WebGL Context Lost event, as it shouldn't really happen unless the browser is completely overwhelmed. So the call stack is much less relevant, it's just the aftermath of an unhandled loss of context. Unfortunately this means it's a fairly nebulous problem, with the KML data loaded into the newer version of Cesium causing the browser to be bogged down and overwhelmed for some reason. Still, a good local reproduce case would go a long way here. I can't reproduce it locally on my machine so far. |
I can upload my code to github. I did not try versions 1.40-1.43. I had to change my proxy stuff and that was about it. Will work on that tomorrow. |
Github updated: https://github.com/rezn8d/climateviewer Load KML function: Fukushima Radioactive Seawater Single Image: Fukushima Radioactive Seawater (Animation) THANK YOU FOR HELPING! |
@tfili do you think this could be related to the |
Possibly related - this Sandcastle loads Google's sample KML ( from https://developers.google.com/kml/documentation/KML_Samples.kml - rehosted as a Gist because Google doesn't care about CORS) There's a GroundOverlay which also doesn't load, again because of CORS, but watching the network requests, it spam loads the image over and over. |
I think it is probably a Resource issue since that is the only thing I had to change when updating to 1.45 from 1.39. I just uploaded my 1.39 file: The proxy got moved to Resource: I am using a simple proxy.php https://github.com/rezn8d/climateviewer/blob/master/proxy.php thank you! |
I'm marking this |
For the record, the fukushima layers are loaded locally, without proxy or Resource. "P": true, = use proxy Therefore it has to be something more than just the use of Resource, as non-proxied layers are just added without Resource. Food for thought.
"G": = geoDataSrc I included them in the repo now so they are loading locally, still same issue. Crash. |
any updates? |
@rezn8d sorry, I'm not sure if we'll have time to look at this before the June release, but we'll try to for the next one |
@hpinkos thanks for the update. Looking forward to the next release. |
Any chance this will get an update in the July release? |
@tfili do you have a minute to look at this? |
It looks like it was introduced with |
@tfili I just tested version 1.46 which seems to have the fix you referenced, problem still occurs. |
@rezn8d that's the commit that's causing the problem. We're going to try to fix it for the next release (1.47) |
Hi @rezn8d! We fixed an issue with loading a KML file with an image that wasn't loading correctly #6710. This will be included in the upcoming 1.47 release available on July 2nd. I'm pretty sure this will fix the crash you were seeing, but if it doesn't feel free to open another issue after upgrading to 1.47. Thanks! |
THANK YOU! July 2nd can't get here fast enough! |
Cesium version 1.44 and 1.45 crash when loading KML files with image overlays. Files load fine, are displayed on map, then performance slows to a crawl ending with either WebGL crashing or the entire browser crashing. Crash typically happens around 10-30 seconds after file is displayed.
Tested Systems affected:
Windows 7 64bit (6 core i7, 16GB RAM, SSD, NVIDIA Geforce 750GTX 2GB) on latest Google Chrome and Firefox - WebGL crash
Xubuntu 16.04 with Firefox - Browser crashes
Android with Firefox and Chrome (browser fully crashes)
EXAMPLE KML(s)
Cooperative Institute for Meteorological Satellite Studies (CIMSS) North Atlantic Infrared - NHC Enhancement MULTIPLE IMAGE OVERLAY, ANIMATION
http://climateviewer.org/index.html?layersOn=cimss-irnhc
live example:
http://climateviewer.org/index.html?layersOn=cimss-irnhc
Three Mile Island Meltdown SINGLE IMAGE OVERLAY
http://climateviewer.org/layers/kml/pollution/nuclear/Three-Mile-Island-meltdown-Climate-Viewer-3D.kmz
live example:
http://climateviewer.org/index.html?layersOn=tmi-fallout
ERROR:
An error occurred while rendering. Rendering has stopped.
undefined
TypeError: Failed to execute 'shaderSource' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'.
TypeError: Failed to execute 'shaderSource' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'.
at f (http://climateviewer.org/lib/cesium/1.45/Cesium.js:20:432415)
at y (http://climateviewer.org/lib/cesium/1.45/Cesium.js:20:435552)
at d._bind (http://climateviewer.org/lib/cesium/1.45/Cesium.js:20:436567)
at V (http://climateviewer.org/lib/cesium/1.45/Cesium.js:21:114519)
at k.draw (http://climateviewer.org/lib/cesium/1.45/Cesium.js:21:118172)
at n.execute (http://climateviewer.org/lib/cesium/1.45/Cesium.js:20:405485)
at Ue (http://climateviewer.org/lib/cesium/1.45/Cesium.js:22:410268)
at ze (http://climateviewer.org/lib/cesium/1.45/Cesium.js:22:411639)
at We (http://climateviewer.org/lib/cesium/1.45/Cesium.js:22:415891)
at Ke (http://climateviewer.org/lib/cesium/1.45/Cesium.js:22:420206)
x.showErrorPanel @ Cesium.js:23
PLEASE, either tell me what I am doing wrong or that this can be fixed ASAP.
I recently update my website from 1.39 to 1.44 and that is when this issue started. I rely on many meteorological KML files from government and universities and they use KML groundoverlays for this real-time data.
ClimateViewer 3D
The text was updated successfully, but these errors were encountered: