You should try with svn head. Your second problem may be related to http://issues.apache.org/activemq/browse/AMQ-1078 which has been fixed in 4.2 and 4.1 branch (future 4.1.1).
On 12/15/06, drvillo <[EMAIL PROTECTED]> wrote:
Hi there I have spent the whole day now tracking down this, and I have no clue. I have stripped everything down to a silly system: sender1->queue1->listener1->sender2->queue2->listener2 I have a test that basically sends 10 messages with sender1, no more. The listeners are just logging the incoming messages, and listener1 has a sender himself, to resend the same message to the second queue. Actually the situation is the following -sometimes I don't manage to send all the messages, because of a deadlock (given below) -sometimes I get no deadlocks but I loose a message (always the second) (and from the jconsole I can see that there's a message stuck in the queue and not consumed) -sometimes it goes fine the deadlock is reported below, with the last logging information appeared DEBUG org.apache.activemq.broker.region.AbstractRegion - Removing consumer: ID:obimac.local-51149-1166199529487-2:2:-1:4 DEBUG org.apache.activemq.ra.ServerSessionImpl:1 - run loop end DEBUG org.apache.activemq.ra.ServerSessionPoolImpl - Session returned to pool: ServerSessionImpl:1 DEBUG org.apache.activemq.ra.ServerSessionImpl:1 - Run finished DEBUG org.apache.activemq.ra.ServerSessionImpl:1 - Work completed: javax.resource.spi.work.WorkEvent[source=Work :ServerSessionImpl:1] DEBUG org.apache.activemq.ra.ServerSessionPoolImpl - ServerSession requested. ... Found one Java-level deadlock: ============================= "ActiveMQ Task": waiting to lock monitor 0x018123fc (object 0x26b8fa00, a java.lang.Object), which is held by "Thread-3" "Thread-3": waiting to lock monitor 0x018123d8 (object 0x26b8e848, a java.lang.Object), which is held by "ActiveMQ Task" Java stack information for the threads listed above: =================================================== "ActiveMQ Task": at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43) - waiting to lock <0x26b8fa00> (a java.lang.Object) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1151) at org.apache.activemq.ActiveMQSession.<init>(ActiveMQSession.java:226) at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:277) at org.apache.activemq.ra.ServerSessionPoolImpl.createServerSessionImpl(ServerSessionPoolImpl.java:63) at org.apache.activemq.ra.ServerSessionPoolImpl.getServerSession(ServerSessionPoolImpl.java:116) at org.apache.activemq.ActiveMQConnectionConsumer.dispatch(ActiveMQConnectionConsumer.java:136) at org.apache.activemq.ActiveMQConnection.onCommand(ActiveMQConnection.java:1473) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65) at org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96) at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43) - locked <0x26b8e848> (a java.lang.Object) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1051) at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:772) at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:788) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:111) at org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:613) "Thread-3": at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43) - waiting to lock <0x26b8e848> (a java.lang.Object) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1051) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65) at org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96) at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43) - locked <0x26b8fa00> (a java.lang.Object) at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69) at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1171) at org.apache.activemq.TransactionContext.commit(TransactionContext.java:260) at org.apache.activemq.ra.LocalAndXATransaction.commit(LocalAndXATransaction.java:58) at org.jencks.LocalTransactionEndpoint.afterDelivery(LocalTransactionEndpoint.java:52) at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126) at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65) at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216) at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:749) at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165) at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:613) Found 1 deadlock. Attached there's my spring config file. I have been trying switching async dispatches and sends off, thinking that could have been the problem but that didn't help. turning off message persistence doesn't change anything either. Needless to say that the whole of this is pretty frustrating, in the last couple of days I have been dealing with deadlocks all over the place. I'm running AMC 4.1, jencks 1.3 spring 2.0. I hope someone will help on this, otherwise I'll probably have to drop the whole project:( thanks Francesco Vivoli http://www.nabble.com/file/4735/container.xml container.xml -- View this message in context: http://www.nabble.com/Random-deadlocks-or-lost-messages-with-AMQ-4.1-and-Jencks-tf2828116.html#a7894874 Sent from the ActiveMQ - User mailing list archive at Nabble.com.
-- Cheers, Guillaume Nodet