IBM Support

PH62425: 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.4 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

    PH62425

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    640

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-07-23

  • Closed date

    2024-08-22

  • Last modified date

    2024-09-17

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

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

    UI98140 UI98141 UI98142 UI98143 PH63269

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 IGYCJDMR IGYCJGEN 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

  • R640 PSY UI98140

       UP24/08/29 P F408

  • R641 PSY UI98141

       UP24/08/29 P F408

  • R642 PSY UI98142

       UP24/08/29 P F408

  • R64H PSY UI98143

       UP24/08/29 P F408

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":"640","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
18 September 2024