Hi all,
Does anyone know what may be wrong from the stack trace? I also seeing Broker startup failure once in a while after the following problem with the stack trace attached because of the size restricition. The only option I have here is to cleanup var directory and start over clean.
Any help is appriciated.
Regards,
Ulhas Bhole.
-----Original Message-----
From: Bhole, Ulhas
Sent: Tue 07/02/2006 18:03
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: [activemq-user] Strange blocking createDurableSubscriber() call in ActiveMQ 3.2
Hi,
I am trying to use ActiveMQ 3.2 Durable Topic Subscrition in one of the ObjectWeb Celtix ESB samples. I am working on Redhat Linux 9 but saw similar problem on Windows also. I am getting problem using the durable subscription in a way that It is blocking on createDurableSubscriber() call.
The problem occures after some repeated shutdown and restart of JMS Broker and my Client/Server (producer/receivers).
I tried to reproduce the problem with the pure JMS client(producer) and server(receiver) but was unable to produce it. However, once I get the problem with the my Celtix demo. my Pure Server(receiver) which also would block in the same call with similar stack trace.
Here is a stack trace of the blocking call from Pure Server(receiver).
"JmsSessionDispatcher: 1" prio=1 tid=0x083f4380 nid=0x271a in Object.wait() [0xbe7ff000..0xbe7ff5dc]
at java.lang.Object.wait(Native Method)
at org.activemq.io.util.MemoryBoundedQueue.dequeue(MemoryBoundedQueue.java:242)
- locked <0x659e0060> (a java.lang.Object)
at org.activemq.ActiveMQSessionExecutor.run(ActiveMQSessionExecutor.java:93)
at java.lang.Thread.run(Thread.java:595)
"TcpTransportChannel: Socket[addr=localhost/127.0.0.1,port=61616,localport=33917]" prio=1 tid=0x083b0340 nid=0x2717 runnable [0xbe9ff000..0xbe9ff75c]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
- locked <0x65ef9f38> (a java.io.BufferedInputStream)
at java.io.DataInputStream.readByte(DataInputStream.java:241)
at org.activemq.io.AbstractWireFormat.readPacket(AbstractWireFormat.java:230)
at org.activemq.transport.tcp.TcpTransportChannel.run(TcpTransportChannel.java:313)
at java.lang.Thread.run(Thread.java:595)
"Low Memory Detector" daemon prio=1 tid=0x080a50f0 nid=0x2714 runnable [0x00000000..0x00000000]
"CompilerThread0" daemon prio=1 tid=0x080a3c70 nid=0x2713 waiting on condition [0x00000000..0xbefff1c4]
"Signal Dispatcher" daemon prio=1 tid=0x080a2be0 nid=0x2712 waiting on condition [0x00000000..0x00000000]
"Finalizer" daemon prio=1 tid=0x0809bf38 nid=0x2711 in Object.wait() [0xbf3ff000..0xbf3ff4dc]
at java.lang.Object.wait(Native Method)
- waiting on <0x65e5ac20> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x65e5ac20> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=1 tid=0x0809b240 nid=0x2710 in Object.wait() [0xbf5ff000..0xbf5ff65c]
at java.lang.Object.wait(Native Method)
- waiting on <0x65e5aca0> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:474)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x65e5aca0> (a java.lang.ref.Reference$Lock)
"main" prio=1 tid=0x0805bce0 nid=0x270d in Object.wait() [0xbfffc000..0xbfffce78]
at java.lang.Object.wait(Native Method)
- waiting on <0x6598dde0> (a java.lang.Object)
at org.activemq.message.ReceiptHolder.getReceipt(ReceiptHolder.java:68)
- locked <0x6598dde0> (a java.lang.Object)
at org.activemq.transport.TransportChannelSupport.send(TransportChannelSupport.java:146)
at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377)
at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362)
at org.activemq.ActiveMQSession.addConsumer(ActiveMQSession.java:1198)
at org.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:145)
at org.activemq.ActiveMQTopicSubscriber.<init>(ActiveMQTopicSubscriber.java:116)
at org.activemq.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:793)
at org.activemq.ActiveMQTopicSession.createDurableSubscriber(ActiveMQTopicSession.java:156)
at DurableSubscriberServer.run(DurableSubscriberServer.java:45)
at DurableSubscriberServer.main(DurableSubscriberServer.java:24)
"VM Thread" prio=1 tid=0x080967e0 nid=0x270f runnable
"VM Periodic Task Thread" prio=1 tid=0x080c7df8 nid=0x2715 waiting on condition
Can anyone help me in telling what the problem might be?
If required I have the state of the ActiveMQ Journal and Database on which this problem is occuring. One more thing that I observed is after coming at this state If I Ctrl-C the JMS Broker It shuts down TCP transport Adapter and hangs in Shutdown Hook.
Regards,
Ulhas Bhole
[java] ActiveMQ Message Broker (http://activemq.org/)
[java] Loading Message Broker from file:
/local1/celwork/bin-kit-test/celtix/lib/activemq/3.2/conf/activemq.xml
[java] 14-Feb-2006 10:55:08
org.activemq.spring.SpringBrokerContainerFactory createBrokerContainer
[java] INFO: Loading ActiveMQ broker from configuration: file
[/local1/celwork/bin-kit-test/celtix/lib/activemq/3.2/conf/activemq.xml]
[java] 14-Feb-2006 10:55:08
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions
[java] INFO: Loading XML bean definitions from file
[/local1/celwork/bin-kit-test/celtix/lib/activemq/3.2/conf/activemq.xml]
[java] 14-Feb-2006 10:55:09 org.springframework.core.CollectionFactory
<clinit>
[java] INFO: JDK 1.4+ collections available
[java] 14-Feb-2006 10:55:09 org.activemq.broker.impl.BrokerContainerImpl
start
[java] INFO: ActiveMQ 3.2 JMS Message Broker
(ID:ulhas.dublin.emea.iona.com-33029-1139914507943-0:0) is starting
[java] 14-Feb-2006 10:55:09 org.activemq.broker.impl.BrokerContainerImpl
start
[java] INFO: For help or more information please see:
http://www.logicblaze.com
[java] Caught: javax.jms.JMSException: Failed to create transaction:
org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Failed to start database 'derbydb', see the next
exception for details.)
[java] javax.jms.JMSException: Failed to create transaction:
org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Failed to start database 'derbydb', see the next
exception for details.)
[java] at
org.activemq.util.JMSExceptionHelper.newJMSException(JMSExceptionHelper.java:49)
[java] at
org.activemq.store.jdbc.JDBCPersistenceAdapter.beginTransaction(JDBCPersistenceAdapter.java:130)
[java] at
org.activemq.store.jdbc.JDBCPersistenceAdapter.start(JDBCPersistenceAdapter.java:175)
[java] at
org.activemq.store.journal.JournalPersistenceAdapter.start(JournalPersistenceAdapter.java:176)
[java] at
org.activemq.store.cache.CachePersistenceAdapter.start(CachePersistenceAdapter.java:81)
[java] at
org.activemq.broker.impl.DefaultBroker.start(DefaultBroker.java:165)
[java] at
org.activemq.broker.impl.BrokerContainerImpl.start(BrokerContainerImpl.java:159)
[java] at org.activemq.spring.Main.main(Main.java:72)
[java] Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot
create PoolableConnectionFactory (Failed to start database 'derbydb', see the
next exception for details.)
[java] at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:859)
[java] at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:544)
[java] at
org.activemq.store.jdbc.JDBCPersistenceAdapter.beginTransaction(JDBCPersistenceAdapter.java:125)
[java] ... 6 more
[java] Caused by: SQL Exception: Failed to start database 'derbydb', see
the next exception for details.
[java] at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
[java] at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
[java] at
org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
[java] at
org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
[java] at
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
[java] at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
Source)
[java] at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
Source)
[java] at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
Source)
[java] at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
[java] at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
[java] at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
[java] at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:881)
[java] at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
[java] ... 8 more
[java] Reason: org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Failed to start database 'derbydb', see the next
exception for details.)
[java] org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Failed to start database 'derbydb', see the next
exception for details.)
[java] at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:859)
[java] at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:544)
[java] at
org.activemq.store.jdbc.JDBCPersistenceAdapter.beginTransaction(JDBCPersistenceAdapter.java:125)
[java] at
org.activemq.store.jdbc.JDBCPersistenceAdapter.start(JDBCPersistenceAdapter.java:175)
[java] at
org.activemq.store.journal.JournalPersistenceAdapter.start(JournalPersistenceAdapter.java:176)
[java] at
org.activemq.store.cache.CachePersistenceAdapter.start(CachePersistenceAdapter.java:81)
[java] at
org.activemq.broker.impl.DefaultBroker.start(DefaultBroker.java:165)
[java] at
org.activemq.broker.impl.BrokerContainerImpl.start(BrokerContainerImpl.java:159)
[java] at org.activemq.spring.Main.main(Main.java:72)
[java] Caused by: SQL Exception: Failed to start database 'derbydb', see
the next exception for details.
[java] at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
[java] at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
[java] at
org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
[java] at
org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
[java] at
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
[java] at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
Source)
[java] at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
Source)
[java] at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
Source)
[java] at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
[java] at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
[java] at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
[java] at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:881)
[java] at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
