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 <[EMAIL PROTECTED]> 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/