IBM Support

PI51082: With ARCH(10), OPT(1/2), moving a USAGE DISPLAY item to item with fewer digits & using in computation can give bad result

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When compiling with ARCH(10),OPT(1/2), COB V5.1 programs that
    move a numeric USAGE DISPLAY data item to another numeric USAGE
    DISPLAY data item that has fewer digits than the sender, and
    then use the receiver in a subsequent computation, may receive
    incorrect results in the computation.
    
    The compiler uses an untruncated value in the subsequent
    computation, producing incorrect results when the value in the
    sender is larger than the maximum number of digits allowed by
    the receiver.
    
    In the special case where the picture clause of the sender
    specifies 17 or more digits and the picture clause of the
    receiver specifies 16 or fewer digits, the compiler will abort
    with message:
    MSGIGYCB7104-U   Internal error while compiling function XXXXX.
    Failed assertion on s390/FPTreeEvaluator.cpp:1415
    

Local fix

  • Compile with OPT(0).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5.1 compiling     *
    *                 programs with OPT(1) or OPT(2) that move a   *
    *                 numeric USAGE DISPLAY data item to another   *
    *                 numeric USAGE DISPLAY data item that has     *
    *                 fewer digits than the sender, and then use   *
    *                 the receiver in a subsequent computation.    *
    *                                                              *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect runtime results or compiler   *
    *                      abort: The compiler uses an             *
    *                      untruncated value in the subsequent     *
    *                      computation, producing incorrect        *
    *                      results when the value in the sender is *
    *                      larger than the maximum number of       *
    *                      digits allowed by the receiver. In the  *
    *                      special case where the picture clause   *
    *                      of the sender specifies 17 or more      *
    *                      digits and the picture clause of the    *
    *                      receiver specifies 16 or fewer digits,  *
    *                      the compiler will abort with message    *
    *                      MSGIGYCB7104-U Internal error while     *
    *                      compiling function XXXXX. Failed        *
    *                      assertion on                            *
    *                      s390/FPTreeEvaluator.cpp:1415           *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    The compiler was neglecting to generate a necessary truncation.
    

Problem conclusion

  • The compiler was fixed to generate the necessary truncation.
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    PI51082

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655W3200

  • Reported release

    510

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-10-22

  • Closed date

    2015-11-02

  • Last modified date

    2015-12-02

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

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

Modules/Macros

  • IGYCBE
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R510 PSY UI32598

       UP15/11/05 P F511

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":"5.1","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":"5.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 December 2015