Skip to content
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

Toggling map visibility causes crash #4083

Closed
hpinkos opened this issue Jul 5, 2016 · 2 comments
Closed

Toggling map visibility causes crash #4083

hpinkos opened this issue Jul 5, 2016 · 2 comments

Comments

@hpinkos
Copy link
Contributor

hpinkos commented Jul 5, 2016

Reported on the forum: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/11JV-fgCW2s

The user says it seems to have been introduced in 1.20

Run this code and zoom in and out. The crash usually happens within a few toggles. There are also might be a z-ordering issues with the imagery layers after show has been toggled. It looks like the argcis tiles will randomly show above the black marble ones.

var viewer = new Cesium.Viewer('cesiumContainer', {
    imageryProvider : new Cesium.ArcGisMapServerImageryProvider({
        url : 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer'
    }),
    baseLayerPicker : false
});

var layers = viewer.imageryLayers;
var blackMarble = layers.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
    url : 'https://cesiumjs.org/blackmarble',
    credit : 'Black Marble imagery courtesy NASA Earth Observatory',
    flipXY : true // Only old gdal2tile.py generated tilesets need this flag.
}));

setInterval( function() {
    blackMarble.show = !blackMarble.show;
}, 2000 );
@hpinkos
Copy link
Contributor Author

hpinkos commented Jul 5, 2016

It crashes from calling destroy on imagery.texture

DeveloperError: This object was destroyed, i.e., destroy() was called.
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Texture.throwOnDestroyed (http://localhost:8080/Source/Core/destroyObject.js:45:19)
    at ComputeCommand.postExecute (http://localhost:8080/Source/Scene/ImageryLayer.js:773:33)
    at ComputeEngine.execute (http://localhost:8080/Source/Renderer/ComputeEngine.js:145:28)
    at ComputeCommand.execute (http://localhost:8080/Source/Renderer/ComputeCommand.js:116:23)
    at executeComputeCommands (http://localhost:8080/Source/Scene/Scene.js:1808:28)
    at executeCommandsInViewport (http://localhost:8080/Source/Scene/Scene.js:2102:13)
    at updateAndExecuteCommands (http://localhost:8080/Source/Scene/Scene.js:1965:17)
    at render (http://localhost:8080/Source/Scene/Scene.js:2370:9)
    at Scene.render (http://localhost:8080/Source/Scene/Scene.js:2408:13)

@keann
Copy link

keann commented Jul 6, 2016

Yep, faced the same problem. To be precise, problem appears at enabling a layer in case previously it was enabled and then disabled immediately, before complete render of tiles, like at the moment on screenshot. For me it's like half a sec, and for TS from gg even 2 seconds were enough to get an error.

2016-07-06 13 59 50

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants