[JBoss-dev] [JBoss JIRA] Commented: (JBMQ-4) Bug in JBoss MQ
[ http://jira.jboss.com/jira/browse/JBMQ-4?page=comments#action_12310759 ] Scott M Stark commented on JBMQ-4: -- Another user has seen a similar deadlock using 1.4.2_02-b03. Two full thread dump outputs are attached, and the interesting non-runnable threads are: Thread-365 daemon prio=5 tid=0x00ab6d00 nid=0x1028 waiting for monitor entry [4980f000..4980fdb0] at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:327) - waiting to lock 0x100e6d30 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) at org.jboss.mq.server.JMSTopic.addMessage(JMSTopic.java:357) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerInterceptorSupport.java:136) at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecurityInterceptor.java:153) at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.java:279) at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:136) at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:86) at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:356) at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748) at java.lang.Thread.run(Thread.java:534) Thread-219 daemon prio=5 tid=0x41cd9008 nid=0xdf8 runnable [4920f000..4920fdb0] at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:327) - waiting to lock 0x100e6d30 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) at org.jboss.mq.server.JMSTopic.addMessage(JMSTopic.java:357) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerInterceptorSupport.java:136) at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecurityInterceptor.java:153) at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.java:279) at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:136) at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:86) at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:356) at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748) at java.lang.Thread.run(Thread.java:534) However, no thread is seen to hold the 0x100e6d30 monitor so the actual deadlock is not apparent from the thread dump. Bug in JBoss MQ --- Key: JBMQ-4 URL: http://jira.jboss.com/jira/browse/JBMQ-4 Project: JBoss MQ Type: Bug Versions: JBossAS-3.2.5 Environment: OS - SunOS, 5.8, Java Version - 1.4.2, VM - Java Hotspot Reporter: Kalyan Assignee: Adrian Brock Priority: Critical Attachments: threaddump.txt Hi, We were running a loadtest on a single instance of JBoss. The following thread on JBossMQ forum details about the test that's been conducted: http://www.jboss.org/index.html?module=bbop=viewtopict=57189 The server has come to unusable state in less than 30 mins. We have identified that there is a deadlock on MessageCache's LRUCache from the thread dump. We have found several instances of the below dump. Thread-11056 daemon prio=5 tid=0x014d8ff0 nid=0x3d17 waiting for monitor entry [5e801000..5e8019c0] at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:327) - waiting to lock 0xeddc9268 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:130) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:136) at
[JBoss-dev] [JBoss JIRA] Commented: (JBMQ-4) Bug in JBoss MQ
[ http://jira.jboss.com/jira/browse/JBMQ-4?page=comments#action_12310761 ] Scott M Stark commented on JBMQ-4: -- The second thread dump shows the same two threads also contending for the same MessageReference, but not the same MessageReference as in the first thread dump. This appears to be simply contention, not deadlock. Thread-365 daemon prio=5 tid=0x00ab6d00 nid=0x1028 waiting for monitor entry [4980f000..4980fdb0] at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:327) - waiting to lock 0x14780c60 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) at org.jboss.mq.server.JMSTopic.addMessage(JMSTopic.java:357) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerInterceptorSupport.java:136) at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecurityInterceptor.java:153) at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.java:279) at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:136) at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:86) at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:356) at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748) at java.lang.Thread.run(Thread.java:534) Thread-219 daemon prio=5 tid=0x41cd9008 nid=0xdf8 runnable [4920f000..4920fdb0] at org.jboss.mq.server.MessageReference.makeSoft(MessageReference.java:295) - waiting to lock 0x14780c60 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:332) - locked 0x14780c60 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) at org.jboss.mq.server.JMSTopic.addMessage(JMSTopic.java:357) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerInterceptorSupport.java:136) at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecurityInterceptor.java:153) at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.java:279) at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:136) at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:86) at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:356) at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748) at java.lang.Thread.run(Thread.java:534) Bug in JBoss MQ --- Key: JBMQ-4 URL: http://jira.jboss.com/jira/browse/JBMQ-4 Project: JBoss MQ Type: Bug Versions: JBossAS-3.2.5 Environment: OS - SunOS, 5.8, Java Version - 1.4.2, VM - Java Hotspot Reporter: Kalyan Assignee: Adrian Brock Priority: Critical Attachments: threaddump.txt Hi, We were running a loadtest on a single instance of JBoss. The following thread on JBossMQ forum details about the test that's been conducted: http://www.jboss.org/index.html?module=bbop=viewtopict=57189 The server has come to unusable state in less than 30 mins. We have identified that there is a deadlock on MessageCache's LRUCache from the thread dump. We have found several instances of the below dump. Thread-11056 daemon prio=5 tid=0x014d8ff0 nid=0x3d17 waiting for monitor entry [5e801000..5e8019c0] at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:327) - waiting to lock 0xeddc9268 (a org.jboss.mq.server.MessageReference) at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:130) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) at