Howdy friends,
I’ve been upgrading some of my old applications to the new Android SDK / JME 3.2.4. This error does not occur on PC.
I’ve gotten the following error on open for one of my games:
JNI DETECTED ERROR IN APPLICATION: JNI Throw called with pending exception java.lang.IllegalArgumentException: Comparison method violates its general contract!
at void java.util.TimSort.mergeHi(int, int, int, int) (TimSort.java:899)
at void java.util.TimSort.mergeAt(int) (TimSort.java:516)
at void java.util.TimSort.mergeCollapse() (TimSort.java:441)
at void java.util.TimSort.sort(java.lang.Object[], int, int, java.util.Comparator, java.lang.Object[], int, int) (TimSort.java:245)
at void java.util.Arrays.sort(java.lang.Object[], int, int, java.util.Comparator) (Arrays.java:1523)
at void java.util.Collections.sort(java.util.List, java.util.Comparator) (Collections.java:238)
at java.util.List com.jme3.bullet.PhysicsSpace.rayTest(com.jme3.math.Vector3f, com.jme3.math.Vector3f, java.util.List) (PhysicsSpace.java:1073)
at java.util.List com.jme3.bullet.PhysicsSpace.rayTest(com.jme3.math.Vector3f, com.jme3.math.Vector3f) (PhysicsSpace.java:1006)
at void com.jme3.bullet.control.BetterCharacterControl.checkOnGround() (BetterCharacterControl.java:503)
at void com.jme3.bullet.control.BetterCharacterControl.prePhysicsTick(com.jme3.bullet.PhysicsSpace, float) (BetterCharacterControl.java:200)
at void com.jme3.bullet.PhysicsSpace.preTick_native(float) (PhysicsSpace.java:300)
at void com.jme3.bullet.PhysicsSpace.stepSimulation(long, float, int, float) (PhysicsSpace.java:-2)
at void com.jme3.bullet.PhysicsSpace.update(float, int) (PhysicsSpace.java:480)
at void com.jme3.bullet.PhysicsSpace.update(float) (PhysicsSpace.java:465)
at void com.jme3.bullet.BulletAppState.render(com.jme3.renderer.RenderManager) (BulletAppState.java:398)
at void com.jme3.app.state.AppStateManager.render(com.jme3.renderer.RenderManager) (AppStateManager.java:300)
at void com.jme3.app.SimpleApplication.update() (SimpleApplication.java:250)
at void com.jme3.app.AndroidHarness.update() (AndroidHarness.java:496)
at void com.jme3.system.android.OGLESContext.onDrawFrame(javax.microedition.khronos.opengles.GL10) (OGLESContext.java:342)
at void android.opengl.GLSurfaceView$GLThread.guardedRun() (GLSurfaceView.java:1562)
at void android.opengl.GLSurfaceView$GLThread.run() (GLSurfaceView.java:1262)
in call to Throw
from void com.jme3.bullet.PhysicsSpace.stepSimulation(long, float, int, float)
at com.jme3.bullet.PhysicsSpace.stepSimulation(Native method)
at com.jme3.bullet.PhysicsSpace.update(PhysicsSpace.java:480)
at com.jme3.bullet.PhysicsSpace.update(PhysicsSpace.java:465)
at com.jme3.bullet.BulletAppState.render(BulletAppState.java:398)
at com.jme3.app.state.AppStateManager.render(AppStateManager.java:300)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:250)
at com.jme3.app.AndroidHarness.update(AndroidHarness.java:496)
at com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:342)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1562)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1262)
art/runtime/runtime.cc:419] Runtime aborting…
art/runtime/runtime.cc:419] Aborting thread:
If this stack trace makes sense to anyone it help would be much appreciated.
Thanks for reading,
~BigBob