IBM Support

IT03927: MESSAGE-TO-FILE TRANSFER HANGS AND DOES NOT COMPLETE DUE TO JAVA.LANG.NULLPOINTEREXCEPTION.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A WebSphere MQ File Transfer Edition (FTE) message-to-file
    transfer does not complete due to a
    java.lang.NullPointerException. An FFDC is generated by the
    WebSphere MQ FTE source agent containing the following
    information:
    
    Level:  f704-FP3-20130429-1711
    Time: 20/08/2014 21:59:05:859 JST
    Thread:  3544 (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 null.
    
    com.ibm.wmqfte.cmdhandler.FTECommandHandlerErrorException:
    BFGCH0066E: An internal error has occurred. An exception has
    been reported by the State Store. The exception is null
    at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerStateStoreImpl.p
    rocessInternalCommand(FTECommandHandlerStateStoreImpl.java:675)
    at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.internalMessag
    eHandler(MessageHandlerImpl.java:394)
    at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand
    (MessageHandlerImpl.java:144)
    at
    com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand
    (MessageHandlerImpl.java:135)
    at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandThread.run(FTECommandTh
    read.java:280)
    at java.lang.Thread.run(Thread.java:738)
    at com.ibm.wmqfte.thread.FTEThread.run(FTEThread.java:64)
    Caused by: java.lang.NullPointerException
    at
    com.ibm.wmqfte.transfer.impl.TransferSenderRunnable.isComplete(T
    ransferSenderRunnable.java:1527)
    at
    com.ibm.wmqfte.transfer.impl.TransferSenderImpl.onComplete(Trans
    ferSenderImpl.java:281)
    at
    com.ibm.wmqfte.statestore.impl.FTEStateStoreImpl.sendForgetToFar
    End(FTEStateStoreImpl.java:1346)
    at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerStateStoreImpl.p
    rocessInternalCommand(FTECommandHandlerStateStoreImpl.java:616)
    ...
    Arg[0]: 0x4d, 0x51, 0x46, 0x54, 0x43, 0x4d, 0x50, 0x4c ...
    MQFTCMPL......
    
    A trace of the WebSphere MQ FTE source agent leading up to the
    java.lang.NullPointerException shows that the agent enters
    recovery processing a number of times because, when attempting
    to create a connection to its agent queue manager, a 2059
    (MQRC_Q_MGR_NOT_AVAILABLE) exception is thrown.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issues affects all users of WebSphere MQ File Transfer
    Edition.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When a WebSphere MQ File Transfer Edition destination agent
    wrote all of the data for a transfer to the destination
    file/queue it sent a "TransferCompleted" message to the source
    agent to indicate that it had completed all of the necessary
    destination processing for the transfer. If the transfer at the
    source agent side (or the source agent itself) entered recovery
    prior to receiving this TransferCompleted message, the source
    agent started a new "TransferSender" thread, that would then be
    used to initialise the internal Java objects that represented
    the state of the transfer, identified in the message, at the
    source agent.
    
    Another thread (the CommandHandler) would wait for this
    TransferSender thread to end then use these Java objects to
    perform the final processing for the transfer. This processing
    included publishing the "completed" transfer log message to the
    SYSTEM.FTE topic on the coordination queue manager and removing
    the details of the transfer from the agent's state store, for
    example.
    
    Once the TransferSender thread started to run, it attempted to
    connect to the agent's queue manager. If this connection attempt
    failed, then the TransferSender thread did not initialise all of
    the Java objects necessary for the CommandHandler to
    successfully process the TransferCompleted message. The
    CommandHandler thread then attempted to call a method on a null
    object, assuming it would exist as the TransferSender thread
    finished running, which caused a java.lang.NullPointerException
    exception to be thrown within the agent. This subsequently
    caused an FFDC to be generated.
    
    If the CommandHandler thread's connection to the agent's queue
    manager was still active, then the sync-point which was used to
    get the TransferCompleted message, was committed as it was
    deemed a bad command message. As a resulted of this, no more
    processing for the transfer occurred and the transfer did not
    complete.
    

Problem conclusion

  • The WebSphere MQ File Transfer Edition agent code has been
    updated such that, if a new TransferSender thread is started
    upon receipt of a TransferCompleted message (sent by the
    destination agent) and this thread is unable to connect to the
    agent's queue manager, then the CommandHandler thread would put
    the TransferCompleted message back on the SYSTEM.FTE.COMMAND.
    queue before committing the sync-point associated with this
    piece of work. As a result, the processing of the
    TransferCompleted message can be retried again.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.0       7.0.4.5
    v7.5       7.5.0.5
    v8.0       8.0.0.2
    
    The latest available FTE maintenance can be obtained from
    'Fix List for WebSphere MQ File Transfer Edition 7.0'
    http://www-01.ibm.com/support/docview.wss?uid=swg27015313
    
    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

    IT03927

  • Reported component name

    WMQ FILE TRANSF

  • Reported component ID

    5724R1000

  • Reported release

    704

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-08-21

  • Closed date

    2014-09-30

  • Last modified date

    2014-09-30

  • 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

    WMQ FILE TRANSF

  • Fixed component ID

    5724R1000

Applicable component levels

  • R704 PSY

       UP

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

Document Information

Modified date:
30 September 2014