What is the meaning of this exception and can I prevent it?

Uncaught exception thrown in Thread[jME3 Main,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

This exception indicates that you have been modifying the scene graph from another thread than jME 3 Main which is not allowed. Could it be that you change something from a network thread or so?


well, Im just using controlUpdate method of spatial controller class to change rotation of model.
and Im using animation system of lemur to move some part of model.
and I used particle emmitter.

Somewhere you are changing a spatial outside of the normal update loop. Since we cannot see the code, we cannot guess where.

The examples you list should be fine. So it must be something else you do. Either in some appState.render() or simpleRender() or post frame or some Java Timer you didn’t think of or another thread you didn’t think of… or from Swing and you didn’t think of that.

1 Like

Sometimes this is caused by attempts to implement off-screen rendering or multiple viewports. Is that something you’re doing?

1 Like


1 Like