IBM Support

PI79742: WITH OPTIMIZATION ON, DIVIDING BY ZERO GIVES INCORRECT RESULTS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With optimization turned on, dividing by zero gives incorrect
    results.
    
    When dividing a value by zero, the abend is "IGZ0061S Division
    by zero occurred in program XXXXX at displacement X'0230'"
    instead of "CEE3211S The system detected a decimal-divide
    exception (System Completion Code=0CB)."
    
    When dividing zero by zero, there is no abend at all.
    

Local fix

  • Compile at ARCH(9) or lower or at OPT(0).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.1 compiling     *
    *                 programs at ARCH(10|11) and OPT(1|2) that    *
    *                 have COMPUTE or DIVIDE statements that do    *
    *                 divide by zero using PACKED-DECIMAL or       *
    *                 USAGE DISPLAY senders.                       *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incompatible ABEND behavior at          *
    *                      runtime: When dividing a value by       *
    *                      zero, the ABEND is "IGZ0061S Division   *
    *                      by zero occurred in program XXXXX at    *
    *                      displacement X'0230'" instead of        *
    *                      "CEE3211S The system detected a         *
    *                      decimal-divide exception (System        *
    *                      Completion Code=0CB)." When dividing    *
    *                      zero by zero, there is no ABEND at all. *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    The compiler was generating decimal floating point instructions
    for performance. DFP instructions produce an IEEE division by
    zero ABEND when dividing a non-zero value by zero, and an IEEE
    invalid operation exception when dividing zero by zero. The
    invalid operation exception was disabled for COBOL programs,
    and the division by zero exception differed from the
    decimal-divide exception.
    

Problem conclusion

  • The compiler was fixed to generate a packed-decimal divide
    instead of a DFP divide when the divisor is zero.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI79742

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-10

  • Closed date

    2017-04-25

  • Last modified date

    2017-05-01

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

    PI76389

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

Modules/Macros

  •    IGYEQCWI IGYMSGE  IGYMSGK  IGYMSGT  IGYQCBE
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R610 PSY UI46711

       UP17/04/29 P F704

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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
05 September 2024