[ 
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)

Reply via email to