## 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.