Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7632

[AMQP 0-10] NPE from QueueQuery when queue argument omitted

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • Future
    • Broker-J
    • None

    Description

      A client generated an illegal QueueQuery (null queue argument). This caused a NPE server side, and an INTERNAL_ERROR to be returned to the peer.

      An ILLEGAL_ARGUMENT or INVALID_ARGUMENT would have probably been more appropriate.

      This problem did not cause a server crash.

      017-01-19 17:01:40,459         DEBUG [IO-/127.0.0.1:56497] o.a.q.t.Connection RECV: [conn:3cd09483] ch=1 QueueQuery()
      2017-01-19 17:01:40,460         DEBUG [IO-/127.0.0.1:56497] o.a.q.t.Session identify: ch=1, commandId=0
      2017-01-19 17:01:40,471         ERROR [IO-/127.0.0.1:56497] o.a.q.s.p.v.ServerSessionDelegate Exception processing command
      java.lang.NullPointerException: null
              at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[na:1.8.0_111]
              at org.apache.qpid.server.model.AbstractConfiguredObject.getChildByName(AbstractConfiguredObject.java:2306) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject.getAttainedChildByName(AbstractConfiguredObject.java:2324) ~[classes/:na]
              at org.apache.qpid.server.model.AbstractConfiguredObject.awaitChildClassToAttainState(AbstractConfiguredObject.java:3081) ~[classes/:na]
              at org.apache.qpid.server.virtualhost.AbstractVirtualHost.getAttainedMessageSource(AbstractVirtualHost.java:1246) ~[classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.getMessageSource(ServerSessionDelegate.java:1458) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.queueQuery(ServerSessionDelegate.java:1667) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.queueQuery(ServerSessionDelegate.java:87) [classes/:na]
              at org.apache.qpid.transport.QueueQuery.dispatch(QueueQuery.java:87) [classes/:na]
              at org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:57) ~[classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:104) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:87) [classes/:na]
              at org.apache.qpid.transport.Method.delegate(Method.java:153) [classes/:na]
              at org.apache.qpid.transport.Session.received(Session.java:582) [classes/:na]
              at org.apache.qpid.transport.Connection.dispatch(Connection.java:448) [classes/:na]
              at org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:65) [classes/:na]
              at org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:41) [classes/:na]
              at org.apache.qpid.transport.MethodDelegate.queueQuery(MethodDelegate.java:215) [classes/:na]
              at org.apache.qpid.transport.QueueQuery.dispatch(QueueQuery.java:87) [classes/:na]
              at org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:55) [classes/:na]
              at org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:41) [classes/:na]
              at org.apache.qpid.transport.Method.delegate(Method.java:153) [classes/:na]
              at org.apache.qpid.transport.Connection.received(Connection.java:401) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerConnection.access$001(ServerConnection.java:67) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerConnection$2.run(ServerConnection.java:263) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerConnection$2.run(ServerConnection.java:259) [classes/:na]
              at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_111]
              at org.apache.qpid.server.protocol.v0_10.ServerConnection.received(ServerConnection.java:258) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerAssembler.emit(ServerAssembler.java:115) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerAssembler.assemble(ServerAssembler.java:204) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerAssembler.frame(ServerAssembler.java:144) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerAssembler.received(ServerAssembler.java:72) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerInputHandler.parse(ServerInputHandler.java:175) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.ServerInputHandler.received(ServerInputHandler.java:82) [classes/:na]
              at org.apache.qpid.server.protocol.v0_10.AMQPConnection_0_10$3.run(AMQPConnection_0_10.java:152) [classes/:na]
              at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_111]
              at org.apache.qpid.server.protocol.v0_10.AMQPConnection_0_10.received(AMQPConnection_0_10.java:144) [classes/:na]
              at org.apache.qpid.server.transport.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:130) [classes/:na]
              at org.apache.qpid.server.transport.NonBlockingConnection.processAmqpData(NonBlockingConnection.java:593) [classes/:na]
              at org.apache.qpid.server.transport.NonBlockingConnectionPlainDelegate.processData(NonBlockingConnectionPlainDelegate.java:58) [classes/:na]
              at org.apache.qpid.server.transport.NonBlockingConnection.doRead(NonBlockingConnection.java:483) [classes/:na]
              at org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:270) [classes/:na]
              at org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:126) [classes/:na]
      

      The peer received:

      2017-01-19 17:01:40,476         DEBUG [IoRcvr-/127.0.0.1:56497-localhost/127.0.0.1:56495] o.a.q.t.Connection RECV: [conn:29314cc9] ch=1 ExecutionException(errorCode=INTERNAL_ERROR, commandId=0, description=Exception processing command: java.lang.NullPointerException)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            kwall Keith Wall
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: