IBM Support

IT43691: MFT PBA ABENDs with IndexOutOfBoundException if SFTP server returns a filesize of -1

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 Managed File Transfer (MFT) protocol bridge agent (PBA) is
    connecting to a file server using the SFTP protocol and acting
    as the source agent for a managed transfer. When querying the
    size of the source file, the file server returns a value of -1.
    This results in an java.lang.IndexOutOfBoundsException being
    created, which causes the agent to shut down and generate an
    ABEND file containing a stack similar to the following:
    
    Thread:   30 (FileIOWorker-0:0)
    Class:   com.ibm.wmqfte.thread.FTEThread
    Instance:  6565fd2b
    Method:   uncaughtException
    Probe:   ABEND_001
    Cause:   java.lang.IndexOutOfBoundsException
    java.lang.IndexOutOfBoundsException
        at java.nio.ByteBuffer.wrap(ByteBuffer.java:375)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferChunkImpl.getByteBuff
    er(TransferChunkImpl.java:192)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferChunkImpl.createFileS
    lice(TransferChunkImpl.java:346)
        at
    com.ibm.wmqfte.io.bridge.BridgeFileChannelImpl.newSlice(BridgeFi
    leChannelImpl.java:1137)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameSenderImpl.reque
    stChunk(TransferFrameSenderImpl.java:692)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameSenderImpl.acces
    s$000(TransferFrameSenderImpl.java:104)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameSenderImpl$Chunk
    Requester.processFileIORequest(TransferFrameSenderImpl.java:146)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameIOWorker.doWorkI
    mpl(TransferFrameIOWorker.java:318)
        at
    com.ibm.wmqfte.io.impl.FTEFileIOWorker.doWork(FTEFileIOWorker.ja
    va:118)
        at
    com.ibm.wmqfte.io.impl.FTEFileIORequestQueue.run(FTEFileIOReques
    tQueue.java:274)
        at java.lang.Thread.run(Thread.java:825)
        at com.ibm.wmqfte.thread.FTEThread.run(FTEThread.java:70)
    
    Restarting the agent may cause it to resume the transfer and
    encounter the same issue, resulting in it shutting down again.
    

Local fix

  • If you can identify the transfer ID of the transfer causing the
    exception, you can cancel it using the fteCancelTransfer
    command.  This may allow the agent to stay active.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of MQ Managed File Transfer (MFT), who
    have protocol bridge agents (PBA) that act as the source agent
    for managed transfers.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When an MQ Managed File Transfer (MFT) protocol bridge agent
    (PBA) is acting as the source agent for a managed transfer, it
    will send a request to the remote file server to get various
    attributes about the file it has been asked to transfer. It then
    uses the file size attribute to determine how much data it needs
    to read from the remote file server.
    
    If the file server returned a file size of -1,. then the agent
    would try to create an internal buffer with a size of -1 to
    store the file data. This attempt would result in an
    java.lang.IndexOutOfBoundsException being thrown, which caused
    the agent to generate an ABEND file containing information
    similar to the example shown below:
    
    Thread:   30 (FileIOWorker-0:0)
    Class:   com.ibm.wmqfte.thread.FTEThread
    Instance:  6565fd2b
    Method:   uncaughtException
    Probe:   ABEND_001
    Cause:   java.lang.IndexOutOfBoundsException
    java.lang.IndexOutOfBoundsException
        at java.nio.ByteBuffer.wrap(ByteBuffer.java:375)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferChunkImpl.getByteBuff
    er(TransferChunkImpl.java:192)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferChunkImpl.createFileS
    lice(TransferChunkImpl.java:346)
        at
    com.ibm.wmqfte.io.bridge.BridgeFileChannelImpl.newSlice(BridgeFi
    leChannelImpl.java:1137)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameSenderImpl.reque
    stChunk(TransferFrameSenderImpl.java:692)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameSenderImpl.acces
    s$000(TransferFrameSenderImpl.java:104)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameSenderImpl$Chunk
    Requester.processFileIORequest(TransferFrameSenderImpl.java:146)
        at
    com.ibm.wmqfte.transfer.frame.impl.TransferFrameIOWorker.doWorkI
    mpl(TransferFrameIOWorker.java:318)
        at
    com.ibm.wmqfte.io.impl.FTEFileIOWorker.doWork(FTEFileIOWorker.ja
    va:118)
        at
    com.ibm.wmqfte.io.impl.FTEFileIORequestQueue.run(FTEFileIOReques
    tQueue.java:274)
        at java.lang.Thread.run(Thread.java:825)
        at com.ibm.wmqfte.thread.FTEThread.run(FTEThread.java:70)
    
    The agent would then shut itself down.
    

Problem conclusion

  • To resolve this issue, MQ Managed File Transfer (MFT protocol
    bridge agents (PBA) have been changed to fail a managed transfer
    if the remote file server returns a file size less than zero for
    a source file. The managed transfer will fail with the following
    error:
    
    BFGIO0417E: The file server returned an invalid file size of
    <file size> for the source file '<source file name>''.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.3 LTS   9.3.0.10
    v9.x CD    9.3.4
    
    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

    IT43691

  • Reported component name

    MQ BASE V9.2

  • Reported component ID

    5724H7281

  • Reported release

    924

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-05-03

  • Closed date

    2023-05-23

  • Last modified date

    2023-05-23

  • 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

    MQ BASE V9.2

  • Fixed component ID

    5724H7281

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"924","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
24 May 2023