[
https://issues.apache.org/jira/browse/AMQ-5161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13994526#comment-13994526
]
Timothy Bish commented on AMQ-5161:
-----------------------------------
One way to start is to try and find the commit that broke what was apparently
working before. You could try using the git bisect command to run the your
test code on each commit between 5.9.0 and 5.9.1 to see where things broke.
If you look into the BrokerServer.java code at the start method and various
aspect of the async option it should give you some insights into how things
work there. The main issue seems to be that the broker is getting registered
in the BrokerRegistry prior to having become fully started which allows your VM
based transport to get ahead of the starting broker.
> NullPointerException during async startup
> -----------------------------------------
>
> Key: AMQ-5161
> URL: https://issues.apache.org/jira/browse/AMQ-5161
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.9.1
> Reporter: james
> Attachments: QueueService2Test.java
>
>
> I'm using an embedded broker with asynchronous startup enabled. My setup
> worked using 5.9.0. When i upgraded to 5.9.1, i started getting this
> exception on startup:
> {noformat}
> javax.jms.JMSException: java.lang.NullPointerException
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1408)
> at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1513)
> at
> org.apache.activemq.ActiveMQConnection.setClientID(ActiveMQConnection.java:417)
> at <...internal system startup stack trace...>
> Caused by: java.lang.NullPointerException
> at
> org.apache.activemq.broker.jmx.ManagedRegionBroker.addConnection(ManagedRegionBroker.java:232)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:92)
> at
> org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:91)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:92)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:92)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:92)
> at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:97)
> at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:759)
> at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:145)
> at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
> at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> at
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:247)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
> 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)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)