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]

Reply via email to