Hi Qpid experts,
I am testing using Java broker 0.32 with client 0.16, and have run into
NPEs when I create consumers to queues in an initialization step to force
the queues to be created. I'm not able to reproduce this reliably, and it's
possible that this is triggered by some race condition, since we can have
multiple threads trying to register consumers to these new queues at the
same time. Any idea what is causing this? (We used to use the 0.16 broker
with the same initialization and didn't run into this.)
Stacktrace I've seen:
qpidbrkr`20150630085024.987`Exception processing command
java.lang.NullPointerException
at
org.apache.qpid.server.queue.AbstractQueue.addConsumer(AbstractQueue.java:802)
at
org.apache.qpid.server.queue.AbstractQueue.addConsumer(AbstractQueue.java:100)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.messageSubscribe(ServerSessionDelegate.java:327)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.messageSubscribe(ServerSessionDelegate.java:82)
at
org.apache.qpid.transport.MessageSubscribe.dispatch(MessageSubscribe.java:110)
at
org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:55)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:99)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:82)
at org.apache.qpid.transport.Method.delegate(Method.java:159)
at org.apache.qpid.transport.Session.received(Session.java:596)
at
org.apache.qpid.transport.Connection.dispatch(Connection.java:452)
at
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
at
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
at
org.apache.qpid.transport.MethodDelegate.messageSubscribe(MethodDelegate.java:131)
at
org.apache.qpid.transport.MessageSubscribe.dispatch(MessageSubscribe.java:110)
at
org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:54)
at
org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:40)
at org.apache.qpid.transport.Method.delegate(Method.java:159)
at
org.apache.qpid.transport.Connection.received(Connection.java:405)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection.access$001(ServerConnection.java:64)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection$1.run(ServerConnection.java:316)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection$1.run(ServerConnection.java:312)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection.received(ServerConnection.java:311)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection.received(ServerConnection.java:64)
at
org.apache.qpid.transport.network.Assembler.emit(Assembler.java:97)
at
org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:198)
at
org.apache.qpid.transport.network.Assembler.frame(Assembler.java:131)
at org.apache.qpid.transport.network.Frame.delegate(Frame.java:128)
at
org.apache.qpid.transport.network.Assembler.received(Assembler.java:102)
at
org.apache.qpid.transport.network.Assembler.received(Assembler.java:44)
at
org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:199)
at
org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:114)
at
org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.received(ProtocolEngine_0_10.java:179)
at
org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.received(ProtocolEngine_0_10.java:43)
at
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:153)
at
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:51)
at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
at java.lang.Thread.run(Thread.java:745)
Another that I've seen that seems related:
qpidbrkr`20150630085024.954`Exception processing command
java.lang.NullPointerException
at
org.apache.qpid.server.queue.AbstractQueue.getAvailableAttributes(AbstractQueue.java:635)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.queueQuery(ServerSessionDelegate.java:1533)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.queueQuery(ServerSessionDelegate.java:82)
at org.apache.qpid.transport.QueueQuery.dispatch(QueueQuery.java:87)
at
org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:55)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:99)
at
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:82)
at org.apache.qpid.transport.Method.delegate(Method.java:159)
at org.apache.qpid.transport.Session.received(Session.java:596)
at
org.apache.qpid.transport.Connection.dispatch(Connection.java:452)
at
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
at
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
at
org.apache.qpid.transport.MethodDelegate.queueQuery(MethodDelegate.java:215)
at org.apache.qpid.transport.QueueQuery.dispatch(QueueQuery.java:87)
at
org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:54)
at
org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:40)
at org.apache.qpid.transport.Method.delegate(Method.java:159)
at
org.apache.qpid.transport.Connection.received(Connection.java:405)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection.access$001(ServerConnection.java:64)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection$1.run(ServerConnection.java:316)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection$1.run(ServerConnection.java:312)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection.received(ServerConnection.java:311)
at
org.apache.qpid.server.protocol.v0_10.ServerConnection.received(ServerConnection.java:64)
at
org.apache.qpid.transport.network.Assembler.emit(Assembler.java:97)
at
org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:198)
at
org.apache.qpid.transport.network.Assembler.frame(Assembler.java:131)
at org.apache.qpid.transport.network.Frame.delegate(Frame.java:128)
at
org.apache.qpid.transport.network.Assembler.received(Assembler.java:102)
at
org.apache.qpid.transport.network.Assembler.received(Assembler.java:44)
at
org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:199)
at
org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:114)
at
org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.received(ProtocolEngine_0_10.java:179)
at
org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.received(ProtocolEngine_0_10.java:43)
at
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:153)
at
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:51)
at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
at java.lang.Thread.run(Thread.java:745)
Thanks!
Helen