IBM Support

PI60674: ABEND0C4 CALLING A CANCEL'D COBOL V5 MULTISEGMENT PROGRAM IN A MIXED COBOL V5 AND LEGACY COBOL ENVIRONMENT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Building a COBOL v5 executable with both RMODE(24) (typically
    assembler) or AMODE(31) and RMODE(ANY) (COBOL v5 by its default)
    components leads to a multisegment executable. For such programs
    the LOAD macro returns a zero length.
    
    Due to the zero length, the COBOL v5+ run-time is not properly
    disposing of the v5+ CLLE (COBOL Load List Entry) when such a
    program is CANCEL'd, although it is deleting the program from
    memory. Some time later a call to the CANCEL'd program, which
    should create a new instance, instead attempts to branch to the
    deleted program.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Enterprise COBOL V5 users running programs   *
    *                 in batch that CANCEL V5 programs that were   *
    *                 linked with RMODE(24) programs, and then     *
    *                 CALL them again.                             *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Runtime ABEND 0C4. When a V5 program    *
    *                      linked with RMODE(24) programs is       *
    *                      being cancelled, the COBOL runtime      *
    *                      fails to clean up the internal control  *
    *                      block associated with the program.      *
    *                      Subsequently if the program is          *
    *                      dynamically called again, an 0C4 ABEND  *
    *                      may occur due to the incorrect          *
    *                      information in the outdated internal    *
    *                      control block.                          *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When driven for ILC CANCEL, LE is not able to pass the length
    of the module being cancelled to the COBOL runtime, due to a
    documented limitation in the MVS LOAD service on multi segment
    program objects. This causes the COBOL runtime to miss finding
    the associated CLLE entries to perform program clean up with.
    

Problem conclusion

  • The COBOL runtime was corrected to check for zero module length
    during ILC CANCEL, and changed to using CSVQUERY to determine
    the correct module length.
    
    FIXCAT keyword:  COB0501T/K   COB0502T/K
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI60674

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-04-12

  • Closed date

    2016-04-12

  • Last modified date

    2016-05-04

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

    PI59594

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

Modules/Macros

  • IGZCEV4  IGZLLIBV IGZXAPI  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

  • R780 PSY UI36966

       UP16/04/15 P F604

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