5 Replies Latest reply: Apr 2, 2012 3:38 AM by gimbal2 RSS

    Unable to determine reason for blocked JVM


      I have a case which is reproducible quite often, JVM hangs and takes all the CPU resources (>95%) and if I try to take a stack trace with jstack it fails.
      When I try with -F option, I get something like:

      Debugger attached successfully.
      Server compiler detected.
      JVM version is 20.6-b01
      Deadlock Detection:

      No deadlocks found.

      Thread 3736: (state = IN_VM)
      - java.lang.Thread.start0() @bci=0 (Interpreted frame)
      - java.lang.Thread.start() @bci=32, line=640 (Interpreted frame)
      - sun.misc.Signal.dispatch(int) @bci=70, line=199 (Interpreted frame)

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

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

      Thread 3732: (state = IN_VM)

      Is it possible to have threads which are not available in this report? Could you help with some ideas how to troubleshoot further?

      OS is RHEL 6 running on x86_64 architecture.


      Edited by: 923891 on Mar 28, 2012 12:49 AM