activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: consumer threads waiting on VMTransport locks...
Date Mon, 22 Jul 2013 23:06:52 GMT
Did you see any exceptions in the broker logs?
Seems like the server-side VMTransport stopped draining its message queue
and processing consumer acks... causing the client VMTransport to block on
a put...and all other consumers using that connection to block...


On Mon, Jul 22, 2013 at 3:46 PM, boday <ben.oday@initekconsulting.com>wrote:

> seeing some thread blocking in our ActiveMQ 5.7 production application
> (using
> VM transport and AMQ connection pool)...anyone know of any
> configuration/known bugs that could be contributing to this?
>
> seeing 20 thread like this one, WAITING for a single thread to release a
> lock on 659ec0a4
>
> "Camel (camel-1) thread #29 - JmsConsumer[MyQueue]" - Thread t@130
>    java.lang.Thread.State: WAITING
>         at sun.misc.Unsafe.park(Native Method)
>         - waiting to lock <659ec0a4> (a
> java.util.concurrent.locks.ReentrantLock$NonfairSync) owned by "Camel
> (camel-1) thread #13 - JmsConsumer[MyQueue]" t@94
>         at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
>         at
>
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
>         at
>
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
>         at
>
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
>         at
>
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
>         at
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:66)
>         at
>
> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
>         at
>
> org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1290)
>         at
>
> org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1284)
>         at
>
> org.apache.activemq.ActiveMQSession.asyncSendPacket(ActiveMQSession.java:1898)
>         at
> org.apache.activemq.ActiveMQSession.sendAck(ActiveMQSession.java:2064)
>         at
> org.apache.activemq.ActiveMQSession.sendAck(ActiveMQSession.java:2059)
>         at
>
> org.apache.activemq.ActiveMQMessageConsumer.afterMessageIsConsumed(ActiveMQMessageConsumer.java:921)
>         - locked <7212432> (a java.util.LinkedList)
>         at
>
> org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:602)
>         at
>
> org.apache.activemq.pool.PooledMessageConsumer.receive(PooledMessageConsumer.java:67)
>         at
>
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:429)
>         at
>
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:310)
>         at
>
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>         at java.lang.Thread.run(Thread.java:662)
>
>    Locked ownable synchronizers:
>         - locked <10cf5246> (a
> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>
>
> then thiis thread appears to be locking the resource in question...659ec0a4
>
>
> "Camel (camel-1) thread #13 - JmsConsumer[MyQueue]" - Thread t@94
>    java.lang.Thread.State: WAITING
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for <1ec8dc2f> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
>         at
>
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>         at
> java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:306)
>         at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:93)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
>         at
>
> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
>         at
>
> org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1290)
>         at
>
> org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1284)
>         at
>
> org.apache.activemq.ActiveMQSession.asyncSendPacket(ActiveMQSession.java:1898)
>         at
> org.apache.activemq.ActiveMQSession.sendAck(ActiveMQSession.java:2064)
>         at
> org.apache.activemq.ActiveMQSession.sendAck(ActiveMQSession.java:2059)
>         at
>
> org.apache.activemq.ActiveMQMessageConsumer.afterMessageIsConsumed(ActiveMQMessageConsumer.java:921)
>         - locked <119a6cfe> (a java.util.LinkedList)
>         at
>
> org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:602)
>         at
>
> org.apache.activemq.pool.PooledMessageConsumer.receive(PooledMessageConsumer.java:67)
>         at
>
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:429)
>         at
>
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:310)
>         at
>
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>         at java.lang.Thread.run(Thread.java:662)
>
>    Locked ownable synchronizers:
>         - locked <659ec0a4> (a
> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>
>         - locked <3169a0b9> (a
> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>
>
>
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/consumer-threads-waiting-on-VMTransport-locks-tp4669580.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message