This discussion is archived
2 Replies Latest reply: Sep 7, 2012 4:55 AM by EJP RSS

JVM threads BLOCKED

960660 Newbie
Currently Being Moderated
Hi,

One of our java application stopped responding. In the thread dump it is observed that JVM threads like "GC Daemon", "Low Memory Detector" etc are found to be in BLOCKED state. Also our application threads got blocked. I really wonder why JMV threads got blocked. Can anyone share your experience with such problems and how to overcome it. Environment details and Thread dump part can be found below

OS: RHEL 5.4
Java(TM) SE Runtime Environment (build 1.6.0_34-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.9-b04, mixed mode)

--------------------------------------------------
Thread 15910 "RMI Scheduler(0)": (state = BLOCKED)
     at sun.misc.Unsafe.park(Native Method)
     at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
     at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
     at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
     at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
     at java.lang.Thread.run(Thread.java:662)

Thread 15907 "GC Daemon": (state = BLOCKED)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x00000000f041e790> (a sun.misc.GC$LatencyLock)
     at sun.misc.GC$Daemon.run(GC.java:100)
     - locked <0x00000000f041e790> (a sun.misc.GC$LatencyLock)

Thread 15906 "RMI RenewClean-[10.36.107.139:49198]": (state = BLOCKED)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x00000000f041e710> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
     - locked <0x00000000f041e710> (a java.lang.ref.ReferenceQueue$Lock)
     at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
     at java.lang.Thread.run(Thread.java:662)

VM Thread 15809 "Low Memory Detector": (state = BLOCKED)

VM Thread 15808 "C2 CompilerThread1": (state = BLOCKED)

VM Thread 15807 "C2 CompilerThread0": (state = BLOCKED)

Thread 15806 "Signal Dispatcher": (state = BLOCKED)

Thread 15805 "Finalizer": (state = BLOCKED)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x00000000f0075510> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
     - locked <0x00000000f0075510> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

Thread 15804 "Reference Handler": (state = BLOCKED)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x00000000f0075540> (a java.lang.ref.Reference$Lock)
     at java.lang.Object.wait(Object.java:485)
     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
     - locked <0x00000000f0075540> (a java.lang.ref.Reference$Lock)

Thread 15798 "main": (state = IN_NATIVE)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points