Test
closed/java/util/concurrent/locks/Lock/CheckedLockLoops.java
intermittently deadlocks.
Thread dump is the following:
Full thread dump Java HotSpot(TM) Client VM (14.0-b06-2008-10-02-000402.et151817.hs14b06-fastdebug mixed mode):
"Attach Listener" daemon prio=10 tid=0x08214800 nid=0x3630 waiting on condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x08214800 [0x3630] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"pool-1-thread-2" prio=10 tid=0x08212c00 nid=0x3143 waiting on condition [0xac957000..0xac957d50]
java.lang.Thread.State: WAITING (parking)
JavaThread state: _thread_blocked
Thread: 0x08212c00 [0x3143] 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 <0xad037f00> (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:1974)
at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
at CheckedLockLoops$LockLoop.run(CheckedLockLoops.java:151)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:713)
"pool-1-thread-1" prio=10 tid=0x0820b000 nid=0x3142 waiting on condition [0xac9a8000..0xac9a8dd0]
java.lang.Thread.State: WAITING (parking)
JavaThread state: _thread_blocked
Thread: 0x0820b000 [0x3142] 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 <0xad037f00> (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:1974)
at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
at CheckedLockLoops$LockLoop.run(CheckedLockLoops.java:151)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:713)
"MainThread" prio=10 tid=0x08205400 nid=0x3141 waiting on condition [0xac9f9000..0xac9fa050]
java.lang.Thread.State: WAITING (parking)
JavaThread state: _thread_blocked
Thread: 0x08205400 [0x3141] 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 <0xad037f00> (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:1974)
at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
at CheckedLockLoops$LockLoop.test(CheckedLockLoops.java:133)
at CheckedLockLoops.oneTest(CheckedLockLoops.java:86)
at CheckedLockLoops.main(CheckedLockLoops.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
at java.lang.Thread.run(Thread.java:713)
"Low Memory Detector" daemon prio=10 tid=0x080e4c00 nid=0x313f runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x080e4c00 [0x313f] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"CompilerThread0" daemon prio=10 tid=0x080dec00 nid=0x313e waiting on condition [0x00000000..0xacb8b7cc]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x080dec00 [0x313e] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"Signal Dispatcher" daemon prio=10 tid=0x080dd000 nid=0x313d runnable [0x00000000..0xacbdcae0]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x080dd000 [0x313d] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"Finalizer" daemon prio=10 tid=0x080c1400 nid=0x313c in Object.wait() [0xacc6c000..0xacc6ced0]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
Thread: 0x080c1400 [0x313c] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
at java.lang.Object.wait(Native Method)
- waiting on <0xacfa0b30> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
- locked <0xacfa0b30> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
"Reference Handler" daemon prio=10 tid=0x080bfc00 nid=0x313b in Object.wait() [0xaccbd000..0xaccbdd50]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
Thread: 0x080bfc00 [0x313b] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
at java.lang.Object.wait(Native Method)
- waiting on <0xacfa0a38> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0xacfa0a38> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x08064c00 nid=0x3139 in Object.wait() [0xb70fb000..0xb70fc1cc]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
Thread: 0x08064c00 [0x3139] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
at java.lang.Object.wait(Native Method)
- waiting on <0xad00caa8> (a java.lang.Thread)
at java.lang.Thread.join(Thread.java:1265)
- locked <0xad00caa8> (a java.lang.Thread)
at java.lang.Thread.join(Thread.java:1339)
at com.sun.javatest.regtest.MainWrapper.main(MainWrapper.java:71)
"VM Thread" prio=10 tid=0x080bac00 nid=0x313a runnable
"VM Periodic Task Thread" prio=10 tid=0x080e7000 nid=0x3140 waiting on condition
Compiler thread printing unimplemented.
JNI global references: 700
closed/java/util/concurrent/locks/Lock/CheckedLockLoops.java
intermittently deadlocks.
Thread dump is the following:
Full thread dump Java HotSpot(TM) Client VM (14.0-b06-2008-10-02-000402.et151817.hs14b06-fastdebug mixed mode):
"Attach Listener" daemon prio=10 tid=0x08214800 nid=0x3630 waiting on condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x08214800 [0x3630] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"pool-1-thread-2" prio=10 tid=0x08212c00 nid=0x3143 waiting on condition [0xac957000..0xac957d50]
java.lang.Thread.State: WAITING (parking)
JavaThread state: _thread_blocked
Thread: 0x08212c00 [0x3143] 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 <0xad037f00> (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:1974)
at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
at CheckedLockLoops$LockLoop.run(CheckedLockLoops.java:151)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:713)
"pool-1-thread-1" prio=10 tid=0x0820b000 nid=0x3142 waiting on condition [0xac9a8000..0xac9a8dd0]
java.lang.Thread.State: WAITING (parking)
JavaThread state: _thread_blocked
Thread: 0x0820b000 [0x3142] 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 <0xad037f00> (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:1974)
at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
at CheckedLockLoops$LockLoop.run(CheckedLockLoops.java:151)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:713)
"MainThread" prio=10 tid=0x08205400 nid=0x3141 waiting on condition [0xac9f9000..0xac9fa050]
java.lang.Thread.State: WAITING (parking)
JavaThread state: _thread_blocked
Thread: 0x08205400 [0x3141] 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 <0xad037f00> (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:1974)
at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:227)
at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:355)
at CheckedLockLoops$LockLoop.test(CheckedLockLoops.java:133)
at CheckedLockLoops.oneTest(CheckedLockLoops.java:86)
at CheckedLockLoops.main(CheckedLockLoops.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
at java.lang.Thread.run(Thread.java:713)
"Low Memory Detector" daemon prio=10 tid=0x080e4c00 nid=0x313f runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x080e4c00 [0x313f] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"CompilerThread0" daemon prio=10 tid=0x080dec00 nid=0x313e waiting on condition [0x00000000..0xacb8b7cc]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x080dec00 [0x313e] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"Signal Dispatcher" daemon prio=10 tid=0x080dd000 nid=0x313d runnable [0x00000000..0xacbdcae0]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
Thread: 0x080dd000 [0x313d] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
"Finalizer" daemon prio=10 tid=0x080c1400 nid=0x313c in Object.wait() [0xacc6c000..0xacc6ced0]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
Thread: 0x080c1400 [0x313c] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
at java.lang.Object.wait(Native Method)
- waiting on <0xacfa0b30> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
- locked <0xacfa0b30> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
"Reference Handler" daemon prio=10 tid=0x080bfc00 nid=0x313b in Object.wait() [0xaccbd000..0xaccbdd50]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
Thread: 0x080bfc00 [0x313b] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
at java.lang.Object.wait(Native Method)
- waiting on <0xacfa0a38> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0xacfa0a38> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x08064c00 nid=0x3139 in Object.wait() [0xb70fb000..0xb70fc1cc]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
Thread: 0x08064c00 [0x3139] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
JavaThread state: _thread_blocked
at java.lang.Object.wait(Native Method)
- waiting on <0xad00caa8> (a java.lang.Thread)
at java.lang.Thread.join(Thread.java:1265)
- locked <0xad00caa8> (a java.lang.Thread)
at java.lang.Thread.join(Thread.java:1339)
at com.sun.javatest.regtest.MainWrapper.main(MainWrapper.java:71)
"VM Thread" prio=10 tid=0x080bac00 nid=0x313a runnable
"VM Periodic Task Thread" prio=10 tid=0x080e7000 nid=0x3140 waiting on condition
Compiler thread printing unimplemented.
JNI global references: 700