VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ07886

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


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

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:

  • 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