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(Spatial.java:260)

at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:647)

at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:640)

at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:974)

at com.jme3.renderer.RenderManager.render(RenderManager.java:1029)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:251)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)

at java.lang.Thread.run(Thread.java:662)

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: