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

Occasional Null Pointer Exception during NetworkConnector connection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.6.0
    • 5.7.0
    • None
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: