[ 
https://issues.apache.org/jira/browse/AMQ-5315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14090994#comment-14090994
 ] 

Timothy Bish commented on AMQ-5315:
-----------------------------------

One case that looks like a possibility is in the collectBrokerInfos method:

{code}
        try {
            remoteBrokerInfo = futureRemoteBrokerInfo.get();
            if (remoteBrokerInfo == null) {
                fireBridgeFailed();
            }
        } catch (Exception e) {
            serviceRemoteException(e);
            return;
        }
{code}

we should probably be returning after the call to fireBridgeFailed otherwise 
the method would continue on with the remoteBrokerInfo being null which could 
lead to this error.  The futureRemoteBrokerInfo future is cancelled in 
transport listener set in the start method.  

> NullPointerException in DemandForwardingBridgeSupport.collectBrokerInfos
> ------------------------------------------------------------------------
>
>                 Key: AMQ-5315
>                 URL: https://issues.apache.org/jira/browse/AMQ-5315
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.10.0
>            Reporter: Lee Butts
>            Priority: Critical
>
> We have seen the following NPE setting up a demand forwarding bridge
> {code}
> java.lang.NullPointerException: null
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport.collectBrokerInfos(DemandForwardingBridgeSupport.java:365)
>  [activemq-broker-5.10.0.jar:5.10.0]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport.access$400(DemandForwardingBridgeSupport.java:105)
>  [activemq-broker-5.10.0.jar:5.10.0]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport$5.run(DemandForwardingBridgeSupport.java:331)
>  [activemq-broker-5.10.0.jar:5.10.0]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_60]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_60]
>       at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60]
> {code}
> This occurred in one of our tests but only under load so seems to be a race 
> condition of some sort.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to