activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: Consumer deadlock?
Date Wed, 15 Nov 2006 13:53:22 GMT
Whoah, that looks like a bug in Derby to me.  I wonder if its worth us
upgrading to a newer Derby release. We're on 10.1.1.0 whereas it looks
like Derby has released 10.2.1.6.

I wonder can you reproduce with a newer Derby jar?

On 11/15/06, Danielius Jurna <danielius@elitnet.lt> wrote:
>
> 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.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message