IBM Support

IJ06000: UNEXPECTED DIVIDE BY ZERO EXCEPTION

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: A Java application throws an unexpected
    "java.lang.ArithmeticException: divide by zero".
    .
    Stack Trace: So far the only report has been with the GNU Trove
    library, e.g.
    java.lang.ArithmeticException: divide by zero at
    gnu.trove.impl.hash.TObjectHash.insertKeyRehash(TObjectHash.java
    :312) at
    gnu.trove.impl.hash.TObjectHash.insertKey(TObjectHash.java:294)
    at
    gnu.trove.map.hash.TObjectIntHashMap.put(TObjectIntHashMap.java:
    239) etc
    However failures in other packages are possible.
    .
    

Local fix

  • The problem can be avoided by disabling the LoopVersioner
    optimisation on the problem methods, and also preventing those
    methods from being inlined. e.g. to disable the optimisation for
    all methods in the gnu.trove package tree the following Xjit
    option can be used:
    -Xjit:dontInline={gnu/trove/*},{gnu/trove/*}(disableLoopVersione
    r)
    Alternatively, and at slightly higher overhead, the optimisation
    can be disabled globally with
    -Xjit:disableLoopVersioner
    

Problem summary

  • Under some circumstances an unusually constructed loop causes
    one of the loop optimisations to miscalculate a constant used as
    part of the transformation, resulting in a hard-coded division
    by zero in the generated code.
    

Problem conclusion

  • The loop optimisation has been corrected.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR5 FP15  (8.0.5.15)
       7    SR10 FP25 (7.0.10.25)
       7 R1 SR4 FP25  (7.1.4.25)
       6 R1 SR8 FP65  (6.1.8.65)
    .
    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

    IJ06000

  • 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-04-24

  • Closed date

    2018-04-24

  • Last modified date

    2018-06-05

  • 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



Document information

More support for: Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version: 130

Reference #: IJ06000

Modified date: 05 June 2018