The thread, "Thread-6", is blocked waiting to lock <0x650efdf0>. The thread, "QueueRequestScheduled", holds this lock and itself is blocked "waiting on condition". However there is no indication what this condition is.
The "QueueRequestScheduled" thread is wedged in this state forever at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:628) which (if you examine the source) is very benign code which should not be blocking at all.
How can I tell what the condition is???
We have seen this type of problem several times now on a customer production system. It has only occurred on this one system.
Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode, sharing)
"Thread-6" prio=1 tid=0x083a0480 nid=0x53d waiting for monitor entry [0x4732e000..0x4732ec9c]
at com.thetus.common.util.BytesOut.returnBytesOut(BytesOut.java:207)
- waiting to lock <0x650efdf0> (a java.lang.Object)
- locked <0x650f15f8> (a com.thetus.common.util.BytesOut)
at com.thetus.common.requestservice.bytetransport.SessionByteClient.closeRequestService(SessionByteClient.java:569)
- locked <0x650bc568> (a java.lang.Object)
at com.thetus.common.requestservice.bytetransport.ResponseListener.run(SessionByteClient.java:1532)
at java.lang.Thread.run(Thread.java:595)
"QueueRequestScheduled" prio=1 tid=0x085622f8 nid=0x1e8 waiting on condition [0x470ae000..0x470af09c]
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:628)
at java.lang.StringBuilder.append(StringBuilder.java:222)
at com.thetus.common.util.BytesOut.logCacheStats(BytesOut.java:84)
- locked <0x650efdf0> (a java.lang.Object)
at com.thetus.server.common.requestListener.ListenerServiceMgr.lclLogStats(ListenerServiceMgr.java:259)
at com.thetus.server.common.context.AContextService.logStats(AContextService.java:224)
at com.thetus.server.common.context.AContext.logStats(AContext.java:1633)
at com.thetus.server.common.handler.LclLogStatsHandler.executeRequest(LclLogStatsHandler.java:64)
at com.thetus.server.common.requestservice.RequestAsyncHandlerChain.execute(RequestAsyncHandlerChain.java:96)
at com.thetus.server.common.request.LclLogStats.execute(LclLogStats.java:67)
at com.thetus.server.common.requestPump.QueueRequestScheduled.run(QueueRequestScheduled.java:188)
at com.thetus.platform.util.ThreadPoolInst$WorkerThread.run(ThreadPoolInst.java:599)
at java.lang.Thread.run(Thread.java:595)
Changed title.
Message was edited by:
DavidLennert