Java broker emits NPE a period following qpid-tool being connected
------------------------------------------------------------------
Key: QPID-2430
URL: https://issues.apache.org/jira/browse/QPID-2430
Project: Qpid
Issue Type: Bug
Components: Java Broker, Java Management : QMF
Affects Versions: 0.7
Reporter: Robbie Gemmell
Fix For: 0.7
Whilst qpid-tool is connected to the Java broker, after a period of time the
broker is seen to emit a NullPointerException. This was typically seen quickyl
before the management update period was increased to 10 seconds, now it occurs
after a longer period, suggesting the root cause is dependant on the number of
messages sent. Thus far, the same code location has generated the NPE when
called from slightly different contexts in the following 3 threads:
Exception in thread "TimerThread-test:" java.lang.NullPointerException
Exception in thread "pool-1-thread-X" java.lang.NullPointerException
Exception in thread
"subflushrunner-org.apache.qpid.server.subscription.subscription_0...@1d4d493"
java.lang.NullPointerException
Up to date stack (r918944):
Exception in thread "TimerThread-test:" java.lang.NullPointerException
at
org.apache.qpid.server.txn.AutoCommitTransaction.dequeue(AutoCommitTransaction.java:55)
at
org.apache.qpid.server.subscription.Subscription_0_10.forceDequeue(Subscription_0_10.java:577)
at
org.apache.qpid.server.subscription.Subscription_0_10.send(Subscription_0_10.java:564)
at
org.apache.qpid.server.queue.SimpleAMQQueue.deliverMessage(SimpleAMQQueue.java:696)
at
org.apache.qpid.server.queue.SimpleAMQQueue.deliverToSubscription(SimpleAMQQueue.java:641)
at
org.apache.qpid.server.queue.SimpleAMQQueue.enqueue(SimpleAMQQueue.java:594)
at
org.apache.qpid.server.queue.SimpleAMQQueue.enqueue(SimpleAMQQueue.java:519)
at
org.apache.qpid.qmf.ManagementExchange.publishToConsole(ManagementExchange.java:364)
at
org.apache.qpid.qmf.ManagementExchange.publishObjectsToConsole(ManagementExchange.java:343)
at
org.apache.qpid.qmf.ManagementExchange.publishAllConsole(ManagementExchange.java:316)
at
org.apache.qpid.qmf.ManagementExchange$UpdateTask.run(ManagementExchange.java:497)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Older stacks (some line numbers have changed slightly since):
Exception in thread
"subflushrunner-org.apache.qpid.server.subscription.subscription_0...@1d4d493"
java.lang.NullPointerException
at
org.apache.qpid.server.txn.AutoCommitTransaction.dequeue(AutoCommitTransaction.java:55)
at
org.apache.qpid.server.subscription.Subscription_0_10.forceDequeue(Subscription_0_10.java:576)
at
org.apache.qpid.server.subscription.Subscription_0_10.send(Subscription_0_10.java:563)
at
org.apache.qpid.server.queue.SimpleAMQQueue.deliverMessage(SimpleAMQQueue.java:674)
at
org.apache.qpid.server.queue.SimpleAMQQueue.attemptDelivery(SimpleAMQQueue.java:1646)
at
org.apache.qpid.server.queue.SimpleAMQQueue.flushSubscription(SimpleAMQQueue.java:1585)
at
org.apache.qpid.server.queue.SubFlushRunner.run(SubFlushRunner.java:56)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Exception in thread
"subflushrunner-org.apache.qpid.server.subscription.subscription_0...@1d4d493"
java.lang.NullPointerException
at
org.apache.qpid.server.txn.AutoCommitTransaction.dequeue(AutoCommitTransaction.java:55)
at
org.apache.qpid.server.subscription.Subscription_0_10.forceDequeue(Subscription_0_10.java:576)
at
org.apache.qpid.server.subscription.Subscription_0_10.send(Subscription_0_10.java:563)
at
org.apache.qpid.server.queue.SimpleAMQQueue.deliverMessage(SimpleAMQQueue.java:674)
at
org.apache.qpid.server.queue.SimpleAMQQueue.attemptDelivery(SimpleAMQQueue.java:1646)
at
org.apache.qpid.server.queue.SimpleAMQQueue.flushSubscription(SimpleAMQQueue.java:1585)
at
org.apache.qpid.server.queue.SubFlushRunner.run(SubFlushRunner.java:56)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "pool-1-thread-15" java.lang.NullPointerException
at
org.apache.qpid.server.txn.AutoCommitTransaction.dequeue(AutoCommitTransaction.java:55)
at
org.apache.qpid.server.subscription.Subscription_0_10.forceDequeue(Subscription_0_10.java:576)
at
org.apache.qpid.server.subscription.Subscription_0_10.send(Subscription_0_10.java:563)
at
org.apache.qpid.server.queue.SimpleAMQQueue.deliverMessage(SimpleAMQQueue.java:674)
at
org.apache.qpid.server.queue.SimpleAMQQueue.attemptDelivery(SimpleAMQQueue.java:1646)
at
org.apache.qpid.server.queue.SimpleAMQQueue.processQueue(SimpleAMQQueue.java:1765)
at
org.apache.qpid.server.queue.SimpleAMQQueue.access$100(SimpleAMQQueue.java:70)
at
org.apache.qpid.server.queue.SimpleAMQQueue$Runner.run(SimpleAMQQueue.java:1542)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]