[
https://issues.apache.org/jira/browse/AMQ-5426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher L. Shannon resolved AMQ-5426.
-----------------------------------------
Resolution: Fixed
Fix Version/s: 5.13.4
5.14.0
Fix has been applied and I also included a modified version of the test case
provided to try and catch any issues in the future. I modified the test to
run a bit faster (takes about 10 seconds for me now) because in my testing if
it was going to fail for that run it always failed within the first few
seconds. The test case only fails for me about 1/3 of the time before the fix
was applied so it isn't perfect but it's better than nothing.
> ActiveMQMessageConsumer could run into NPE due to concurrent access to
> internal state
> -------------------------------------------------------------------------------------
>
> Key: AMQ-5426
> URL: https://issues.apache.org/jira/browse/AMQ-5426
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.8.0, 5.9.1, 5.10.0
> Reporter: Michael Wong
> Assignee: Christopher L. Shannon
> Priority: Minor
> Fix For: 5.14.0, 5.13.4
>
> Attachments: AMQ5426Test.java
>
>
> ActiveMQMessageConsumer could run into NPE when the consumer is closing and a
> message arrived at the same time.
> Here is the stacktrace:
> java.lang.NullPointerException
> at
> org.apache.activemq.ActiveMQMessageConsumer.ackLater(ActiveMQMessageConsumer.java:979)
> at
> org.apache.activemq.ActiveMQMessageConsumer.afterMessageIsConsumed(ActiveMQMessageConsumer.java:929)
> at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1323)
> at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131)
> at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:129)
> at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:47)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)