java.lang.RuntimeException: java.lang.IllegalArgumentException: Comparison method violates its general contract!
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.HavenPanel.uglyjoglhack(HavenPanel.java:418)
at haven.HavenPanel.run(HavenPanel.java:453)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(Unknown Source)
at java.util.TimSort.mergeAt(Unknown Source)
at java.util.TimSort.mergeCollapse(Unknown Source)
at java.util.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at haven.RenderList.fin(RenderList.java:217)
at haven.PView.draw(PView.java:225)
at haven.MapView.draw(MapView.java:1052)
at haven.GameUI.drawFiltered(GameUI.java:658)
at haven.GameUI.draw(GameUI.java:666)
at haven.Widget.draw(Widget.java:514)
at haven.Widget.draw(Widget.java:519)
at haven.RootWidget.draw(RootWidget.java:182)
at haven.UI.draw(UI.java:165)
at haven.HavenPanel.redraw(HavenPanel.java:296)
at haven.HavenPanel$1.display(HavenPanel.java:92)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.HavenPanel.uglyjoglhack(HavenPanel.java:418)
at haven.HavenPanel.run(HavenPanel.java:453)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(Unknown Source)
at java.util.TimSort.mergeAt(Unknown Source)
at java.util.TimSort.mergeCollapse(Unknown Source)
at java.util.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at haven.RenderList.fin(RenderList.java:217)
at haven.PView.draw(PView.java:225)
at haven.MapView.draw(MapView.java:1052)
at haven.GameUI.drawFiltered(GameUI.java:658)
at haven.GameUI.draw(GameUI.java:666)
at haven.Widget.draw(Widget.java:514)
at haven.Widget.draw(Widget.java:519)
at haven.RootWidget.draw(RootWidget.java:182)
at haven.UI.draw(UI.java:165)
at haven.HavenPanel.redraw(HavenPanel.java:296)
at haven.HavenPanel$1.display(HavenPanel.java:92)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Sometimes I can port to town normally, but sometimes i get this crash report, and when i try to log on again it just crashes again.