Hi!
I am having a few problems reorganizing my project, and one of them is this exception that prevents me from further testing what I have implemented.
[patch]May 19, 2011 11:33:16 PM com.jme3.bullet.BulletAppState postRender
SEVERE: null
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at com.jme3.bullet.BulletAppState.postRender(BulletAppState.java:197)
at com.jme3.app.state.AppStateManager.postRender(AppStateManager.java:185)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:260)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:143)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:171)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:217)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at com.bulletphysics.collision.shapes.TriangleShape.localGetSupportingVertexWithoutMargin(TriangleShape.java:98)
at com.bulletphysics.collision.shapes.ConvexInternalShape.localGetSupportingVertex(ConvexInternalShape.java:84)
at com.bulletphysics.collision.shapes.ConvexInternalShape.getAabbSlow(ConvexInternalShape.java:66)
at com.bulletphysics.collision.shapes.TriangleShape.getAabb(TriangleShape.java:91)
at com.bulletphysics.collision.dispatch.CollisionWorld.updateSingleAabb(CollisionWorld.java:210)
at com.bulletphysics.collision.dispatch.CollisionWorld.updateAabbs(CollisionWorld.java:247)
at com.bulletphysics.collision.dispatch.CollisionWorld.performDiscreteCollisionDetection(CollisionWorld.java:135)
at com.bulletphysics.dynamics.DiscreteDynamicsWorld.internalSingleStepSimulation(DiscreteDynamicsWorld.java:378)
at com.bulletphysics.dynamics.DiscreteDynamicsWorld.stepSimulation(DiscreteDynamicsWorld.java:339)
at com.jme3.bullet.PhysicsSpace.update(PhysicsSpace.java:342)
at com.jme3.bullet.PhysicsSpace.update(PhysicsSpace.java:329)
at com.jme3.bullet.BulletAppState$1.call(BulletAppState.java:102)
at com.jme3.bullet.BulletAppState$1.call(BulletAppState.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
… 1 more[/patch]
It seems to happen when I try to scale the tree model, but I am not that sure.
It happens on another thread also, and breaks the bullet physics (everything stops moving).
I need to know if I did something wrong or that is a bug.
but when I try to go to where the exception happened, there is no sync source available, that I could evaluate variables.
I am running the latest SVN.
good thx!
http://hub.jmonkeyengine.org/groups/physics/forum/topic/jbullet-source-code/
btw, it took me some time to see that I had to click the search box and type jbullet source…
EDIT: btw, I found the bug… it was a by zero division, leading to infinity float value… when passed to node.scale(f) lead to the crash… the point is, shouldnt it say/inform that there is a by zero division happening???
EDIT: there is absolutely no way to workaround division by zero on float values in the whole internet…