IBM Support

IT35222: IBM MQ MFT: NullPointerException thrown by CommandHandler threadwith FFDC probe id FFDC_001

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

  • A IBM MQ MFT agent has been instructed to run a message-to-file
    transfer, to transfer a message on an IBM MQ queue to a file on
    a filesystem.
    
    The transfer completed successfully, but the message on the
    source queue was left behind after the transfer had finished.
    
    The following FFDC was generated by the IBM MQ MFT source agent:
    
    Thread:     29 (CommandHandler)
    Class:      com.ibm.wmqfte.cmdhandler.impl.FTECommandThread
    Method:     run
    Probe:      FFDC_001
    Cause:
    com.ibm.wmqfte.cmdhandler.FTECommandHandlerErrorException:
    BFGCH0066E: An internal error has occurred. An exception has
    been reported by the State Store. The exception is
    java.lang.NullPointerException
    com.ibm.wmqfte.cmdhandler.FTECommandHandlerErrorException:
    BFGCH0066E: An internal error has occurred. An exception has
    been reported by the State Store. The exception is
    java.lang.NullPointerException
    	at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerStateStoreImpl.p
    rocessInternalCommand(FTECommandHandlerStateStoreImpl.java:824)
    	at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.internalMessag
    eHandler(MessageHandlerImpl.java:433)
    	at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand
    (MessageHandlerImpl.java:165)
    	at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand
    (MessageHandlerImpl.java:154)
    	at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandThread.run(FTECommandTh
    read.java:345)
    	at java.lang.Thread.run(Thread.java:820)
    	at com.ibm.wmqfte.thread.FTEThread.run(FTEThread.java:70)
    Caused by: java.lang.NullPointerException
    	at
    com.ibm.wmqfte.io.queue.FTEQueueChannel.openForRead(FTEQueueChan
    nel.java:329)
    	at
    com.ibm.wmqfte.io.queue.FTEQueueFilterChannel.openForRead(FTEQue
    ueFilterChannel.java:129)
    	at
    com.ibm.wmqfte.statestore.impl.FTEMutableSenderState.processSour
    ceDisposition(FTEMutableSenderState.java:1144)
    	at
    com.ibm.wmqfte.statestore.impl.FTEMutableSenderState.addProgress
    Audit(FTEMutableSenderState.java:836)
    	at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.publishProgress
    Audit(FTEStateStoreImpl.java:1820)
    	at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.publishProgress
    Audit(FTEStateStoreImpl.java:1620)
    	at
    com.ibm.wmqfte.transfer.impl.TransferSenderRunnable.generateAudi
    tInformation(TransferSenderRunnable.java:1345)
    	at
    com.ibm.wmqfte.transfer.impl.TransferSenderRunnable.auditComplet
    e(TransferSenderRunnable.java:1472)
    	at
    com.ibm.wmqfte.transfer.impl.TransferSenderImpl.onComplete(Trans
    ferSenderImpl.java:312)
    	at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.sendForgetToFar
    End(FTEStateStoreImpl.java:1413)
    	at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerStateStoreImpl.p
    rocessInternalCommand(FTECommandHandlerStateStoreImpl.java:755)
    	... 6 more
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users of IBM MQ MFT who are making use of the message-to-file
    transfer functionality.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When a message-to-file transfer takes place, the source
    disposition is always configured to delete the message on the
    queue.  There was a timing window when deleting the message,
    where the internal object representing the connection to the
    queue manager could be set to the value 'null', before the
    source disposition phase took place.
    
    If this happened, then the CommandHandler thread on the source
    agent would throw a java.lang.NullPointerException, and an FFDC
    of the following form would be recorded:
    
    Thread:     29 (CommandHandler)
    Class:      com.ibm.wmqfte.cmdhandler.impl.FTECommandThread
    Method:     run
    Probe:      FFDC_001
    Cause:
    com.ibm.wmqfte.cmdhandler.FTECommandHandlerErrorException:
    BFGCH0066E: An internal error has occurred. An exception has
    been reported by the State Store. The exception is
    java.lang.NullPointerException
    com.ibm.wmqfte.cmdhandler.FTECommandHandlerErrorException:
    BFGCH0066E: An internal error has occurred. An exception has
    been reported by the State Store. The exception is
    java.lang.NullPointerException
    at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerStateStoreImpl.p
    rocessInternalCommand
    at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.internalMessag
    eHandler
    at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand
    at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand
    at com.ibm.wmqfte.cmdhandler.impl.FTECommandThread.run
    at com.ibm.wmqfte.thread.FTEThread.run
    Caused by: java.lang.NullPointerException
    at com.ibm.wmqfte.io.queue.FTEQueueChannel.openForRead
    at com.ibm.wmqfte.io.queue.FTEQueueFilterChannel.openForRead
    at
    com.ibm.wmqfte.statestore.impl.FTEMutableSenderState.processSour
    ceDisposition
    at
    com.ibm.wmqfte.statestore.impl.FTEMutableSenderState.addProgress
    Audit
    at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.publishProgress
    Audit
    at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.publishProgress
    Audit
    at
    com.ibm.wmqfte.transfer.impl.TransferSenderRunnable.generateAudi
    tInformation
    at
    com.ibm.wmqfte.transfer.impl.TransferSenderRunnable.auditComplet
    e
    at com.ibm.wmqfte.transfer.impl.TransferSenderImpl.onComplete
    at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.sendForgetToFar
    End
    
    
    
    The result of this was that the transfer source message was not
    removed from the queue, even though the transfer was marked as
    successfully completed.
    

Problem conclusion

  • The IBM MQ MFT source agent code has been updated such that
    during message-to-file transfers, the internal object is not set
    to the value 'null' before the source message has been deleted
    from the queue at the end of the transfer.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.1 LTS   9.1.0.8
    v9.2 LTS   9.2.0.2
    v9.x CD    9.2.2
    
    The latest available MQ 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

    IT35222

  • Reported component name

    IBM MQ MFT V9.1

  • Reported component ID

    5724H7272

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-12-09

  • Closed date

    2021-01-29

  • Last modified date

    2021-01-29

  • 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 MFT V9.1

  • Fixed component ID

    5724H7272

Applicable component levels

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]

Document Information

Modified date:
30 January 2021