Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Invalid
-
0.30
-
None
-
None
Description
JMS client can send null as an exchange name in ExchangeBound command
Client log:
main 2014-08-29 11:42:44,985 DEBUG [qpid.protocol] SEND: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [ExchangeBoundBodyImpl: exchange=amq.direct, routingKey=selectors, queue=selectors] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,985 INFO [qpid.protocol] RECV: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [ExchangeBoundOkBodyImpl: replyCode=0, replyText=null] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,985 DEBUG [qpid.client.protocol.AMQProtocolHandler] (1651659414)Method frame received: [ExchangeBoundOkBodyImpl: replyCode=0, replyText=null] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,985 DEBUG [qpid.client.handler.ExchangeBoundOkMethodHandler] Received Exchange.Bound-Ok message, response code: 0 text: null main 2014-08-29 11:42:44,985 DEBUG [apache.qpid.client.AMQSession] Setting channel flow : suspended main 2014-08-29 11:42:44,985 DEBUG [qpid.protocol] SEND: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [ChannelFlowBodyImpl: active=false] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,986 INFO [qpid.protocol] RECV: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [ChannelFlowOkBodyImpl: active=false] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,986 DEBUG [qpid.client.protocol.AMQProtocolHandler] (1651659414)Method frame received: [ChannelFlowOkBodyImpl: active=false] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,986 DEBUG [qpid.client.handler.ChannelFlowOkMethodHandler] Received Channel.Flow-Ok message, active = false main 2014-08-29 11:42:44,986 DEBUG [apache.qpid.client.AMQSession] Prefetching delayed existing messages will not flow until requested via receive*() or setML(). main 2014-08-29 11:42:44,987 DEBUG [apache.qpid.framing.FieldTable] FieldTable::writeToBuffer: Writing encoded length of 27... main 2014-08-29 11:42:44,987 DEBUG [apache.qpid.framing.FieldTable] {x-filter-jms-selector=[LONG_STRING: ]} main 2014-08-29 11:42:44,987 DEBUG [qpid.protocol] SEND: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [BasicConsumeBodyImpl: ticket=0, queue=selectors, consumerTag=1, noLocal=false, noAck=true, exclusive=false, nowait=false, arguments={x-filter-jms-selector=[LONG_STRING: ]}] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,994 INFO [qpid.protocol] RECV: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [BasicConsumeOkBodyImpl: consumerTag=1] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:44,994 DEBUG [qpid.client.protocol.AMQProtocolHandler] (1651659414)Method frame received: [BasicConsumeOkBodyImpl: consumerTag=1] main 2014-08-29 11:42:44,995 DEBUG [apache.qpid.client.AMQConnectionDelegate_8_0] supportsIsBound: true main 2014-08-29 11:42:44,996 DEBUG [qpid.protocol] SEND: [org.apache.qpid.client.protocol.AMQProtocolHandler@62725296] Frame channelId: 2, bodyFrame: [ExchangeBoundBodyImpl: exchange=null, routingKey=null, queue=selectors] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,004 DEBUG [qpid.client.protocol.AMQProtocolHandler] Session closed called with failover state FailoverState: NOT STARTED IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,005 DEBUG [apache.qpid.jms.FailoverPolicy] All failover methods exhausted IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,005 DEBUG [apache.qpid.jms.FailoverPolicy] All failover methods exhausted IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,005 DEBUG [qpid.client.protocol.AMQProtocolHandler] Failover not allowed by policy:Failover Policy: Failover not allowed Failover policy methods >Single Server: Max Retries:0 Current Retry:0 tcp://127.0.0.1:56724 IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,006 DEBUG [apache.qpid.client.AMQConnection] exceptionReceived done by:IoReceiver - /127.0.0.1:56724 org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted. at org.apache.qpid.client.protocol.AMQProtocolHandler.closed(AMQProtocolHandler.java:275) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222) at java.lang.Thread.run(Thread.java:745) IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,009 DEBUG [qpid.client.state.AMQStateManager] State changing to AMQState: id = 6 name: CONNECTION_CLOSED from old state AMQState: id = 4 name: CONNECTION_OPEN IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,009 DEBUG [qpid.client.state.AMQStateManager] Notififying State change to 0 : [] IoReceiver - /127.0.0.1:56724 2014-08-29 11:42:45,009 INFO [qpid.client.state.AMQStateManager] No Waiters for error. Saving as last error:Exception thrown against AMQConnection: Host: 127.0.0.1 Port: 56724 Virtual Host: Client ID: clientid Active session count: 2: org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted. main 2014-08-29 11:42:45,009 DEBUG [apache.qpid.client.AMQSession] Closing session: org.apache.qpid.client.AMQSession_0_8@65babc5c main 2014-08-29 11:42:45,010 DEBUG [apache.qpid.client.BasicMessageConsumer] Closing consumer:1[1400948206] main 2014-08-29 11:42:45,011 ERROR [qpid.disttest.controller.TestRunner] Couldn't run test org.apache.qpid.disttest.DistributedTestException: Failed to drain queue:direct://amq.direct/selectors/selectors?routingkey='selectors' at org.apache.qpid.disttest.jms.QpidQueueCreator.drainQueue(QpidQueueCreator.java:122) at org.apache.qpid.disttest.jms.QpidQueueCreator.deleteQueues(QpidQueueCreator.java:64) at org.apache.qpid.disttest.jms.ControllerJmsDelegate.deleteQueues(ControllerJmsDelegate.java:233) at org.apache.qpid.disttest.controller.TestRunner.deleteQueues(TestRunner.java:237) at org.apache.qpid.disttest.controller.TestRunner.runParts(TestRunner.java:145) at org.apache.qpid.disttest.controller.TestRunner.run(TestRunner.java:104) at org.apache.qpid.disttest.controller.Controller.runAllTests(Controller.java:171) at org.apache.qpid.disttest.ControllerRunner.runTest(ControllerRunner.java:157) at org.apache.qpid.disttest.ControllerRunner.runTests(ControllerRunner.java:136) at org.apache.qpid.disttest.ControllerRunner.runController(ControllerRunner.java:90) at org.apache.qpid.disttest.ControllerRunner.main(ControllerRunner.java:77) Caused by: org.apache.qpid.disttest.DistributedTestException: Failed to query queue depth:direct://amq.direct/selectors/selectors?routingkey='selectors' at org.apache.qpid.disttest.jms.QpidQueueCreator.getQueueDepth(QpidQueueCreator.java:91) at org.apache.qpid.disttest.jms.QpidQueueCreator.drainQueue(QpidQueueCreator.java:104) ... 10 more Caused by: org.apache.qpid.AMQException: Woken up due to class javax.jms.JMSException at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:195) at org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:115) at org.apache.qpid.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:709) at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:730) at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:724) at org.apache.qpid.client.AMQSession_0_8.sendExchangeBound(AMQSession_0_8.java:506) at org.apache.qpid.client.AMQSession_0_8.access$100(AMQSession_0_8.java:70) at org.apache.qpid.client.AMQSession_0_8$2.execute(AMQSession_0_8.java:462) at org.apache.qpid.client.AMQSession_0_8$2.execute(AMQSession_0_8.java:459) at org.apache.qpid.client.failover.FailoverNoopSupport.execute(FailoverNoopSupport.java:67) at org.apache.qpid.client.AMQSession_0_8.isBound(AMQSession_0_8.java:457) at org.apache.qpid.client.AMQSession_0_8.requestQueueDepth(AMQSession_0_8.java:881) at org.apache.qpid.client.AMQSession$8.execute(AMQSession.java:2851) at org.apache.qpid.client.AMQSession$8.execute(AMQSession.java:2846) at org.apache.qpid.client.failover.FailoverNoopSupport.execute(FailoverNoopSupport.java:67) at org.apache.qpid.client.AMQSession.getQueueDepth(AMQSession.java:2845) at org.apache.qpid.client.AMQSession.getQueueDepth(AMQSession.java:2830) at org.apache.qpid.disttest.jms.QpidQueueCreator.getQueueDepth(QpidQueueCreator.java:86) ... 11 more Caused by: javax.jms.JMSException: Exception thrown against AMQConnection: Host: 127.0.0.1 Port: 56724 Virtual Host: Client ID: clientid Active session count: 2: org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted. at org.apache.qpid.client.AMQConnection.exceptionReceived(AMQConnection.java:1313) at org.apache.qpid.client.protocol.AMQProtocolHandler.closed(AMQProtocolHandler.java:275) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted. ... 3 more main 2014-08-29 11:42:45,014 ERROR [apache.qpid.disttest.ControllerRunner] Problem running test org.apache.qpid.disttest.DistributedTestException: Failed to drain queue:direct://amq.direct/selectors/selectors?routingkey='selectors' at org.apache.qpid.disttest.jms.QpidQueueCreator.drainQueue(QpidQueueCreator.java:122) at org.apache.qpid.disttest.jms.QpidQueueCreator.deleteQueues(QpidQueueCreator.java:64) at org.apache.qpid.disttest.jms.ControllerJmsDelegate.deleteQueues(ControllerJmsDelegate.java:233) at org.apache.qpid.disttest.controller.TestRunner.deleteQueues(TestRunner.java:237) at org.apache.qpid.disttest.controller.TestRunner.runParts(TestRunner.java:145) at org.apache.qpid.disttest.controller.TestRunner.run(TestRunner.java:104) at org.apache.qpid.disttest.controller.Controller.runAllTests(Controller.java:171) at org.apache.qpid.disttest.ControllerRunner.runTest(ControllerRunner.java:157) at org.apache.qpid.disttest.ControllerRunner.runTests(ControllerRunner.java:136) at org.apache.qpid.disttest.ControllerRunner.runController(ControllerRunner.java:90) at org.apache.qpid.disttest.ControllerRunner.main(ControllerRunner.java:77) Caused by: org.apache.qpid.disttest.DistributedTestException: Failed to query queue depth:direct://amq.direct/selectors/selectors?routingkey='selectors' at org.apache.qpid.disttest.jms.QpidQueueCreator.getQueueDepth(QpidQueueCreator.java:91) at org.apache.qpid.disttest.jms.QpidQueueCreator.drainQueue(QpidQueueCreator.java:104) ... 10 more Caused by: org.apache.qpid.AMQException: Woken up due to class javax.jms.JMSException at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:195) at org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:115) at org.apache.qpid.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:709) at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:730) at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:724) at org.apache.qpid.client.AMQSession_0_8.sendExchangeBound(AMQSession_0_8.java:506) at org.apache.qpid.client.AMQSession_0_8.access$100(AMQSession_0_8.java:70) at org.apache.qpid.client.AMQSession_0_8$2.execute(AMQSession_0_8.java:462) at org.apache.qpid.client.AMQSession_0_8$2.execute(AMQSession_0_8.java:459) at org.apache.qpid.client.failover.FailoverNoopSupport.execute(FailoverNoopSupport.java:67) at org.apache.qpid.client.AMQSession_0_8.isBound(AMQSession_0_8.java:457) at org.apache.qpid.client.AMQSession_0_8.requestQueueDepth(AMQSession_0_8.java:881) at org.apache.qpid.client.AMQSession$8.execute(AMQSession.java:2851) at org.apache.qpid.client.AMQSession$8.execute(AMQSession.java:2846) at org.apache.qpid.client.failover.FailoverNoopSupport.execute(FailoverNoopSupport.java:67) at org.apache.qpid.client.AMQSession.getQueueDepth(AMQSession.java:2845) at org.apache.qpid.client.AMQSession.getQueueDepth(AMQSession.java:2830) at org.apache.qpid.disttest.jms.QpidQueueCreator.getQueueDepth(QpidQueueCreator.java:86) ... 11 more Caused by: javax.jms.JMSException: Exception thrown against AMQConnection: Host: 127.0.0.1 Port: 56724 Virtual Host: Client ID: clientid Active session count: 2: org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted. at org.apache.qpid.client.AMQConnection.exceptionReceived(AMQConnection.java:1313) at org.apache.qpid.client.protocol.AMQProtocolHandler.closed(AMQProtocolHandler.java:275) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted. ... 3 more main 2014-08-29 11:42:45,016 INFO [qpid.disttest.controller.Controller] Stopping all clients
Broker log:
2014-08-29 11:42:44,997 ERROR [IoReceiver - /127.0.0.1:34522] (protocol.AMQProtocolEngine) - Unexpected exception while processing frame. Closing connection. org.apache.qpid.AMQException: Exchange exchange must not be null at org.apache.qpid.server.handler.ExchangeBoundHandler.methodReceived(ExchangeBoundHandler.java:89) at org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchExchangeBound(ServerMethodDispatcherImpl.java:458) at org.apache.qpid.framing.amqp_0_9.ExchangeBoundBodyImpl.execute(ExchangeBoundBodyImpl.java:130) at org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:120) at org.apache.qpid.server.protocol.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:569) at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97) at org.apache.qpid.server.protocol.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:433) at org.apache.qpid.server.protocol.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:356) at org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:277) at org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:103) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:118) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:37) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161) at java.lang.Thread.run(Thread.java:745)
Attachments
Issue Links
- is related to
-
QPID-6066 [0-8..0-9-1] Client AMQSession#getQueueDepth() call fails against pre 0.30 java brokers
- Closed