Sample Output from Deadlock Detection Utility
^\Full thread dump Java HotSpot(TM) Client VM (1.4.1 mixed mode):
"DestroyJavaVM" prio=5 tid=0x2c788 nid=0x1 waiting on condition [0..ffbee16c]
"Thread-7" prio=5 tid=0x119570 nid=0x11 waiting for monitor entry [f1681000..f168199c]
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.Object)
- locked (a java.lang.String)
"Thread-6" prio=5 tid=0x118a18 nid=0x10 waiting for monitor entry [f1781000..f178199c]
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.String)
- locked (a java.lang.Object)
"Thread-5" prio=5 tid=0x117660 nid=0xf waiting on condition [f1881000..f188199c]
at java.lang.Thread.sleep(Native Method)
at Deadlock$3.run(Deadlock.java:55)
- locked (a java.lang.Object)
at java.lang.Thread.run(Thread.java:536)
"Thread-4" prio=5 tid=0x116ab8 nid=0xe waiting for monitor entry [f1981000..f198199c]
at Deadlock.jniEnter(Native Method)
at Deadlock$2.run(Deadlock.java:41)
at java.lang.Thread.run(Thread.java:536)
"Thread-3" prio=5 tid=0x115f10 nid=0xd runnable [f1a81000..f1a8199c]
at Deadlock.rawEnter(Deadlock.java:76)
at Deadlock$1.run(Deadlock.java:24)
at java.lang.Thread.run(Thread.java:536)
"Thread-2" prio=5 tid=0x1154a8 nid=0xc waiting for monitor entry [f1b81000..f1b8199c]
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.String)
- locked (a java.lang.Object)
"Thread-1" prio=5 tid=0x115270 nid=0xb waiting for monitor entry [f1c81000..f1c8199c]
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.Object)
- locked (a java.lang.Object)
"Signal Dispatcher" daemon prio=10 tid=0xbac48 nid=0x9 waiting on condition [0..0]
"Finalizer" daemon prio=8 tid=0xb5590 nid=0x6 in Object.wait() [fa381000..fa38199c]
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0xb3c40 nid=0x5 in Object.wait() [fdf81000..fdf8199c]
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:426)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
- locked (a java.lang.ref.Reference$Lock)
"VM Thread" prio=5 tid=0xb2808 nid=0x4 runnable
"VM Periodic Task Thread" prio=10 tid=0xb9190 nid=0x7 waiting on condition
"Suspend Checker Thread" prio=10 tid=0xb9ae8 nid=0x8 runnable
Found one Java-level deadlock:
=============================
"Thread-7":
waiting to lock monitor 0xb48d8 (object 0xf203fe18, a java.lang.Object),
which is held by "Thread-6"
"Thread-6":
waiting to lock monitor 0xb48a0 (object 0xf6112a88, a java.lang.String),
which is held by "Thread-7"
Java stack information for the threads listed above:
===================================================
"Thread-7":
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.Object)
- locked (a java.lang.String)
"Thread-6":
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.String)
- locked (a java.lang.Object)
Found one Java-level deadlock:
=============================
"Thread-4":
waiting to lock monitor 0xb4868 (object 0xf203fdf8, a java.lang.Object)
in JNI, which is held by "Thread-1"
"Thread-1":
waiting to lock monitor 0xb4910 (object 0xf203fe00, a java.lang.Object),
which is held by "Thread-2"
"Thread-2":
waiting to lock monitor 0xb4830 (object 0xf6112a60, a java.lang.String),
which is held by "Thread-3"
"Thread-3":
waiting to lock monitor 0x119520 (JVMDI/JVMPI raw monitor),
which is held by "Thread-4"
Java stack information for the threads listed above:
===================================================
"Thread-4":
at Deadlock.jniEnter(Native Method)
at Deadlock$2.run(Deadlock.java:41)
at java.lang.Thread.run(Thread.java:536)
"Thread-1":
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.Object)
- locked (a java.lang.Object)
"Thread-2":
at Locker.run(Deadlock.java:98)
- waiting to lock (a java.lang.String)
- locked (a java.lang.Object)
"Thread-3":
at Deadlock.rawEnter(Deadlock.java:76)
at Deadlock$1.run(Deadlock.java:24)
at java.lang.Thread.run(Thread.java:536)
Found 2 deadlocks.