Below is the stack trace. Here is the code fragment in question…
for (int i = 0; i < numTotalTexUnits; i++) {
unitRecord = record.units;
…
}
This certainly looks like a problem waiting to happen: The loop variable range is numTotalTexUnits, not record.units.length. Since I am not sure what the intent of this code is I cannot suggest a fix. Perhaps numTotalTexUnits is supposed to be <=record.units.length. In any case, there is a definite problem here.
–jon
===================
Thread [main] (Suspended (exception java.lang.ArrayIndexOutOfBoundsException))
com.jme.scene.state.lwjgl.LWJGLTextureState.apply() line: 842
com.jme.renderer.lwjgl.LWJGLRenderer.applyStates(com.jme.scene.state.RenderState[], com.jme.scene.Geometry) line: 1739
com.jme.renderer.lwjgl.LWJGLRenderer.draw(com.jme.scene.TriMesh) line: 975
com.jme.scene.shape.Box(com.jme.scene.TriMesh).draw(com.jme.renderer.Renderer) line: 240
com.jme.scene.shape.Box(com.jme.scene.Spatial).onDraw(com.jme.renderer.Renderer) line: 429
com.jme.scene.Node.draw(com.jme.renderer.Renderer) line: 520
com.jme.scene.Node(com.jme.scene.Spatial).onDraw(com.jme.renderer.Renderer) line: 429
com.jme.renderer.lwjgl.LWJGLRenderer.draw(com.jme.scene.Spatial) line: 1216
com.msli.jme.model.JmeDebugModel$CubeModel(com.msli.jme.model.JmeScene).doViewRender(com.msli.jme.view.JmeViewContext, double, double) line: 236
com.msli.jme.model.JmeDebugModel$CubeModel(com.msli.jme.model.JmeScene).implViewRender(com.msli.jme.view.JmeViewContext, double, double) line: 180
com.msli.jme.model.JmeTreeNode$Impl.implViewRender(com.msli.jme.view.JmeViewContext, double, double) line: 303
com.msli.jme.model.JmeTreeNode$Impl.implViewRender(java.lang.Object, double, double) line: 1
com.msli.jme.swt.view.JmeSwtView$1(com.msli.jme.view.JmeView$Base).implViewRender(com.msli.jme.view.JmeViewContext, double, double) line: 246
com.msli.jme.swt.view.JmeSwtView.implViewRender(com.msli.jme.view.JmeViewContext, double, double) line: 142
com.msli.jme.swt.view.JmeSwtView.implViewRender(java.lang.Object, double, double) line: 1
com.msli.app.model.view.ModelViewManager.implFrame(double, double) line: 133
com.msli.app.model.view.ModelViewManager.access$6(com.msli.app.model.view.ModelViewManager, double, double) line: 123
com.msli.app.model.view.ModelViewManager$FrameLooper.run() line: 116
org.eclipse.swt.widgets.RunnableLock.run() line: 35
org.eclipse.ui.internal.UISynchronizer(org.eclipse.swt.widgets.Synchronizer).runAsyncMessages(boolean) line: 133
org.eclipse.swt.widgets.Display.runAsyncMessages(boolean) line: 3855
org.eclipse.swt.widgets.Display.readAndDispatch() line: 3476
org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) line: 2393
org.eclipse.ui.internal.Workbench.runUI() line: 2357
org.eclipse.ui.internal.Workbench.access$4(org.eclipse.ui.internal.Workbench) line: 2209
org.eclipse.ui.internal.Workbench$5.run() line: 499
org.eclipse.core.databinding.observable.Realm.runWithDefault(org.eclipse.core.databinding.observable.Realm, java.lang.Runnable) line: 332
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 492
org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 149
com.msli.mapp3d.client.rcp.app.Application.start(org.eclipse.equinox.app.IApplicationContext) line: 87
org.eclipse.equinox.internal.app.EclipseAppHandle.run(java.lang.Object) line: 194
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) line: 110
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) line: 79
org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) line: 368
org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) line: 179
sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method]
sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object…) line: 597
org.eclipse.equinox.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) line: 556
org.eclipse.equinox.launcher.Main.basicRun(java.lang.String[]) line: 511
org.eclipse.equinox.launcher.Main.run(java.lang.String[]) line: 1284
org.eclipse.equinox.launcher.Main.main(java.lang.String[]) line: 1260