IBM Support

PH07205: Repeated dynamic call/cancel of legacy COBOL module from both legacy and v5+ callers drives up use count

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If a COBOL v4.2 or earlier compiled target module is dynamically
    called from both COBOL v4.2 or earlier and COBOL v5 or later
    compiled modules, and then cancelled and called again in like
    manner, the operating system use count for the so called module
    will increase. With enough call/cancel cycles, for example under
    IMS with CANCEL_PGM=Y, the failure
    
        CSV002I REQUESTS FOR MODULE {module} EXCEED MAXIMUM USE
            COUNT.
    
    can take place.
    
    Further, when called from COBOL v4.2, the target module may have
    different working-storage instances than calls from COBOL v5+.
    

Local fix

  • Avoid mixed callers of COBOL v4.2 or earlier compiled modules,
    for example by compiling such a target module with COBOL v5+.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5 and later       *
    *                 releases running programs which dynamically  *
    *                 call COBOL V4.2 programs which were          *
    *                 dynamically loaded by pre-V5 COBOL programs  *
    *                 and cancelled later.                         *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Pre-V5 COBOL programs are               *
    *                      inadvertently loaded multiple times.    *
    *                      The caller might terminate with         *
    *                      CEE3503S or/and CSV002I messages.       *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    The COBOL Runtime fails to check loaded pre-V5 COBOL programs
    with the following scenario where mix of COBOL pre-V5 and
    V5+ dynamic call and CANCEL statements are invoked.
    
    1. A(V5+) calls B1(pre-V5), then B1 calls C(pre-V5)
    2. A(V5+) calls B2(V5+), then B2 calls C(pre-V5)
    3. A cancels B1, B2, and B2
    4. Repeat 1-3.
    (All calls above are dynamic)
    
    The call to 'B2' in (2) in a second iteration inadvertently
    loads 'C' again although it was already loaded by (1).
    If 'C' is compiled with NORENT, it results in loading another
    copy of 'C'.
    If 'C' is compiled with RENT, it results in increasing the
    system load counter for 'C'. When it reaches the system
    limit, the program terminates with CEE3503S or/and CSV002I
    messages.
    
    FIXCAT keyword: COB0501T/K  COB0502T/K  COB0601T/K  COB0602T/K
    

Problem conclusion

  • The COBOL Runtime is corrected to check and call programs
    already loaded by pre-V5 programs.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH07205

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7A0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-01-11

  • Closed date

    2019-01-14

  • Last modified date

    2019-02-02

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

    PH06843

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

    UI60656

Modules/Macros

  • IGZCEV4  IGZLLIBV IGZXAPI  IGZXCDA  IGZXDMR
    IGZXD24  IGZXLPIO IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD IGZXLPKE
    IGZXLPKF IGZXLPKG IGZXPK2
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7A0 PSY UI60656

       UP19/01/30 P F901

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCVR7X","label":"Runtime"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
14 December 2020