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

Java broker emits NPE following qpid-tool being connected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.7
    • 0.7
    • Broker-J
    • None

    Description

      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_10@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_10@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_10@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)

      Attachments

        Activity

          People

            robbie Robbie Gemmell
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: