IBM Support

PH51546: Managed File Transfer (MFT) agent ABENDs with a B37-04 condition while transferring to a sequential data set.

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

  • An IBM MQ Managed File Transfer (MFT) for z/OS agent is acting
    as the destination agent for managed transfers. While trying to
    write data to a sequential data set, the agent ABENDs
    unexpectedly with a B37-04 condition.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of:
    
    - IBM MQ 9.1 Managed File Transfer for z/OS
    - IBM MQ 9.2 Managed File Transfer for z/OS
    - IBM MQ 9.3 Managed File Transfer for z/OS
    
    who have MQ Managed File Transfer (MFT) destination agents
    running on z/OS that are writing data into sequential data sets.
    
    
    Platforms affected:
    z/OS
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    MQ Managed File Transfer (MFT) agents running on z/OS use the
    JZOS Toolkit to access data sets. The toolkit itself acts as a
    thin layer between Java applications and the underlying z/OS
    Language Environment (LE) which interacts with the mainframe's
    file system - when the agent calls a method on a class provided
    by the toolkit, such as ZFile.write(byte[]), it delegates that
    call down to the LE for processing. Here is a simple diagram
    that shows this relationship:
    
    MQ Managed File Transfer agent on z/OS
        |-----> JZOS Toolkit
            |-----> Language Environment (LE)
                |-----> Data set
    
    
    Now, when the issue reported in this APAR occurred, the
    following sequence of events had taken place:
    
    - An MFT agent running on the mainframe had received a request
    for it to act as the destination agent for a managed transfer to
    a sequential data set.
    - In order to access the data set, the agent created a new JZOS
    ZFile object passing in an options string similar to the example
    below:
    
    "wb,recfm=FB,blksize=27840,lrecl=320,noseek"
    
    - When constructing the ZFile object, the JZOS Toolkit called
    the LE function fopen() passing in the options string.
    - The LE opened the data set using the specified options, and
    returned a handle to it to the JZOS toolkit.
    - JZOS stored the handle in the ZFile object, and then returned
    that object back to the agent.
    
    - After writing some data to the data set using the ZFile
    object, the agent then called the JZOS method
    com.ibm.jzos.ZFile.close().
    - This resulted in the JZOS Toolkit calling the LE function
    fclose().
    - While processing the fclose() function, the LE determined that
    there was some buffered data stored in control blocks which
    needed to be written to the data set.
    - However, the LE was unable to write the data because the
    sequential data set was out of extents.
    - Because the data set was not opened with the:
    
    "abend=recover"
    
    option specified, the LE generated an ABEND with a B37-04
    condition - this was the expected behaviour, as documented in
    the
    
    "fopen() and freopen() parameters"
    
    topic in the z/OS 2.x sections of the IBM Documentation site.
    The URI for this topic in the z/OS 2.3.0 section of the IBM
    Documentation site is
    https://www.ibm.com/docs/en/zos/2.3.0?topic=files-fopen-freopen-
    parameters.
    
    - As a result, the MFT agent process stopped unexpectedly.
    

Problem conclusion

  • To resolve this issue, MQ Managed File Transfer agents running
    on z/OS have been updated so that:
    
    - If the agent is acting as the destination agent for a managed
    transfer
    - And it needs to write data to a data set
    
    then it will include the option:
    
    "abend=recover"
    
    when the data set is opened. This means that the Language
    Environment (LE) will try to handle any out of space conditions
    that might occur when writing data to the data set (such as a
    lack of extents) gracefully and return an error back to the JZOS
    Toolkit, which in turn will pass an exception back to the agent.
    
    As a result, the agent will mark managed transfers as "Failed"
    with supplementary information similar to the example shown
    below if an out of space condition occurs:
    
    BFGTR0072E: The transfer failed to complete due to the exception
    : <data set name>: BFGIO0069E: A write failed. The data set may
    be out of space fwrite() failed; EDC5065I A write system error
    was detected.; errno=65 errno2=0xc03e0002 last_op=151
    errorCode=0xb370004; EDC5065I A write system error was
    detected.; errno=65 errno2=0xc03e0002 last_op=151
    errorCode=0xb370004 abend(syscode=0xb37 rc=0x4)
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.1 LTS   9.1.0.15
    v9.2 LTS   9.2.0.10
    v9.3 LTS   9.3.0.5
    v9.x CD    9.3.3
    
    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

    PH51546

  • Reported component name

    IBM MQ MFT Z/OS

  • Reported component ID

    5655MF900

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-12-18

  • Closed date

    2023-01-17

  • Last modified date

    2023-01-17

  • 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 Z/OS

  • Fixed component ID

    5655MF900

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":"910","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
18 January 2023