IBM Support

PI84492: In an ALL31(OFF) environment, CEEFETCH of a COBOL v5+ module produces an unusable function descriptor

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In an ALL31(OFF) environment, COBOL v5+ function descriptors are
    built below the line. Because the pointer to the function
    descriptor returned by CEEFETCH consequently doesn't have the
    high order bit set, the caller will switch AMODE(24) to transfer
    control to the fetched module. However, the function descriptor
    branches to the module via a library routine residing above the
    line, without appropriate amode switching taking place,
    resulting in an abend0C1 or abend0C4.
    
    As CEEFETCH is used by CEEPIPI to load modules found in the PIPI
    table, users of CEEPIPI can encounter this problem without the
    application directly calling CEEFETCH.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 5.1 and later      *
    *                 releases compiling and running programs      *
    *                 called in an LE Pre-initialized environment  *
    *                 (using CEEPIPI, such as DB2 Stored           *
    *                 Procedures) or CEEFETCH, and linked with     *
    *                 option AMODE(24).                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Runtime ABEND 0C4 when the affected     *
    *                      program is called.                      *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    The function descriptor control block that describes the entry
    point of COBOL program was not handling AMODE(24) addresses
    properly. This leads to an 0C4 abend when the COBOL program is
    called.
    

Problem conclusion

  • The COBOL library was fixed to set up the function descriptor
    control block correctly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI84492

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    790

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-07-13

  • Closed date

    2017-09-26

  • Last modified date

    2017-10-02

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

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

    PI87546

Modules/Macros

  • IGZXLPKA
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7A0 PSY UI50539

       UP17/09/28 P F709

  • R790 PSY UI50540

       UP17/09/28 P F709

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