Sample Output from Deadlock Detection Utility

^\Full thread dump Java HotSpot 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.