[jboss-user] [JBoss Messaging] - Server Hang due to dead Lock
rseetharaman
do-not-reply at jboss.com
Thu Mar 12 03:23:41 EDT 2009
Hi,
We experienced a server hang a couple of days back and analyzed the thread dump. We use JBoss 4.2 GA, JBM 1.4. The sever seems to hang due to the 2 threads below.
The Thread: Thread-136 : has the WriterpreferenceLock and the MessageSucker Lock and is waiting for the lock to be released on java.lang.Object at 1b6b0a1. While the Thread Thread-50 has the lock on java.lang.Object at 1b6b0a1 and is waiting for MessageSucker leading to the Dead Lock Situation.
Could publish the full dump after I confirm that I have the necessary permissions. Any hint on how to avoid this would really be appreciated.
Ranga
| Thread: Thread-136 : priority:5, demon:true, threadId:44755, threadState:BLOCKED, lockName:java.lang.Object at 1b6b0a1
| org.jboss.messaging.core.impl.MessagingQueue.unregisterSucker(MessagingQueue.java:386)
| ---------------------------------------------------------------------------------
| The previous method call is waiting for Lock java.lang.Object at 1b6b0a1
| ---------------------------------------------------------------------------------
| org.jboss.messaging.core.impl.clusterconnection.MessageSucker.stop(MessageSucker.java:178)
| ---------------------------------------------------------------------------------
| The previous method call seems to have the the Lock on Message Sucker.
| ---------------------------------------------------------------------------------
| org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager.removeSucker(ClusterConnectionManager.java:508)
| org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager.notify(ClusterConnectionManager.java:384)
| org.jboss.messaging.core.impl.DefaultClusterNotifier.sendNotification(DefaultClusterNotifier.java:72)
| org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.removeBindingInMemory(MessagingPostOffice.java:2339)
| ---------------------------------------------------------------------------------
| The previous method call seems to have the the Writer Preference Lock
| ---------------------------------------------------------------------------------
| org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.cleanDataForNode(MessagingPostOffice.java:2690)
| org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.nodesLeft(MessagingPostOffice.java:963)
| org.jboss.messaging.core.impl.postoffice.GroupMember$ControlMembershipListener$1ViewChangeRunnable.run(GroupMember.java:517)
| java.lang.Thread.run(Thread.java:595)
|
|
| Thread: Thread-50 : priority:5, demon:false, threadId:220, threadState:BLOCKED,
| lockName:org.jboss.messaging.core.impl.clusterconnection.MessageSucker at eb9dfa
| org.jboss.messaging.core.impl.clusterconnection.MessageSucker.setConsuming(MessageSucker.java:208)
| ---------------------------------------------------------------------------------
| The previous method call is waiting for Lock org.jboss.messaging.core.impl.clusterconnection.MessageSucker at eb9dfa
| ---------------------------------------------------------------------------------
| org.jboss.messaging.core.impl.MessagingQueue.informSuckers(MessagingQueue.java:565)
| org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:515)
| org.jboss.messaging.core.impl.ChannelSupport.deliver(ChannelSupport.java:226)
| -----------------------------------------
| The previous method call seems to have the the lock on java.lang.Object at 1b6b0a1"
| -----------------------------------------
| org.jboss.jms.server.endpoint.ServerSessionEndpoint$2.run(ServerSessionEndpoint.java:1598)
| EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:89)
| java.lang.Thread.run(Thread.java:595)
|
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4217284#4217284
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4217284
More information about the jboss-user
mailing list