Alex Rudyy created QPID-6056:
--------------------------------
Summary: [JMS Client 0.8/0.9.x] JMS client can send null as an
exchange name in ExchangeBound command
Key: QPID-6056
URL: https://issues.apache.org/jira/browse/QPID-6056
Project: Qpid
Issue Type: Bug
Components: Java Client
Affects Versions: 0.30
Reporter: Alex Rudyy
Priority: Critical
JMS client can send null as an exchange name in ExchangeBound command
Client log:
{noformat}
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
{noformat}
Broker log:
{noformat}
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)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]