IBM Support

PH63269: UNDER LP(64) THE COMPILER DOESN'T IMPLEMENT INTENDED AND SO DOCUMENTED ALLOCATE ... RETURNING POINTER-32 BEHAVIOR

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • (1) The usage ALLOCATE ... LOC 64 RETURNING pointer-32-item was
    intended to produce a diagnostic message as a POINTER-32 cannot
    address memory above the bar, but fails to do so.
    
    (2) The usage ALLOCATE ... RETURNING pointer-32-item (ie.
    without an explicit LOC 64) was intended to return below the bar
    
    memory as if LOC 31 had been specified, but returns above the
    bar memory.
    
    In both cases, memory is allocated from above the bar, and the
    address truncated to fit the pointer-32-item, likely leading to
    an ABENDS0C4 when the memory is accessed.
    

Local fix

  • Use a POINTER rather than a POINTER-32, or if below the bar
    memory allocation is intended in an LP(64) program, explicitly
    specify LOC 31.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling and  *
    *                 running programs containing COBOL code with  *
    *                 the ALLOCATE statement when a user has the   *
    *                 LP(64) compiler option in effect and         *
    *                 data-name-2 references a USAGE POINTER-32    *
    *                 data item.                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: In the case described above, when LOC   *
    *                      64 is specified, a diagnostic message   *
    *                      was not being issued. In the case of    *
    *                      LOC phrase being omitted, the allocated *
    *                      storage was above the bar. This also    *
    *                      lead to an inconsistency between the    *
    *                      compiler and the documentation.         *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When LOC 64 was specified the compiler did not issue an
    error message when it was expected according to the
    documentation, and when LOC 64 was not specified the
    ALLOCATE statement returned an invalid pointer.
    

Problem conclusion

  • The compiler has been modified so that in the case described
    above,  when LOC 64 is specified the diagnostic message
    IGYPA3441-S will now be issued. When LOC 64 is not
    specified, the allocated storage will be below the bar.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH63269

  • 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

    2024-09-17

  • Closed date

    2024-09-17

  • Last modified date

    2024-10-03

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

    PH62425

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

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 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 UI98464

       UP24/09/28 P F409

  • R631 PSY UI98465

       UP24/09/28 P F409

  • R632 PSY UI98466

       UP24/09/28 P F409

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:
03 October 2024