You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Ron Koerner (JIRA)" <ji...@apache.org> on 2012/06/18 18:03:45 UTC
[jira] [Created] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Ron Koerner created AMQ-3887:
--------------------------------
Summary: Occasional Null Pointer Exception during NetworkConnector connection
Key: AMQ-3887
URL: https://issues.apache.org/jira/browse/AMQ-3887
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.6.0
Environment: SLES 10
Reporter: Ron Koerner
While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
{code}
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]
{code}
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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417863#comment-13417863 ]
Timothy Bish commented on AMQ-3887:
-----------------------------------
I'd ask that you at least attach your Broker configuration so that if someone wants to take a stab at creating a unit test for this they will know what your setup is.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Ron Koerner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417003#comment-13417003 ]
Ron Koerner commented on AMQ-3887:
----------------------------------
I tried, but it seems the problem only manifests in a live system.
Anyway, I think it is a race condition introduced by the following facts
* {{DemandForwardingBridgeSupport.start}}
** synchronously connects the {{local/remoteBroker}} Transports to {{serviceLocal/RemoteCommand}}
** asynchronously runs {{startRemoteBride}}
* someone sends a messageDispatch command to {{localBroker}} (whenever, maybe even before DFBS.start)
* {{\[BrokerService[smcufs02] Task-147\] }} delivers the message after {{DemandForwardingBridgeSupport.start}}
** to {{DemandForwardingBridgeSupport.serviceLocalCommand}}
** which calls {{configureMessage}} which uses {{producerInfo}} which is not yet set
** and {{startLocalBridge}} may not even be started yet
* {{startRemoteBridge}}
** eventually creates {{producerInfo}}
I don't think {{serviceLocalCommand}} should handle message dispatches before the bridge is completely started. Therefore a {{waitStarted()}} after {{if (command.isMessageDispatch())}} in {{serviceLocalCommand}} should solve the problem.
It is to note that {{serviceRemoteCommand}} already includes a {{waitStarted()}} for message dispatches.
Maybe both methods should make a checked for {{disposed}} after waiting. They do check at the beginning, but if {{waitStarted}} really blocks, that may change in the meantime.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417086#comment-13417086 ]
Timothy Bish commented on AMQ-3887:
-----------------------------------
Have you tried these changes on a build of ActiveMQ? Without a test case we have no way of knowing whether this fixes anything, so if you want to create a SNAPSHOT build locally and try out you ideas that would be a start.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438568#comment-13438568 ]
Gary Tully commented on AMQ-3887:
---------------------------------
fyi: I have seen this exception on occasion with: org.apache.activemq.network.BrokerNetworkWithStuckMessagesTest#testBrokerNetworkWithStuckMessages
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish resolved AMQ-3887.
-------------------------------
Resolution: Fixed
Fix Version/s: 5.7.0
Assignee: Timothy Bish
Fix applied on trunk.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (AMQ-3887) Occasional Null Pointer
Exception during NetworkConnector connection
Posted by "Ron Koerner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413720#comment-13413720 ]
Ron Koerner edited comment on AMQ-3887 at 7/13/12 1:31 PM:
-----------------------------------------------------------
With the latest 5.7-SNAPSHOT the problem is still there:
{code}
2012-07-13 15:02:25,987 INFO .DemandForwardingBridgeSupport - Network connection between vm://smcufs02#32 and tcp:///127.0.0.1:43274(cbox-000000005300653612) has been established. [StartLocalBridge: localBroker=vm://smcufs02#32]
2012-07-13 15:02:25,988 INFO emq.broker.TransportConnection - Started responder end of duplex bridge cBox 000000005300653612 to cBox Proxy@ID:000000005300653612-48838-1341420908942-0:1 [ActiveMQ NIO Worker 1]
2012-07-13 15:02:25,989 INFO .ConnectorAuthenticationBroker - checked login of checkit:xdev-000000005300653612 [ActiveMQ NIO Worker 1]
2012-07-13 15:02:26,021 WARN .DemandForwardingBridgeSupport - Caught an exception processing local command [BrokerService[smcufs02] Task-147]
java.lang.NullPointerException: null
at org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:673) ~[activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:707) ~[activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:165) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAP
SHOT]
at org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:137) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:126) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:103) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1307) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:837) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:872) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_20]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_20]
{code}
was (Author: ron.koerner):
With the latest 5.7-SNAPSHOT the problem is still there:
<code>
2012-07-13 15:02:25,987 INFO .DemandForwardingBridgeSupport - Network connection between vm://smcufs02#32 and tcp:///127.0.0.1:43274(cbox-000000005300653612) has been established. [StartLocalBridge: localBroker=vm://smcufs02#32]
2012-07-13 15:02:25,988 INFO emq.broker.TransportConnection - Started responder end of duplex bridge cBox 000000005300653612 to cBox Proxy@ID:000000005300653612-48838-1341420908942-0:1 [ActiveMQ NIO Worker 1]
2012-07-13 15:02:25,989 INFO .ConnectorAuthenticationBroker - checked login of checkit:xdev-000000005300653612 [ActiveMQ NIO Worker 1]
2012-07-13 15:02:26,021 WARN .DemandForwardingBridgeSupport - Caught an exception processing local command [BrokerService[smcufs02] Task-147]
java.lang.NullPointerException: null
at org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:673) ~[activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:707) ~[activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:165) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAP
SHOT]
at org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:137) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:126) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:103) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1307) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:837) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:872) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_20]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_20]
<code>
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413822#comment-13413822 ]
Timothy Bish commented on AMQ-3887:
-----------------------------------
I'd recommend that you try and crate a JUnit test case to show how this is happening.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Ron Koerner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13418183#comment-13418183 ]
Ron Koerner commented on AMQ-3887:
----------------------------------
My broker configuration contains some proprietary code which enables us to allow local connections for everyone, but remote connections need to be authenticated. I'll probably have to ask our legal department if I'm allowed to open source these.
I built a SNAPSHOT with {{waitStarted()}} and will monitor the behaviour.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Ron Koerner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438598#comment-13438598 ]
Ron Koerner commented on AMQ-3887:
----------------------------------
That seems to help.
Anyway, I think there is another lurking bug. When safeWaitUntilStarted() returns because of disposed.get() is true it is the same as when it returns because of the latch was unblocked.
Wherever safeWaitUntilStarted() is used should be a check afterwards whether disposed.get() is true and act accordingly.
Otherwise, thanks for your help.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Gary Tully
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Reopened] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Ron Koerner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ron Koerner reopened AMQ-3887:
------------------------------
With the latest 5.7-SNAPSHOT the problem is still there:
<code>
2012-07-13 15:02:25,987 INFO .DemandForwardingBridgeSupport - Network connection between vm://smcufs02#32 and tcp:///127.0.0.1:43274(cbox-000000005300653612) has been established. [StartLocalBridge: localBroker=vm://smcufs02#32]
2012-07-13 15:02:25,988 INFO emq.broker.TransportConnection - Started responder end of duplex bridge cBox 000000005300653612 to cBox Proxy@ID:000000005300653612-48838-1341420908942-0:1 [ActiveMQ NIO Worker 1]
2012-07-13 15:02:25,989 INFO .ConnectorAuthenticationBroker - checked login of checkit:xdev-000000005300653612 [ActiveMQ NIO Worker 1]
2012-07-13 15:02:26,021 WARN .DemandForwardingBridgeSupport - Caught an exception processing local command [BrokerService[smcufs02] Task-147]
java.lang.NullPointerException: null
at org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:673) ~[activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:707) ~[activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:165) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAP
SHOT]
at org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:137) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:126) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:103) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1307) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:837) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:872) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) [activemq-core-5.7-SNAPSHOT.jar:5.7-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_20]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_20]
<code>
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully resolved AMQ-3887.
-----------------------------
Resolution: Fixed
Assignee: Gary Tully (was: Timothy Bish)
fix in http://svn.apache.org/viewvc?rev=1375459&view=rev
essentially the wait till the remote setup is complete before responding to a local dispatch.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Gary Tully
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (AMQ-3887) Occasional Null Pointer
Exception during NetworkConnector connection
Posted by "Ron Koerner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417003#comment-13417003 ]
Ron Koerner edited comment on AMQ-3887 at 7/18/12 11:37 AM:
------------------------------------------------------------
I tried, but it seems the problem only manifests in a live system.
Anyway, I think it is a race condition introduced by the following facts
* {{DemandForwardingBridgeSupport.start}}
** synchronously connects the {{local/remoteBroker}} Transports to {{serviceLocal/RemoteCommand}}
** asynchronously runs {{startRemoteBride}}
* someone sends a messageDispatch command to {{localBroker}} (whenever, maybe even before DFBS.start)
* [BrokerService[smcufs02] Task-147] delivers the message after {{DemandForwardingBridgeSupport.start}}
** to {{DemandForwardingBridgeSupport.serviceLocalCommand}}
** which calls {{configureMessage}} which uses {{producerInfo}} which is not yet set
** and {{startLocalBridge}} may not even be started yet
* {{startRemoteBridge}}
** eventually creates {{producerInfo}}
I don't think {{serviceLocalCommand}} should handle message dispatches before the bridge is completely started. Therefore a {{waitStarted()}} after {{if (command.isMessageDispatch())}} in {{serviceLocalCommand}} should solve the problem.
It is to note that {{serviceRemoteCommand}} already includes a {{waitStarted()}} for message dispatches.
Maybe both methods should make a checked for {{disposed}} after waiting. They do check at the beginning, but if {{waitStarted}} really blocks, that may change in the meantime.
was (Author: ron.koerner):
I tried, but it seems the problem only manifests in a live system.
Anyway, I think it is a race condition introduced by the following facts
* {{DemandForwardingBridgeSupport.start}}
** synchronously connects the {{local/remoteBroker}} Transports to {{serviceLocal/RemoteCommand}}
** asynchronously runs {{startRemoteBride}}
* someone sends a messageDispatch command to {{localBroker}} (whenever, maybe even before DFBS.start)
* {{\[BrokerService[smcufs02] Task-147\] }} delivers the message after {{DemandForwardingBridgeSupport.start}}
** to {{DemandForwardingBridgeSupport.serviceLocalCommand}}
** which calls {{configureMessage}} which uses {{producerInfo}} which is not yet set
** and {{startLocalBridge}} may not even be started yet
* {{startRemoteBridge}}
** eventually creates {{producerInfo}}
I don't think {{serviceLocalCommand}} should handle message dispatches before the bridge is completely started. Therefore a {{waitStarted()}} after {{if (command.isMessageDispatch())}} in {{serviceLocalCommand}} should solve the problem.
It is to note that {{serviceRemoteCommand}} already includes a {{waitStarted()}} for message dispatches.
Maybe both methods should make a checked for {{disposed}} after waiting. They do check at the beginning, but if {{waitStarted}} really blocks, that may change in the meantime.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Timothy Bish
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (AMQ-3887) Occasional Null Pointer Exception
during NetworkConnector connection
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AMQ-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438616#comment-13438616 ]
Gary Tully commented on AMQ-3887:
---------------------------------
@Ron, the 'safety' aspect of safeWaitUntilStarted is that it won't block forever in the event of a failure of one of the transports. Any subsequent failure will result in the exception handling stopping the bridge. We can keep an eye on that, thanks for the feedback.
> Occasional Null Pointer Exception during NetworkConnector connection
> --------------------------------------------------------------------
>
> Key: AMQ-3887
> URL: https://issues.apache.org/jira/browse/AMQ-3887
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0
> Environment: SLES 10
> Reporter: Ron Koerner
> Assignee: Gary Tully
> Fix For: 5.7.0
>
>
> While starting a duplex NetworkConnector an NPE can be observed on the receiving side.
> {code}
> 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]
> {code}
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira