hang when doing a fastdebug build (original) (raw)

Pete Brunet peter.brunet at oracle.com
Mon Feb 20 10:22:26 PST 2012


There is something about a patch I am working on that results in a hang when exiting an app with a fastdebug build but not with a product build. The results of ctrl+break follow. Could someone look at this and give me a hint as to what the deadlock is? Thanks, Pete

Full thread dump OpenJDK Client VM (23.0-b11-fastdebug mixed mode):

"Thread-0" daemon prio=6 tid=0x0863ac00 nid=0x10c8 runnable [0x07d5f000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_in_native Thread: 0x0863ac00 [0x10c8] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_in_native at sun.awt.windows.WToolkit.shutdown(Native Method) at sun.awt.windows.WToolkit.access$200(WToolkit.java:67) at sun.awt.windows.WToolkit$2$1.run(WToolkit.java:275) at java.lang.Thread.run(Thread.java:722)

"SwingWorker-pool-1-thread-1" daemon prio=6 tid=0x088c3800 nid=0x166c waiting on condition [0x09d2f000] java.lang.Thread.State: WAITING (parking) JavaThread state: _thread_blocked Thread: 0x088c3800 [0x166c] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x15ffc1e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1045) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)

"DestroyJavaVM" prio=6 tid=0x00ec9000 nid=0xfa0 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_blocked Thread: 0x00ec9000 [0xfa0] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked

"AWT-EventQueue-0" prio=6 tid=0x0581f800 nid=0x125c in Object.wait() [0x084de000] java.lang.Thread.State: WAITING (on object monitor) JavaThread state: _thread_blocked Thread: 0x0581f800 [0x125c] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.Object.wait(Native Method) - waiting on <0x155c77e0> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1258) - locked <0x155c77e0> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1332) at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106) at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46) at java.lang.Shutdown.runHooks(Shutdown.java:123) at java.lang.Shutdown.sequence(Shutdown.java:167) at java.lang.Shutdown.exit(Shutdown.java:212) - locked <0x156be6b8> (a java.lang.Class for java.lang.Shutdown) at java.lang.Runtime.exit(Runtime.java:107) at java.lang.System.exit(System.java:961) at javax.swing.JFrame.processWindowEvent(JFrame.java:312) at java.awt.Window.processEvent(Window.java:2003) at java.awt.Component.dispatchEventImpl(Component.java:4866) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4691) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703) at java.awt.EventQueue.access$000(EventQueue.java:102) at java.awt.EventQueue$3.run(EventQueue.java:662) at java.awt.EventQueue$3.run(EventQueue.java:660) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:676) at java.awt.EventQueue$4.run(EventQueue.java:674) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:673) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:216) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:135) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:123) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:119) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:111) at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

"AWT-Shutdown" prio=6 tid=0x0581f400 nid=0x1bb0 in Object.wait() [0x0837f000] java.lang.Thread.State: WAITING (on object monitor) JavaThread state: _thread_blocked Thread: 0x0581f400 [0x1bb0] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.Object.wait(Native Method) - waiting on <0x15596128> (a java.lang.Object) at java.lang.Object.wait(Object.java:502) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:290) - locked <0x15596128> (a java.lang.Object) at java.lang.Thread.run(Thread.java:722)

"TimerQueue" daemon prio=6 tid=0x04df5400 nid=0x18a4 waiting on condition [0x0862f000] java.lang.Thread.State: WAITING (parking) JavaThread state: _thread_blocked Thread: 0x04df5400 [0x18a4] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x15684668> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.DelayQueue.take(DelayQueue.java:209) at javax.swing.TimerQueue.run(TimerQueue.java:171) at java.lang.Thread.run(Thread.java:722)

"AWT-Windows" daemon prio=6 tid=0x056d7c00 nid=0x1658 runnable [0x05cff000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_blocked Thread: 0x056d7c00 [0x1658] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(WToolkit.java:299) at java.lang.Thread.run(Thread.java:722)

"Java2D Disposer" daemon prio=10 tid=0x04e04400 nid=0x478 in Object.wait() [0x05b0f000] java.lang.Thread.State: WAITING (on object monitor) JavaThread state: _thread_blocked Thread: 0x04e04400 [0x478] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.Object.wait(Native Method) - waiting on <0x156847b0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x156847b0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at sun.java2d.Disposer.run(Disposer.java:145) at java.lang.Thread.run(Thread.java:722)

"Service Thread" daemon prio=6 tid=0x04cf8800 nid=0x1bb8 runnable [0x00000000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_blocked Thread: 0x04cf8800 [0x1bb8] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked

"C1 CompilerThread0" daemon prio=10 tid=0x04cf2800 nid=0x598 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_blocked Thread: 0x04cf2800 [0x598] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked

"Attach Listener" daemon prio=10 tid=0x04cee000 nid=0x108 runnable [0x00000000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_blocked Thread: 0x04cee000 [0x108] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked

"Signal Dispatcher" daemon prio=10 tid=0x04ceac00 nid=0x1678 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_blocked Thread: 0x04ceac00 [0x1678] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked

"Finalizer" daemon prio=8 tid=0x04c35c00 nid=0x12b4 in Object.wait() [0x04fef000] java.lang.Thread.State: WAITING (on object monitor) JavaThread state: _thread_blocked Thread: 0x04c35c00 [0x12b4] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.Object.wait(Native Method) - waiting on <0x15684a78> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x15684a78> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x04c30c00 nid=0xd48 in Object.wait() [0x0100f000] java.lang.Thread.State: WAITING (on object monitor) JavaThread state: _thread_blocked Thread: 0x04c30c00 [0xd48] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.Object.wait(Native Method) - waiting on <0x15684b00> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:142) - locked <0x15684b00> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x00f9fc00 nid=0x1a38 runnable

"VM Periodic Task Thread" prio=10 tid=0x04d09c00 nid=0x1aa0 waiting on condition

Compiler thread printing unimplemented.

JNI global references: 569

Heap def new generation total 13952K, used 13140K [0x10030000, 0x10f50000, 0x15580000) eden space 12416K, 98% used [0x10030000, 0x10c2e050, 0x10c50000) from space 1536K, 56% used [0x10c50000, 0x10d27328, 0x10dd0000) to space 1536K, 0% used [0x10dd0000, 0x10dd0000, 0x10f50000) tenured generation total 30860K, used 19177K [0x15580000, 0x173a3000, 0x20030000) the space 30860K, 62% used [0x15580000, 0x1683a478, 0x1683a600, 0x173a3000) compacting perm gen total 12288K, used 11265K [0x20030000, 0x20c30000, 0x24030000) the space 12288K, 91% used [0x20030000, 0x20b30568, 0x20b30600, 0x20c30000) No shared spaces configured.

C:\OpenJDK\jdk8\build\windows-i586-fastdebug>



More information about the awt-dev mailing list