State waschanged after rootNode.updateGeometricState() call exception

Messing around with SpiderMonkey, I have a server telling my client to create and move around red cubes every frame (of the server), in SimpleUpdate, the server creates and sends a new message to tell the client if new cubes need to be added and where to move the current cubes, but for some reason I get this exception in the client

SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

java.lang.IllegalStateException: Scene graph is not properly updated for rendering.

State was changed after rootNode.updateGeometricState() call.

Make sure you do not modify the scene from another thread!

Problem spatial name: Root Node

at com.jme3.scene.Spatial.checkCulling(

at com.jme3.renderer.RenderManager.renderSubScene(

at com.jme3.renderer.RenderManager.renderScene(

at com.jme3.renderer.RenderManager.renderViewPort(

at com.jme3.renderer.RenderManager.render(


at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(



SpiderMonkey runs on a separate thread

1 Like

Use app.enqueue() to switch over to the render thread before changing the scene graph.

Oh yeh, How stupid of me :stuck_out_tongue: