IBM Support

PH56279: NEW FUNCTION: More flexible allocation of function temporaries via the FUNCTEMP compiler option

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • When using STACK(,,BELOW) due to dynamic calls to AMODE(24)
    modules, allocation of large function temporaries on the stack,
    for example for functions national-of and display-of, can lead
    to storage exhaustion below the line.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling and  *
    *                 running programs that invoke intrinsic       *
    *                 functions with an argument that is a         *
    *                 reference modified data item that is large   *
    *                 but where either the length of the reference *
    *                 modification can be determined at            *
    *                 compile-time and is small or it is a varying *
    *                 length reference modification of a PIC X(1)  *
    *                 item defined in the LINKAGE section.         *
    ****************************************************************
    * PROBLEM DESCRIPTION: The program runs out of stack memory at *
    *                      runtime.                                *
    ****************************************************************
    * RECOMMENDATION: Apply the IBM-provided PTF                   *
    ****************************************************************
    When calculating the size of result temps for alphanumeric
    intrinsic functions with reference-modified arguments, the
    maximum size of the reference modified item was being used to
    determine the size of the result temp even when the size of the
    reference modification could be determined at compile-time and
    was much smaller. Furthermore, in the case of PIC X(1) items in
    the LINKAGE section, since those are treated as unbounded items
    by the compiler, when they have a varying length refmod, we
    cannot assume anything about the max length of the underlying
    item, so we should be allocating their result temps dynamically
    at runtime using the exact length of the corresponding reference
    modification in order to avoid problems of allocating too much
    or too little memory.
    

Problem conclusion

  • The compiler was updated to use the length of compile-time known
    reference modifications when calculating the size of result
    temps for alphanumeric intrinsic functions, and was also updated
    to handle the result temps for varying length reference
    modifications of PIC X(1) items in the LINKAGE sections using
    dynamic allocation at runtime with the exact length of the
    reference modification in order to avoid using too much or too
    little memory.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH56279

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    630

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-08-09

  • Closed date

    2024-03-19

  • Last modified date

    2024-04-17

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

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

    UI96119 UI96120 UI96121 PH60940

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4
    IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT
    IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8
    IGYCJA$D IGYCJA$R IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2
    IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI  IGYCOPT  IGYCOSCN IGYCPGEN
    IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT  IGYCSCAN IGYCSIMD
    IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8
    IGYCUE$D IGYCUE$R IGYCXREF IGYDRV   IGYEQCWI IGYMSGE  IGYMSGK
    IGYMSGT  IGYQCBE  IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI96119

       UP24/03/28 P F403

  • R631 PSY UI96120

       UP24/03/28 P F403

  • R632 PSY UI96121

       UP24/03/28 P F403

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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"630","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
17 April 2024