IBM Support

IJ07886: JAVA JIT: INCORRECT CALCULATIONS WHEN USING NUMBERFORMAT.FORMAT() AND BIGDECIMAL.{FLOAT/DOUBLE}VALUE()

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: The results of a the following code is incorrect:
    DecimalFormat.format( BigDecimal.doubleValue() / myDouble )
    .
    Stack Trace: N/A
    .
    

Local fix

  • The problem can be avoided by using the following Java command
    line option:
    -Xjit:disableDecimalFormatPeephole
    This is unlikely to have a noticeable impact on performance, but
    in might be noticeable in extreme cases.
    

Problem summary

  • When optimizing NumberFormat.format(BigDecimal.doubleValue())
    cases the JIT could incorrectly detected some sequences allowing
    for the JIT to incorrectly replace code sequences where the
    BigDecimal.doubleValue() result is modified before being passed
    as a parameter to NumberFormat.format().
    

Problem conclusion

  • The JIT was modified so that it will only optimize cases where
    the BigDecimal.doubleValue() is passed directly to
    NumberFormat.format().
    .
    This APAR will be fixed in the following Java Releases:
       8    SR5 FP21  (8.0.5.21)
       7 R1 SR4 FP35  (7.1.4.35)
    Except with z/OS where this APAR is fixed in:
       8    SR5 FP22  (8.0.5.22)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ07886

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-07-17

  • Closed date

    2018-07-18

  • Last modified date

    2018-11-21

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

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

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R130 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
21 November 2018