Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-3887

Occasional Null Pointer Exception during NetworkConnector connection

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.6.0
    • Fix Version/s: 5.7.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      SLES 10

      Description

      While starting a duplex NetworkConnector an NPE can be observed on the receiving side.

      2012-06-18 17:34:24,571 INFO  .DemandForwardingBridgeSupport - Network connection between vm://proxy-cbpi001#8 and tcp:///169.254.
      0.5:59412(cbox-56BU101117) has been established. [StartLocalBridge: localBroker=vm://proxy-cbpi001#8]
      2012-06-18 17:34:24,577 WARN  .DemandForwardingBridgeSupport - Caught an exception processing local command [BrokerService[proxy-c
      bpi001] Task-19]
      java.lang.NullPointerException: null
              at org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:644) ~[ac
      tivemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:675) ~
      [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:139) [activemq
      -core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:135) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:124) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:103) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1307) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:837) [activemq-core-5.6.0.jar:5
      .6.0]
              at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:872) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) [activemq-core-5.6.0.jar:5.6.0]
              at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) [activemq-core-5.6.0.jar:5.6.0]
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_20]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_20]
              at java.lang.Thread.run(Unknown Source) [na:1.6.0_20]
      

      The other broker will eventually connect, but with about a hundred of connecting brokers this occurs too often to ignore.

      As this seems to be a race condition it is quite difficult to reproduce reliably. I assume producerInfo is accessed in configureMessage before it is initialized in startRemoteBridge.

        Attachments

          Activity

            People

            • Assignee:
              gtully Gary Tully
              Reporter:
              ron.koerner Ron Koerner
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: