Could this be deadlock when modifying TreeCache
ramdas Jul 3, 2007 2:04 PMOur app uses the JBoss TreeCache from within JBoss AS 3.2.6. The version of the Jgroups JAR that we use is jgroups-2.2.9-beta.jar
I came across this situation wherein a large percentage(290 out of 400) of the Tomcat threads configured within JBoss seemed to be waiting to modify the TreeCache as seen by the thread dump. Given below is the stack trace for one of those threads taken from the dump. Was wondering what could have caused this?
Thanks
Ramdas
---------------------------------
"TP-Processor400" daemon prio=1 tid=0x081c3140 nid=0x641d in Object.wait() [343fe000..343ff8d0]
at java.lang.Object.wait(Native Method)
at org.jgroups.protocols.FC.handleDownMessage(FC.java:360)
- locked <0x52074af8> (a java.lang.Object)
at org.jgroups.protocols.FC.down(FC.java:300)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.protocols.FC.receiveDownEvent(FC.java:294)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.FRAG.down(FRAG.java:139)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.Protocol.passDown(Protocol.java:551)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.down(STATE_TRANSFER.java:233)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:341)
at org.jgroups.JChannel.down(JChannel.java:1093)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.down(MessageDispatcher.java:715)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.passDown(MessageDispatcher.java:692)
at org.jgroups.blocks.RequestCorrelator.sendRequest(RequestCorrelator.java:277)
at org.jgroups.blocks.GroupRequest.doExecute(GroupRequest.java:446)
at org.jgroups.blocks.GroupRequest.execute(GroupRequest.java:188)
at org.jgroups.blocks.MessageDispatcher.castMessage(MessageDispatcher.java:417)
at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:165)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:2196)
at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:2227)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleReplicatedMethod(ReplicationInterceptor.java:111)
at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:85)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3116)
at org.jboss.cache.TreeCache.put(TreeCache.java:1762)
at org.jboss.cache.TreeCache.put(TreeCache.java:1702)