<AWT Dev> hang when doing a fastdebug build
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