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

[Broker-J][AMQP 0-8...0-9-1] Commit on nontransacted session causes broker to crash

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • qpid-java-6.1.4
    • qpid-java-broker-7.0.0
    • Broker-J
    • None

    Description

      NPE is thrown on attempt to commit a transaction on non-transacted session.
      The broker crashes with the following stacktrace

      ########################################################################
      #
      # Unhandled Exception java.lang.NullPointerException in Thread IO-/127.0.0.1:52584
      #
      # Exiting
      #
      ########################################################################
      java.lang.NullPointerException
              at org.apache.qpid.bytebuffer.QpidByteBuffer.duplicate(QpidByteBuffer.java:416)
              at org.apache.qpid.server.protocol.v0_8.CachedFrame.writePayload(CachedFrame.java:53)
              at org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl.writeFrame(AMQPConnection_0_8Impl.java:382)
              at org.apache.qpid.server.protocol.v0_8.AMQChannel$9.run(AMQChannel.java:3658)
              at org.apache.qpid.server.txn.AsyncAutoCommitTransaction$5.postCommit(AsyncAutoCommitTransaction.java:352)
              at org.apache.qpid.server.txn.AsyncAutoCommitTransaction.addFuture(AsyncAutoCommitTransaction.java:129)
              at org.apache.qpid.server.txn.AsyncAutoCommitTransaction.commit(AsyncAutoCommitTransaction.java:348)
              at org.apache.qpid.server.protocol.v0_8.AMQChannel.commit(AMQChannel.java:1278)
              at org.apache.qpid.server.protocol.v0_8.AMQChannel.receiveTxCommit(AMQChannel.java:3652)
              at org.apache.qpid.codec.ServerDecoder.processMethod(ServerDecoder.java:228)
              at org.apache.qpid.codec.AMQDecoder.processFrame(AMQDecoder.java:196)
              at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.doProcessFrame(BrokerDecoder.java:143)
              at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.processFrame(BrokerDecoder.java:67)
              at org.apache.qpid.codec.AMQDecoder.processInput(AMQDecoder.java:178)
              at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.access$000(BrokerDecoder.java:36)
              at org.apache.qpid.server.protocol.v0_8.BrokerDecoder$1.run(BrokerDecoder.java:106)
              at org.apache.qpid.server.protocol.v0_8.BrokerDecoder$1.run(BrokerDecoder.java:99)
              at java.security.AccessController.doPrivileged(Native Method)
              at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.processAMQPFrames(BrokerDecoder.java:98)
              at org.apache.qpid.codec.AMQDecoder.decode(AMQDecoder.java:111)
              at org.apache.qpid.codec.ServerDecoder.decodeBuffer(ServerDecoder.java:43)
              at org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl$1.run(AMQPConnection_0_8Impl.java:253)
              at org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl$1.run(AMQPConnection_0_8Impl.java:245)
              at java.security.AccessController.doPrivileged(Native Method)
              at org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl.received(AMQPConnection_0_8Impl.java:244)
              at org.apache.qpid.server.transport.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:143)
              at org.apache.qpid.server.transport.NonBlockingConnection.processAmqpData(NonBlockingConnection.java:624)
              at org.apache.qpid.server.transport.NonBlockingConnectionPlainDelegate.processData(NonBlockingConnectionPlainDelegate.java:58)
              at org.apache.qpid.server.transport.NonBlockingConnection.doRead(NonBlockingConnection.java:512)
              at org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:285)
              at org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:130)
              at org.apache.qpid.server.transport.SelectorThread$ConnectionProcessor.processConnection(SelectorThread.java:563)
              at org.apache.qpid.server.transport.SelectorThread$SelectionTask.performSelect(SelectorThread.java:354)
              at org.apache.qpid.server.transport.SelectorThread$SelectionTask.run(SelectorThread.java:97)
              at org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:521)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            orudyy Alex Rudyy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: