Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6370241

SA: jstack -F gets an NPE trying to show a deadlock

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • 6
    • core-svc
    • b77
    • generic
    • generic

      The test program is attached.
      Here is what happens when it is run, and jstack -F is
      run on its PID:

      java TestDeadlock &
      [2] 10120

      B trying to own monitor 2
      B now owns monitor 2
      A trying to own monitor 1
      A now owns monitor 1
      C trying to own monitor 3
      C now owns monitor 3
      D trying to own monitor 4
      D now owns monitor 4
      C trying to own monitor 4
      D trying to own monitor 1
      B trying to own monitor 3
      A trying to own monitor 2


      jstack -F 10120
      Attaching to process ID 10120, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 1.6.0-rc-b66
      Deadlock Detection:

      Found one Java-level deadlock:
      =============================

      "C":
       waiting for ownable synchronizer nulljava.lang.NullPointerException
      at sun.jvm.hotspot.runtime.DeadlockDetector.printOneDeadlock(DeadlockDetector.java:181)
      at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:100)
      at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:22)
      at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:35)
      at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:28)
      at sun.jvm.hotspot.tools.JStack.run(JStack.java:43)
      at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
      at sun.jvm.hotspot.tools.JStack.main(JStack.java:69)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:589)
      at sun.tools.jstack.JStack.runJStackTool(JStack.java:117)
      at sun.tools.jstack.JStack.main(JStack.java:83)
      Can't print deadlocks:null
      Thread t@2: (state = BLOCKED)


      Thread t@16: (state = BLOCKED)
       - TestDeadlock.two(java.lang.String) @bci=39, line=53 (Interpreted frame)
       - TestDeadlock.one(java.lang.String) @bci=77, line=44 (Interpreted frame)
       - TestDeadlock.run() @bci=7, line=32 (Interpreted frame)


      Thread t@15: (state = BLOCKED)
       - TestDeadlock.two(java.lang.String) @bci=39, line=53 (Interpreted frame)
       - TestDeadlock.one(java.lang.String) @bci=77, line=44 (Interpreted frame)
       - TestDeadlock.run() @bci=7, line=32 (Interpreted frame)


      Thread t@14: (state = BLOCKED)
       - TestDeadlock.two(java.lang.String) @bci=39, line=53 (Interpreted frame)
       - TestDeadlock.one(java.lang.String) @bci=77, line=44 (Interpreted frame)
       - TestDeadlock.run() @bci=7, line=32 (Interpreted frame)


      Thread t@13: (state = BLOCKED)
       - TestDeadlock.two(java.lang.String) @bci=39, line=53 (Interpreted frame)
       - TestDeadlock.one(java.lang.String) @bci=77, line=44 (Interpreted frame)
       - TestDeadlock.run() @bci=7, line=32 (Interpreted frame)


      Thread t@8: (state = BLOCKED)


      Thread t@7: (state = BLOCKED)
       - java.lang.Object.wait(long) @bci=675260531 (Interpreted frame)
       - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
       - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116 (Interpreted frame)
       - java.lang.ref.ReferenceQueue.remove() @bci=2, line=132 (Interpreted frame)
       - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=159 (Interpreted frame)


      Thread t@6: (state = BLOCKED)
       - java.lang.Object.wait(long) @bci=-1472223120 (Interpreted frame)
       - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
       - java.lang.Object.wait() @bci=2, line=484 (Interpreted frame)
       - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 (Interpreted frame)

            swamyv Swamy Venkataramanappa
            jjh James Holmlund (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: