IBM Support

PH10132: THE OUTER PERFORM MAY INCORRECTLY RETURN TO THE WRONG LOCATION.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • USERS AFFECTED: Users of Enterprise COBOL Vx.x compiling
    programs at OPT(1|2) with a PERFORM UNTIL statement that
    checks several conditions, where at least two of the
    conditions compare pairs of data items that are sequential
    in memory, the paragraph being PERFORMed is PERFORMed from
    at least two PERFORM statements, and the paragraph being
    PERFORMed ends with another PERFORM statement.
    
    PROBLEM SUMMARY: The optimizer was combining the sequential
    comparisons for the PERFORM UNTIL test into one larger compare,
    invalidating the compiler's internal state about which
    PERFORMed paragraphs could return to which PERFORM statements,
    causing the compiler to incorrectly conclude that one of the
    return points wouldn't be reached.
    
    CONCLUSION: The optimizer was fixed to not combine
    sequential comparisons when they were part of a
    PERFORM UNTIL statement.
    

Local fix

  • Compile at OPT(0)
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5.2 compiling     *
    *                 programs at OPT(1|2) with a PERFORM UNTIL    *
    *                 statement that checks several conditions,    *
    *                 where at least two of the conditions         *
    *                 compare pairs of data items that are         *
    *                 sequential in memory, the paragraph being    *
    *                 PERFORMed is PERFORMed from at least two     *
    *                 PERFORM statements, and the paragraph being  *
    *                 PERFORMed ends with another PERFORM          *
    *                 statement.                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: The outer PERFORM may incorrectly       *
    *                      return to the wrong location.           *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    The optimizer was combining the sequential comparisons for the
    PERFORM UNTIL test into one larger compare, invalidating the
    compiler's internal state about which PERFORMed paragraphs
    could return to which PERFORM statements, causing the compiler
    to incorrectly conclude that one of the return points wouldn't
    be reached.
    

Problem conclusion

  • The optimizer was fixed to not combine sequential comparisons
    when they were part of a PERFORM UNTIL statement.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH10132

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655W3200

  • Reported release

    520

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-03-25

  • Closed date

    2019-04-09

  • Last modified date

    2019-05-02

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

    PH08709

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

Modules/Macros

  • IGY8RWTU IGYCBE   IGYCCBE  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 IGYCLIBH IGYCLIBO 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 IGYECWI  IGYMSGE  IGYMSGK  IGYMSGT
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R520 PSY UI62431

       UP19/04/12 P F904

  • R521 PSY UI62432

       UP19/04/12 P F904

  • R522 PSY UI62433

       UP19/04/12 P F904

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 May 2019