[
https://issues.apache.org/jira/browse/AMQ-3421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072380#comment-13072380
]
Robert Elliot commented on AMQ-3421:
------------------------------------
It may or may not be relevant, but we also see null pointer exceptions as the
queue fills up:
2011-07-27 19:56:23,509 [ActiveMQ Task-145-13] WARN
o.a.a.b.TransportConnection.Service - Async error occurred:
java.lang.NullPointerException
java.lang.NullPointerException: null
at
org.apache.activemq.broker.TransportConnection.processAddProducer(TransportConnection.java:500)
~[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.command.ProducerInfo.visit(ProducerInfo.java:105)
~[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
~[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
[activemq-core-5.5.0.jar:5.5.0]
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
[activemq-core-5.5.0.jar:5.5.0]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[na:1.6.0_17]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[na:1.6.0_17]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_17]
> Deadlock when queue fills up
> ----------------------------
>
> Key: AMQ-3421
> URL: https://issues.apache.org/jira/browse/AMQ-3421
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.5.0
> Environment: Tomcat 6.0.29, Spring 3.0.5, Oracle Java 6, Centos 5
> Reporter: Robert Elliot
> Priority: Critical
> Attachments: JStack Output.rtf, jmsMessageQueues.xml
>
>
> We are running a queue to do asynch audit updates, configured via Spring
> 3.0.5.
> When the queue fills up Tomcat locks up with all catalina threads waiting on
> an object monitor in Spring. This object monitor is held by the "ActiveMQ
> Connection Executor: vm://localhost#2986" thread which is itself blocked for
> ever awaiting the stopped CountDownLatch at
> TransportConnection.stop(TransportConnection.java:930).
> There are no "ActiveMQ Task" threads running, which suggests that either the
> task created by stopAsync has completed or did not run.
> A code review leaves us baffled as to how this latch cannot have counted
> down, but it hasn't. Could Tomcat possibly be silently discarding the thread
> that was meant to do the stop without throwing an exception?! It seems
> unlikely but (as I understand it) TaskRunnerFactory is breaking the Servlet
> spec by running up its own Threads.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira