activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Danielius Jurna <daniel...@elitnet.lt>
Subject Consumer deadlock?
Date Wed, 15 Nov 2006 12:55:51 GMT

Hi.
I'm experiencing deadlocks in ActiveMQ broker. It's possible, that it is
because of client missbehaviour mentioned here:
http://www.nabble.com/Consumer-Deadlock-tf2014492.html#a5536571
I have thread dump from our production server. Can somebody take a look and
confirm or deny, that this is exactly the problem mentioned in posts above?
It's an urgen problem for us, so quick response would be very appreciated.
I'm not posting full dump (its a little too big, all whith the same call
stacks), but only interesting parts:

"ActiveMQ Transport: tcp:///192.168.111.17:1378" daemon prio=1
tid=0x0000002ac4e00a50 nid=0x686b runnable
[0x000000006ec38000..0x000000006ec39c30]
	at java.util.Hashtable.get(Hashtable.java:335)
	- waiting to lock <0x0000002aa17df278> (a
org.apache.derby.impl.services.locks.SinglePool)
	at org.apache.derby.impl.services.locks.SinglePool.isLockHeld(Unknown
Source)
	at
org.apache.derby.impl.store.access.PropertyConglomerate.iHoldTheUpdateLock(Unknown
Source)
	at
org.apache.derby.impl.store.access.PropertyConglomerate.getProperty(Unknown
Source)
	at org.apache.derby.impl.store.access.RAMTransaction.getProperty(Unknown
Source)
	at
org.apache.derby.iapi.services.property.PropertyUtil.getDatabaseProperty(Unknown
Source)
	at
org.apache.derby.iapi.services.property.PropertyUtil.getServiceProperty(Unknown
Source)
	at
org.apache.derby.iapi.services.property.PropertyUtil.getServiceProperty(Unknown
Source)
	at
org.apache.derby.iapi.services.property.PropertyUtil.getServiceInt(Unknown
Source)
	at org.apache.derby.impl.store.raw.xact.Xact.setup(Unknown Source)
	at
org.apache.derby.impl.store.access.RAMAccessManager.getAndNameTransaction(Unknown
Source)
	at
org.apache.derby.impl.store.access.RAMAccessManager.getTransaction(Unknown
Source)
	at org.apache.derby.impl.db.BasicDatabase.getConnectionTransaction(Unknown
Source)
	at org.apache.derby.impl.db.BasicDatabase.setupConnection(Unknown Source)
	at
org.apache.derby.impl.jdbc.TransactionResourceImpl.startTransaction(Unknown
Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
	at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
	at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
	at
org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:55)
	at
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doGetMessage(DefaultJDBCAdapter.java:261)
	at
org.apache.activemq.store.jdbc.JDBCMessageStore.getMessage(JDBCMessageStore.java:100)
	at
org.apache.activemq.store.journal.JournalMessageStore.getMessage(JournalMessageStore.java:329)
	at org.apache.activemq.broker.region.Queue.loadMessage(Queue.java:324)
	at
org.apache.activemq.broker.region.IndirectMessageReference.incrementReferenceCount(IndirectMessageReference.java:109)
	- locked <0x0000002aa4a3bd58> (a
org.apache.activemq.broker.region.IndirectMessageReference)
	at
org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:150)
	at
org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:68)
	- locked <0x0000002ab7443e48> (a
org.apache.activemq.broker.region.QueueSubscription)
	at org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:164)
	- locked <0x0000002aa438c760> (a java.util.LinkedList)
	at
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:172)
	at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:297)
	at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:74)
	at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:78)
	at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:74)
	at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:87)
	at
org.apache.activemq.broker.AbstractConnection.processAddConsumer(AbstractConnection.java:529)
	at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:296)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:237)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:61)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:92)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
	at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:123)
	at
org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:70)
	- locked <0x0000002ab6c21c28> (a java.lang.Object)
	at
org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:112)
	at
org.apache.activemq.transport.stomp.ProtocolConverter.onStompSubscribe(ProtocolConverter.java:348)
	at
org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:142)
	at
org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:60)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:88)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
	at java.lang.Thread.run(Thread.java:595)

"ActiveMQ Transport: tcp:///192.168.111.17:1377" daemon prio=1
tid=0x0000002ac4dff3d0 nid=0x685d in Object.wait()
[0x000000006ea37000..0x000000006ea37b30]
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:474)
	at
org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:86)
	- locked <0x0000002aa17cf768> (a java.lang.Object)
	at
org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:83)
	at org.apache.activemq.broker.region.Topic.send(Topic.java:236)
	at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:226)
	at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:349)
	at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193)
	at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:114)
	at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98)
	at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:127)
	at
org.apache.activemq.broker.AbstractConnection.processMessage(AbstractConnection.java:433)
	at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:591)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:237)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:61)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:92)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
	at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:123)
	at
org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:70)
	- locked <0x0000002aa80a5068> (a java.lang.Object)
	at
org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:112)
	at
org.apache.activemq.transport.stomp.ProtocolConverter.onStompSend(ProtocolConverter.java:197)
	at
org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:132)
	at
org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:60)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:88)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
	at java.lang.Thread.run(Thread.java:595)

"ActiveMQ Transport: tcp:///127.0.0.1:52587" daemon prio=1
tid=0x0000002ac5c1b530 nid=0x2982 in Object.wait()
[0x00000000456a6000..0x00000000456a6eb0]
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:474)
	at
org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:86)
	- locked <0x0000002aa17cf768> (a java.lang.Object)
	at
org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:83)
	at org.apache.activemq.broker.region.Queue.send(Queue.java:249)
	at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:226)
	at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:346)
	at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193)
	at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:114)
	at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98)
	at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:127)
	at
org.apache.activemq.broker.AbstractConnection.processMessage(AbstractConnection.java:433)
	at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:591)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:237)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:61)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:92)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
	at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:124)
	at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:123)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:88)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
	at java.lang.Thread.run(Thread.java:595)

-- 
View this message in context: http://www.nabble.com/Consumer-deadlock--tf2635867.html#a7357085
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message