Keith Wall created QPID-7632:
--------------------------------
Summary: [AMQP 0-10] NPE from QueueQuery when queue argument
omitted
Key: QPID-7632
URL: https://issues.apache.org/jira/browse/QPID-7632
Project: Qpid
Issue Type: Bug
Components: Java Broker
Reporter: Keith Wall
Fix For: Future
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.
{noformat}
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]
{noformat}
The peer received:
{noformat}
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)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]