[ 
https://issues.apache.org/activemq/browse/AMQ-1950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46242#action_46242
 ] 

Hans Bausewein commented on AMQ-1950:
-------------------------------------

Your test does not test concurrency. The receiver waits until it gets the 
previously posted message and then the next message is produced. 

I've modified it to first produce all messages with a correlationid and then 
try to receive the same number of messages and checking the received ids.

Also added copying the correlationid in the handler. 

> Deadlock using temporary queues in Pure Master/Slave setup
> ----------------------------------------------------------
>
>                 Key: AMQ-1950
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1950
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: JBoss 4.0.5 GA with ActiveMQ resource adapter and Java 
> 1.6 update 7
> I used the ActiveMQ 5.2.0 RC1 from 10th september.
>            Reporter: Hans Bausewein
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>         Attachments: activemqjee-0.0.4-src.tar.gz, amq-1950.patch.2.txt, 
> deadlock.txt, StandaloneApp.java
>
>
> The deadlock occurs on the slave after sending some 30 messages. Sending a 
> few at a time works fine.
> The test application is a MessageDrivenBean that sends a message to another 
> MDB with a temporary reply queue.
> Name: TempQueue:  ID:selten.marketxs.com-40254-1222245868043-0:14:6
> State: WAITING on [EMAIL PROTECTED] owned by: VMTransport: 
> vm://solow.marketxs.com#1
> Total blocked: 0  Total waited: 1
> Stack trace: 
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
> org.apache.activemq.broker.region.Queue.iterate(Queue.java:992)
>    - locked [EMAIL PROTECTED]
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Name: VMTransport: vm://solow.marketxs.com#1
> State: BLOCKED on [EMAIL PROTECTED] owned by: TempQueue:  
> ID:selten.marketxs.com-40254-1222245868043-0:14:6
> Total blocked: 9  Total waited: 2,684
> Stack trace: 
> org.apache.activemq.broker.region.Queue.iterate(Queue.java:952)
> org.apache.activemq.broker.region.Queue.wakeup(Queue.java:1136)
> org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:249)
> org.apache.activemq.broker.region.TempQueue.addSubscription(TempQueue.java:74)
> org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:275)
>    - locked [EMAIL PROTECTED]
> org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:378)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
> org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:83)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
> org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:93)
> org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:541)
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:345)
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> I'll try to reproduce the issue with a stand-alone JMS client. It also 
> happens without JBoss clustering.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to