Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.31
-
None
Description
If I pass a message.subscribe command to the Java Broker but omit the optional destination flag, the test fails and the Java Broker exits due to the following NPE.
It appears the code assumes destination will never be absent.
The easiest way to reproduce the issue is to run Python test (which is excluded in the Java010PythonExcludes file)
qpid_tests.broker_0_10.queue.QueueTests.test_declare_exclusive_alreadyinuse
Exception is:
######################################################################## # # Unhandled Exception java.lang.NullPointerException in Thread IoReceiver - /0:0:0:0:0:0:0:1:49316 # # Exiting # ######################################################################## java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1175) at org.apache.qpid.server.protocol.v0_10.ServerSession.unregister(ServerSession.java:556) at org.apache.qpid.server.protocol.v0_10.ServerSession.unregisterSubscriptions(ServerSession.java:940) at org.apache.qpid.server.protocol.v0_10.ServerConnection.closeSubscriptions(ServerConnection.java:542) at org.apache.qpid.server.protocol.v0_10.ServerConnection.closed(ServerConnection.java:534) at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:112) at org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:214) at org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.closed(ProtocolEngine_0_10.java:231) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:129) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222) at java.lang.Thread.run(Thread.java:744) Process finished with exit code 1