Inactivity monitor (or another background task) cause a NullPointerException in
ActiveMQ
----------------------------------------------------------------------------------------
Key: AMQNET-356
URL: https://issues.apache.org/jira/browse/AMQNET-356
Project: ActiveMQ .Net
Issue Type: Bug
Components: NMS
Affects Versions: 1.5.2, 1.5.3
Environment: Tested with both Active MQ 5.5, 5.6
and ActiveMQ.Net 1.5.2 and 1.5.3.
Broker URI:
failover:(tcp://127.0.0.1:61616?nms.PrefetchPolicy.queuePrefetch=0&keepAlive=true&wireFormat.TightEncodingEnabled=false&wireFormat.CacheEnabled=false&wireFormat.MaxInactivityDuration=300000)
Reporter: Frank Gynnild
Assignee: Jim Gomes
Priority: Critical
We're running various automatic unit tests that ran fine for ActiveMQ.NMS
1.5.1, but that always fail
at the same spot when we test with the new 1.5.2 (or latest 1.5.3). Strangely,
it fails between two
tests, but it didn't used to do that before. Running these two tests alone
doesn't provoke the situation
so its been hard to isolate it. Since it is consistent, I thought it was best
to create an
issue here, maybe you have some hints on what's going on. I think it's a bug
though, because
we're using the failover protocol, yet the connection exception get raised
through this handler:
{code}
connection.ExceptionListener += ConnectionExceptionListener;
{code}
When using failover, I don't think we ever should see the exception listener
being called, right?
Only got this information so it's not much:
---
Type: Apache.NMS.NMSConnectionException. Message: Exception of type
'Apache.NMS.NMSConnectionException' was thrown.
---
*Before* this happens, we also see this in the ActiveMQ broker:
2011-11-23 09:47:18,458 | WARN | Async error occurred:
java.lang.NullPointerException |
org.apache.activemq.broker.TransportConnection.Service | ActiveMQ Transport:
tcp:///127.0.0.1:54782
java.lang.NullPointerException
at
org.apache.activemq.broker.TransportConnection.getConsumerBrokerExchange(TransportConnection.java:1349)
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:474)
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:229)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:223)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:205)
at java.lang.Thread.run(Unknown Source)
Thanks for any ideas on this. I'll be more than happy to test any code, since
it can be produced every time
with the 1.5.2 release.
--
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