IBM Support

PI96107: ABEND0C4 due to an incorrect WSA address after a COBOL II dynamic call to a COBOL v5+ program

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • During COBOL v5+ run-time development, the COBOL II dynamic call
    routines IGZCLNK and IGZCLNC were not updated to restore the WSA
    pointer on return from the call.
    
    This means that if the dynamic call path on either side of a
    COBOL II module includes languages that depend on the WSA
    (writeable static area, ie. C/C++ and COBOL v5+) a perhaps
    indirect caller of the COBOL II module will likely fail due to
    an incorrect WSA.
    
    The failure is after evidence of the call sequence is no longer
    available in the traceback. If this problem is suspected, and
    you have an IPCS dump, the current CEECAACRENT (WSA) address can
    be compared to the CLEWSAADDR field value of the CLLEs in verbx
    ledata 'comp(all)' output, and if the so identified module is
    not the currently executing module, then it is likely this APAR
    applies.
    

Local fix

  • Recompile the COBOL II module with COBOL v5+. Note that this may
    entail resolving migration issues with the COBOL II code, so
    this should not be undertaken lightly.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: VS COBOL II users running programs that      *
    *                 perform dynamic CALL to Enterprise COBOL     *
    *                 V5+ RENT programs in a mixed COBOL and       *
    *                 C/C++ LE enclave.                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Runtime ABEND0C4. When an Enterprise    *
    *                      COBOL V5+ RENT program is dynamically   *
    *                      called by a VS COBOL II program, the    *
    *                      WSA anchor CEECAACRENT is not being     *
    *                      restored, which may result in an 0C4    *
    *                      ABEND when a subsequent C/C++ program   *
    *                      tries to access the program's writable  *
    *                      static storage.                         *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    VS COBOL II dynamic call handler IGZCLNK does not properly save
    and restore CEECAACRENT when calling out to a module that
    requires writable static support.
    
    FIXCAT keyword: COB0501T/K  COB0502T/K  COB0601T/K  COB0602T/K
    

Problem conclusion

  • IGZCLNK is corrected to save and restore CEECAACRENT.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI96107

  • Reported component name

    LE COBOL LIB

  • Reported component ID

    568819802

  • Reported release

    7B0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-04-03

  • Closed date

    2018-04-03

  • Last modified date

    2018-05-01

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

    PI95666

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

    UI54960

Modules/Macros

  • IGZCLNK
    

Fix information

  • Fixed component name

    LE COBOL LIB

  • Fixed component ID

    568819802

Applicable component levels

  • R7B0 PSY UI54960

       UP18/04/12 P F804

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.

[{"Line of Business":{"code":"LOB16","label":"Mainframe HW"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7B0"}]

Document Information

Modified date:
22 January 2021