0 Replies Latest reply on Feb 8, 2018 7:03 AM by Sreekanth Munarai

    Thread dumps||213threads are BLOCKED on sun.misc.Unsafe.park(boolean,. If threads are BLOCKED, application will become unresponsive. Examine below stacktrace to see why they are locked.

    Sreekanth Munarai Master

      Hello Folks,

       

      Have recently upgraded to Java7 from Java6 and hosting JBoss 7.1.1 AS in windows.

      My application suddenly started encountering slowness, utilization on the server is normal memory and CPU.

      The application works normal post restart of the instance until sometime but eventually slows down. Have captured multiple thread-dumps, around more than 200 threads are in the blocked state.

      But unable to interpret the same, all the thread are containing the same content.

       

       

      1 threads are in BLOCKED state across all dumps

      Thread 42 - threadId:Thread 42 - state:BLOCKED
      stackTrace:
      - java.lang.Thread.sleep(long) @bci=0 (Compiled frame; information may be imprecise)
      - org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run() @bci=22, line=1580 (Interpreted frame)
      - java.lang.Thread.run() @bci=11 (Interpreted frame)

       

       

       

      213 threads are in BLOCKED state across all dumps

       

       

      Thread 243 - threadId:Thread 243 - state:BLOCKED
      stackTrace:
      - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise)
      - java.util.concurrent.locks.LockSupport.parkNanos(java.lang.Object, long) @bci=20 (Interpreted frame)
      - java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) @bci=68 (Interpreted frame)
      - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=122 (Interpreted frame)
      - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=1 (Interpreted frame)
      - java.util.concurrent.ThreadPoolExecutor.getTask() @bci=156 (Interpreted frame)
      - java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=26 (Compiled frame)
      - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5 (Interpreted frame)
      - java.lang.Thread.run() @bci=11 (Interpreted frame)

       

       

       

      Thread 200 - threadId:Thread 200 - state:BLOCKED
      stackTrace:
      - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise)
      - java.util.concurrent.locks.LockSupport.parkNanos(java.lang.Object, long) @bci=20 (Interpreted frame)
      - java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) @bci=68 (Interpreted frame)
      - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=122 (Interpreted frame)
      - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=1 (Interpreted frame)
      - java.util.concurrent.ThreadPoolExecutor.getTask() @bci=156 (Interpreted frame)
      - java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=26 (Compiled frame)
      - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5 (Interpreted frame)
      - java.lang.Thread.run() @bci=11 (Interpreted frame)

       

      -------same is repeated in all threads
      anyone help to interpret the above threads. Is this causing due to Java7
      Thanks,
      Sreekanth