CesiumGS / CesiumGS/cesium

Crash when viewing tiles

Open
#9,273 3 comments 0 reactions 0 assignees View on GitHub
category - 3d tiles type - bug
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

I am getting this error using 1.73 when viewing tiles, have not tried a newer version but the end of the stack trace seems to look the same as the current code in github master. I believe the problem is related to this line of code and that 'command' is undefined:

https://github.com/CesiumGS/cesium/blob/6639c8f30a11587551e11f7cdfaa72068a88e33f/Source/Scene/Cesium3DTileBatchTable.js#L1371

TypeError: Cannot read property 'derivedCommands' of undefined

TypeError: Cannot read property 'derivedCommands' of undefined
at Cesium3DTileBatchTable.addDerivedCommands (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:126807:37)
at Batched3DModel3DTileContent.update (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:149720:24)
at Cesium3DTile.process (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:175245:19)
at processTiles (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:177942:16)
at Cesium3DTileset.prePassesUpdate (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:177803:5)
at PrimitiveCollection.prePassesUpdate (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:194115:19)
at prePassesUpdate (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:280355:16)
at tryAndCatchError (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:280452:7)
at Scene.render (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:280521:5)
at CesiumWidget.render (http://localhost:8080/node_modules/cesium/Build/CesiumUnminified/Cesium.js:294542:19)

Here is an example tileset that causes the problem:
https://drive.google.com/file/d/1V0YqM08jo_8Q_zhnQ9J1R5myu84Ouf3o/view?usp=sharing

Load the tileset into cesium, look at it top down, use the 3D Tiles Inspector and set the Maximum Screen Space Error to zero and the error will occur.

Contributor guide

Open the contributing guide

Research direction

Reproduce the crash with the linked tileset by loading it in Cesium, viewing it top down, opening the 3D Tiles Inspector, and setting Maximum Screen Space Error to zero. Start at Source/Scene/Cesium3DTileBatchTable.js around line 1371 and trace the addDerivedCommands call. Done means the tileset no longer crashes in this scenario and the regression is covered by an appropriate test.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.