JBoss Community

Re: JBM clients hangs when creating connections/sessions

created by Daniel Dumitrescu in JBoss Messaging - View the full discussion

Hi again

 

After getting again the same situation a, I made a thread dump on the server side to see what is happening, and there were two types of blocked threads:

- the JBM's get message count:

 

"RMI TCP Connection(1910)-172.19.60.78" daemon prio=10 tid=0x00007f83f3aa3800 nid=0x1c12 waiting for monitor entry [0x0000000061f66000..0x0000000061f68b20]

   java.lang.Thread.State: BLOCKED (on object monitor)

        at org.jboss.messaging.core.impl.ChannelSupport.getMessageCount(ChannelSupport.java:480)

        - waiting to lock <0x00007f840e9f3048> (a java.lang.Object)

        at org.jboss.messaging.core.impl.PagingChannelSupport.getMessageCount(PagingChannelSupport.java:148)

 

- the XA commits made from the remote client:

 

WorkManager(2)-33444" daemon prio=10 tid=0x00007f83e85eb800 nid=0x1aa5 waiting for monitor entry [0x000000005f23a000..0x000000005f23bca0]

   java.lang.Thread.State: BLOCKED (on object monitor)

        at org.jboss.messaging.core.impl.ChannelSupport$InMemoryCallback.afterCommit(ChannelSupport.java:1025)

        - waiting to lock <0x00007f840e9f3048> (a java.lang.Object)

        at org.jboss.messaging.core.impl.tx.Transaction.commit(Transaction.java:228)

        - locked <0x00007f84383f5cd0> (a org.jboss.messaging.core.impl.tx.Transaction)

        at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:517)

 

All of the threads seems to be waiting for the same object lock:  <0x00007f840e9f3048>

 

The blocking threads (like almost 400 of them) lead to unresponsive JMS queue.

 

It seems that the getMessageCount and afterCommit are waiting for a lock that tryies to synch the situation inside JBM's table with the memory refs.

 

Doesn anyone knows where I can find this lock, i.e. the concrete type? The following classes seems to use it: ServerConnectionEndpoint, org.jboss.messaging.core.impl.tx.Transaction, org.jboss.messaging.core.impl.ChannelSupport (->PagingChannelSupport -> MessagingQueue)

 

 

Regards,

Reply to this message by going to Community

Start a new discussion in JBoss Messaging at Community