renderSubScene crash in engine

Got this crash shortly after starting my Spermination game:

[java]*** Error! ***

Something broke!

Thread: LWJGL Renderer Thread
Version: v1.4

java.lang.ArrayIndexOutOfBoundsException: 0
at com.jme3.util.SafeArrayList.get(SafeArrayList.java:258)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:715)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:715)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:715)
at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:690)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1064)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1128)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:268)
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:227)
at java.lang.Thread.run(Thread.java:745)

Please either take a screenshot of this, or paste this copied message
into an e-mail before clicking OK.

******[/java]

Here is a link to the line:

Happened only once & I can’t seem to reproduce it. My application is multi-threaded, but I’m pretty sure all adds & removals are happening on the rendering thread & I don’t get any “scene graph has changed!” errors.

Could happen if you attach / detach spatials inside Control.render(), that loop needs to be changed to a foreach loop with getChildren().getArray() as the object. Maybe you can make a pull request :slight_smile: