IBM Support

PH50667: QSAM file initialization may be repeatedly driven, leaking I/O related blocks DCB and DCBE for AMODE64

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In the LP(64) environment, if a compile unit containing QSAM
    file definitions is repeatedly entered, parts of QSAM file
    initialization are also repeated--they should only be done on
    first entry. This leaks DCBs (data control blocks), which reside
    below the line where a leak is likely to have adverse outcomes.
    DCBEs (data control block extensions) are also leaked, but being
    above the line, they have a lesser impact.
    
    Note that a typical file reading mainline compile unit is
    unaffected by this issue because it is only entered once.
    

Local fix

  • In some contexts, the file use can be isolated in a separate
    module that's entered only once.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 and later      *
    *                 releases running AMODE 64 COBOL programs     *
    *                 which have QSAM or VSAM I/O.                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: When an application calls               *
    *                      a COBOL program running in AMODE 64     *
    *                      with QSAM or VSAM I/O such as OPEN,     *
    *                      READ, or CLOSE and is called multiple   *
    *                      times, the application might abend or   *
    *                      terminate with unexpected behavior      *
    *                      due to out of BELOW THE LINE storage.   *
    *                                                              *
    *                      At times, the BELOW THE LINE storage    *
    *                      shortage results in abend occurred      *
    *                      from COBOL Runtime entry                *
    *                      'initOneQSAMFile'+X'4E0'                *
    *                      in CELQV004 module with the following   *
    *                      traceback.                              *
    *                                                              *
    *                      ...                                     *
    *                      initOneQSAMFile +000004E0 [abend]       *
    *                      IGZQIFCB +0000087E [calls               *
    *                      initOneQSAMFile]                        *
    *                      IGZQPRS2 +0000031A [calls IGZQFICB]     *
    *                      ...                                     *
    *                      main                                    *
    ****************************************************************
    * RECOMMENDATION: Install the provided PTF.                    *
    ****************************************************************
    The AMODE 64 COBOL run-time routine unconditionally created
    new I/O DCB (Data control block) and DCBE (Data Control Block
    Extension) repeatedly for each time the COBOL program was
    called. Eventually It caused BELOW THE LINE storage shortage.
    
    volume.
    
    COB0603T/K COB0604T/K
    

Problem conclusion

  • The COBOL Runtime logic has been fixed. I/O DCB and DCBE are
    conditionally created and reused.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH50667

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7D0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-11-03

  • Closed date

    2022-11-22

  • Last modified date

    2022-12-01

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

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

    UI83417 UI83418

Modules/Macros

  • CELQSG04 CELQV004 IGZQAPI  IGZQCA64 IGZQCDA  IGZQINPL IGZQJNI2
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7C0 PSY UI83417

       UP22/12/01 P F211

  • R7D0 PSY UI83418

       UP22/12/01 P F211

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7D0","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
01 December 2022