IBM Support

IT29370: AMQP channel ends unexpectedly due to NullPointerException

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • The AMQP channel ends with an error in the log:
    
    AMQCO2001E: An error (probe: XR014005) occurred and
    a Failure Data Capture (FDC) file has been written to file
    '/var/mqm/errors/AMQP0.FDC'.
    AMQCO1006I: Channel 'SYSTEM.DEF.AMQP' has stopped
    
    and an FDC generated with details:
    
     Probe Id          :- XR014005
    
    java.lang.NullPointerException
     at
    com.ibm.mq.MQXRService.MQConnection.jmqiGet(MQConnection.java:10
    57)
     at
    com.ibm.mq.MQXRService.WorkerContext.browseMessageFromTransmitQu
    eue(WorkerContext.java:563)
     at
    com.ibm.mq.MQXRService.OutboundInFlightMessage.getMqTransmitQueu
    eMessage(OutboundInFlightMessage.java:180)
     at
    com.ibm.mq.MQXRService.AMQPSubscriptionWrapper.captureBufferedMe
    ssages(AMQPSubscriptionWrapper.java:327)
     at
    com.ibm.mq.MQXRService.AMQPServerSessionV10.sendMessageBacklog(A
    MQPServerSessionV10.java:2024)
     at
    com.ibm.mq.MQXRService.MQTTServerSession.prepareAsynchronousWork
    (MQTTServerSession.java:912)
     at
    com.ibm.mq.MQXRService.AMQPServerWireContext.prepareAsynchronous
    Work(AMQPServerWireContext.java:198)
     at
    com.ibm.mq.communications.NonBlockingWorker.synchronousWorkCompl
    eted(NonBlockingWorker.java:615)
     at
    com.ibm.mq.communications.NonBlockingWorker.run(NonBlockingWorke
    r.java:422)
     at java.lang.Thread.run(Thread.java:809)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the IBM MQ AMQP service, where the
    service experiences very high JVM heap utilisation while
    messages are being sent to subscribing clients.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When a heavily-loaded v8.0 or v9.0 AMQP service approaches the
    limit of available heap memory, it can preemptively close some
    client connections and associated internal objects in order to
    free up space. This avoids it from hitting a serious runtime
    error (such as a java.lang.OutOfMemoryError) that could result
    in the AMQP service ending unexpectedly.
    
    There was a small timing window which meant that if the internal
    objects were closed at the same time as the AMQP service was
    getting a message from the transmit queue to send to an AMQP
    client, then a method was called on a null object. This resulted
    in a NullPointerException to be generated, which caused the AMQP
    service to stop unexpectedly.
    

Problem conclusion

  • Additional checks have been added to the IBM MQ AMQP service to
    ensure that internal calls are not made on objects that could be
    null at any point. These checks prevent NullPointerExceptions
    from occurring if client connections and internal objects are
    being closed to free up memory at the same time as messages for
    those clients are being retrieved from the queue manager.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.13
    v9.0 LTS   9.0.0.8
    
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT29370

  • Reported component name

    IBM MQ BASE MP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-06-07

  • Closed date

    2019-08-07

  • Last modified date

    2019-09-24

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IBM MQ BASE MP

  • Fixed component ID

    5724H7251

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
24 September 2019