Skip to content

Instantly share code, notes, and snippets.

@bdew
Created September 27, 2015 12:16
Show Gist options
  • Save bdew/5aa22f08fdd7d4559bd2 to your computer and use it in GitHub Desktop.
Save bdew/5aa22f08fdd7d4559bd2 to your computer and use it in GitHub Desktop.
Hafen deadlock
2015-09-27 15:15:34
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode):
"JMX server connection timeout 67" #67 daemon prio=5 os_prio=0 tid=0x000000001c443000 nid=0x1af4 in Object.wait() [0x000000001a61f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unknown Source)
- locked <0x00000000fc3ed3d0> (a [I)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"RMI Scheduler(0)" #66 daemon prio=5 os_prio=0 tid=0x000000001c444800 nid=0x1e68 waiting on condition [0x000000001a51f000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000fc3ee838> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"RMI TCP Connection(1)-10.0.0.207" #65 daemon prio=5 os_prio=0 tid=0x000000001c441000 nid=0x570 runnable [0x000000001a41d000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
- locked <0x00000000fc418f90> (a java.io.BufferedInputStream)
at java.io.FilterInputStream.read(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$256(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$18/778632037.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- <0x00000000fc416778> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"RMI TCP Accept-0" #64 daemon prio=5 os_prio=0 tid=0x000000001c442800 nid=0x1b78 runnable [0x000000001a1fe000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
at java.net.AbstractPlainSocketImpl.accept(Unknown Source)
at java.net.PlainSocketImpl.accept(Unknown Source)
- locked <0x00000000fc3ed510> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(Unknown Source)
at java.net.ServerSocket.accept(Unknown Source)
at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Java Sound Event Dispatcher" #57 daemon prio=5 os_prio=0 tid=0x000000001c6f7000 nid=0xbb4 in Object.wait() [0x0000000026bff000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at com.sun.media.sound.EventDispatcher.dispatchEvents(Unknown Source)
- locked <0x00000000e0e16938> (a com.sun.media.sound.EventDispatcher)
at com.sun.media.sound.EventDispatcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Haven audio player" #56 daemon prio=5 os_prio=0 tid=0x000000001c6f6800 nid=0x22a4 in Object.wait() [0x000000001f85f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at com.sun.media.sound.DirectAudioDevice$DirectDL.write(Unknown Source)
- locked <0x00000000e0e175c8> (a java.lang.Object)
at haven.Audio$Player.run(Audio.java:473)
Locked ownable synchronizers:
- None
"Server time ticker" #55 daemon prio=5 os_prio=0 tid=0x000000001c6fb000 nid=0x2c04 waiting on condition [0x000000002489f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at haven.Session$Ticker.run(Session.java:222)
Locked ownable synchronizers:
- None
"Session writer" #54 daemon prio=5 os_prio=0 tid=0x000000001c6fa000 nid=0x28a4 in Object.wait() [0x000000002479f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at haven.Session$SWorker.run(Session.java:693)
- locked <0x00000000e1044c30> (a haven.Session$SWorker)
Locked ownable synchronizers:
- None
"Session reader" #53 daemon prio=5 os_prio=0 tid=0x000000001c6fb800 nid=0x2544 runnable [0x000000002469e000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
at java.net.DualStackPlainDatagramSocketImpl.peekData(Unknown Source)
- locked <0x00000000e1044830> (a java.net.DualStackPlainDatagramSocketImpl)
at java.net.DatagramSocket.receive(Unknown Source)
- locked <0x00000000f5592500> (a java.net.DatagramPacket)
- locked <0x00000000e10447f0> (a java.net.DatagramSocket)
at haven.Session$RWorker.run(Session.java:573)
Locked ownable synchronizers:
- None
"D3D Screen Updater" #52 daemon prio=7 os_prio=1 tid=0x000000001c6f5800 nid=0x3498 in Object.wait() [0x000000001e8ae000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
- locked <0x00000000e0173868> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Render thread" #51 prio=5 os_prio=0 tid=0x000000001c6f9800 nid=0x33b0 in Object.wait() [0x000000001df0f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x00000000fc407af0> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:53)
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$6.uglyjoglhack(HavenPanel.java:446)
at haven.HavenPanel$6.run(HavenPanel.java:481)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Haven UI thread" #50 prio=5 os_prio=0 tid=0x000000001c6f4000 nid=0x27fc waiting for monitor entry [0x000000001de0f000]
java.lang.Thread.State: BLOCKED (on object monitor)
at haven.HavenPanel.run(HavenPanel.java:518)
- waiting to lock <0x00000000e13b3890> (a haven.UI)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Haven main thread" #43 prio=5 os_prio=0 tid=0x000000001c6f2800 nid=0x3480 waiting for monitor entry [0x000000001dd0f000]
java.lang.Thread.State: BLOCKED (on object monitor)
at haven.MapView.uimsg(MapView.java:1083)
- waiting to lock <0x00000000e1ca2dc0> (a haven.MapView)
at haven.UI.uimsg(UI.java:236)
- locked <0x00000000e13b3890> (a haven.UI)
at haven.RemoteUI.run(RemoteUI.java:70)
- locked <0x00000000e13b3890> (a haven.UI)
at haven.MainFrame.run(MainFrame.java:257)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Haven main thread-SharedResourceRunner" #49 daemon prio=5 os_prio=0 tid=0x000000001c6f8800 nid=0x32c4 in Object.wait() [0x000000001811f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e0e17838> (a jogamp.opengl.SharedResourceRunner)
at java.lang.Object.wait(Unknown Source)
at jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:274)
- locked <0x00000000e0e17838> (a jogamp.opengl.SharedResourceRunner)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Haven main thread" #38 prio=5 os_prio=0 tid=0x00000000173c5000 nid=0x290c in Object.wait() [0x000000001b5ef000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e02c8040> (a haven.HackThread)
at java.lang.Thread.join(Unknown Source)
- locked <0x00000000e02c8040> (a haven.HackThread)
at java.lang.Thread.join(Unknown Source)
at haven.MainFrame.main2(MainFrame.java:386)
at haven.MainFrame.access$100(MainFrame.java:35)
at haven.MainFrame$7.run(MainFrame.java:424)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Error reporter" #36 daemon prio=5 os_prio=0 tid=0x00000000173c8800 nid=0x339c in Object.wait() [0x000000001af0e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e03dd398> (a java.util.LinkedList)
at java.lang.Object.wait(Unknown Source)
at haven.error.ErrorHandler$Reporter.run(ErrorHandler.java:78)
- locked <0x00000000e03dd398> (a java.util.LinkedList)
Locked ownable synchronizers:
- None
"AWT-EventQueue-0" #35 prio=6 os_prio=0 tid=0x00000000173c4000 nid=0x2558 waiting on condition [0x000000001ac0e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000e0350ee0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.awt.EventQueue.getNextEvent(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)
Locked ownable synchronizers:
- None
"AWT-EventQueue-2" #34 prio=6 os_prio=0 tid=0x00000000173c6800 nid=0x1f30 waiting for monitor entry [0x000000001a2fd000]
java.lang.Thread.State: BLOCKED (on object monitor)
at haven.UI.wdgmsg(UI.java:224)
- waiting to lock <0x00000000e13b3890> (a haven.UI)
at haven.Widget.wdgmsg(Widget.java:578)
at haven.Widget.wdgmsg(Widget.java:580)
at haven.GameUI.wdgmsg(GameUI.java:677)
at haven.Widget.wdgmsg(Widget.java:580)
at haven.Widget.wdgmsg(Widget.java:573)
at haven.MapView$Selector.mmouseup(MapView.java:1403)
- locked <0x00000000e1ca2dc0> (a haven.MapView)
at haven.MapView$GrabXL$2.hit(MapView.java:1330)
at haven.MapView$Maptest$1.done(MapView.java:1117)
at haven.MapView$Maptest$1.done(MapView.java:1114)
at haven.MapView$5.ckdone(MapView.java:779)
- locked <0x00000000fc41b5a0> (a haven.MapView$5)
at haven.MapView$5$3.done(MapView.java:768)
at haven.MapView$5$3.done(MapView.java:762)
at haven.GOut$1.run(GOut.java:538)
at haven.BGL$3.run(BGL.java:117)
at haven.BGL.run(BGL.java:78)
at haven.HavenPanel.redraw(HavenPanel.java:392)
at haven.HavenPanel$1.display(HavenPanel.java:102)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
- locked <0x00000000e156f1c8> (a java.lang.Object)
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)
Locked ownable synchronizers:
- <0x00000000e0e20c38> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000000e0e20d58> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000000e0f00a98> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
"AWT-EventQueue-1" #31 prio=6 os_prio=0 tid=0x00000000173c5800 nid=0x24b8 waiting on condition [0x000000001a0fe000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000e034e728> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.awt.EventQueue.getNextEvent(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)
Locked ownable synchronizers:
- None
"AWT-Shutdown" #32 prio=5 os_prio=0 tid=0x00000000173cb000 nid=0x3640 in Object.wait() [0x0000000017f1f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e032deb8> (a java.lang.Object)
at java.lang.Object.wait(Unknown Source)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x00000000e032deb8> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"CacheCleanUpThread" #24 daemon prio=5 os_prio=0 tid=0x00000000173d1800 nid=0x2b78 in Object.wait() [0x000000001841f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e034ef88> (a com.sun.deploy.cache.CleanupThread)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
- locked <0x00000000e034ef88> (a com.sun.deploy.cache.CleanupThread)
Locked ownable synchronizers:
- None
"CacheMemoryCleanUpThread" #21 daemon prio=5 os_prio=0 tid=0x00000000173be800 nid=0x3230 in Object.wait() [0x000000001831f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000e054e190> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)
Locked ownable synchronizers:
- None
"MemoryCache-DelayedCleanup" #22 daemon prio=5 os_prio=0 tid=0x00000000173bc000 nid=0x349c in Object.wait() [0x000000001821f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e034f400> (a java.util.TaskQueue)
at java.util.TimerThread.mainLoop(Unknown Source)
- locked <0x00000000e034f400> (a java.util.TaskQueue)
at java.util.TimerThread.run(Unknown Source)
Locked ownable synchronizers:
- None
"DestroyJavaVM" #19 prio=5 os_prio=0 tid=0x0000000002588800 nid=0x312c waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Javaws Secure Thread" #17 daemon prio=5 os_prio=0 tid=0x0000000016d8d800 nid=0xd10 in Object.wait() [0x000000001801f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e03509c0> (a java.lang.Object)
at java.lang.Object.wait(Unknown Source)
at com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)
- locked <0x00000000e03509c0> (a java.lang.Object)
Locked ownable synchronizers:
- None
"AWT-Windows" #14 daemon prio=6 os_prio=0 tid=0x0000000016d86800 nid=0x3410 runnable [0x000000000093f000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
Locked ownable synchronizers:
- None
"Java2D Disposer" #12 daemon prio=10 os_prio=2 tid=0x0000000016f30000 nid=0xb44 in Object.wait() [0x0000000017c4f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000e0550618> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"traceMsgQueueThread" #10 daemon prio=5 os_prio=0 tid=0x0000000016c0d000 nid=0x342c in Object.wait() [0x000000001725f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e0312400> (a java.util.ArrayList)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x00000000e0312400> (a java.util.ArrayList)
at java.lang.Thread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x0000000016bac800 nid=0xc44 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000013cdf000 nid=0x74 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000013cd8000 nid=0x56c waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000013cd0800 nid=0x2840 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000013cce000 nid=0x15cc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000013ccc800 nid=0x17c0 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000000267a000 nid=0x17c4 in Object.wait() [0x0000000014f0e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000e0852608> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
Locked ownable synchronizers:
- None
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000002676800 nid=0x17a8 in Object.wait() [0x0000000014e0f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x00000000e02dada0> (a java.lang.ref.Reference$Lock)
Locked ownable synchronizers:
- None
"VM Thread" os_prio=2 tid=0x0000000013c88000 nid=0x1798 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000025a0000 nid=0xe4 runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000025a1800 nid=0x17b0 runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000025a3000 nid=0x1790 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000025a5000 nid=0x454 runnable
"VM Periodic Task Thread" os_prio=2 tid=0x0000000016c04800 nid=0x6c0 waiting on condition
JNI global references: 2490
Found one Java-level deadlock:
=============================
"Haven UI thread":
waiting to lock monitor 0x0000000016f34d48 (object 0x00000000e13b3890, a haven.UI),
which is held by "Haven main thread"
"Haven main thread":
waiting to lock monitor 0x0000000013c8c398 (object 0x00000000e1ca2dc0, a haven.MapView),
which is held by "AWT-EventQueue-2"
"AWT-EventQueue-2":
waiting to lock monitor 0x0000000016f34d48 (object 0x00000000e13b3890, a haven.UI),
which is held by "Haven main thread"
Java stack information for the threads listed above:
===================================================
"Haven UI thread":
at haven.HavenPanel.run(HavenPanel.java:518)
- waiting to lock <0x00000000e13b3890> (a haven.UI)
at java.lang.Thread.run(Unknown Source)
"Haven main thread":
at haven.MapView.uimsg(MapView.java:1083)
- waiting to lock <0x00000000e1ca2dc0> (a haven.MapView)
at haven.UI.uimsg(UI.java:236)
- locked <0x00000000e13b3890> (a haven.UI)
at haven.RemoteUI.run(RemoteUI.java:70)
- locked <0x00000000e13b3890> (a haven.UI)
at haven.MainFrame.run(MainFrame.java:257)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-2":
at haven.UI.wdgmsg(UI.java:224)
- waiting to lock <0x00000000e13b3890> (a haven.UI)
at haven.Widget.wdgmsg(Widget.java:578)
at haven.Widget.wdgmsg(Widget.java:580)
at haven.GameUI.wdgmsg(GameUI.java:677)
at haven.Widget.wdgmsg(Widget.java:580)
at haven.Widget.wdgmsg(Widget.java:573)
at haven.MapView$Selector.mmouseup(MapView.java:1403)
- locked <0x00000000e1ca2dc0> (a haven.MapView)
at haven.MapView$GrabXL$2.hit(MapView.java:1330)
at haven.MapView$Maptest$1.done(MapView.java:1117)
at haven.MapView$Maptest$1.done(MapView.java:1114)
at haven.MapView$5.ckdone(MapView.java:779)
- locked <0x00000000fc41b5a0> (a haven.MapView$5)
at haven.MapView$5$3.done(MapView.java:768)
at haven.MapView$5$3.done(MapView.java:762)
at haven.GOut$1.run(GOut.java:538)
at haven.BGL$3.run(BGL.java:117)
at haven.BGL.run(BGL.java:78)
at haven.HavenPanel.redraw(HavenPanel.java:392)
at haven.HavenPanel$1.display(HavenPanel.java:102)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
- locked <0x00000000e156f1c8> (a java.lang.Object)
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)
Found 1 deadlock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment