IBM Support

IV88941: JIT COMPILER TAKES FAR TOO LONG TO COMPILE A METHOD

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 symptoms of this APAR are sustained high CPU
    usage by a JIT compilation thread, and potentially the JVM
    hanging on shutdown. Additionally, a JIT verbose log will show a
    compile request for a method that never completes even after a
    long period of time, or takes far too long to complete.
    .
    Stack Trace: The stack backtrace of the JIT compiler thread
    using sustained high CPU may look like this:
    fixUpTree() // likely many frames of this
    TR_EliminateDeadTrees::process()
    .
    

Local fix

  • This problem can be avoided using the Java command line option
    -Xjit:disableDeadTreeElimination
    Note that this may affect performance. This can be limited by
    only applying the option to the method(s) experiencing the
    problem.
    

Problem summary

  • Certain patterns of Java bytecodes can cause the JIT
    optimization Dead Tree Elimination to get stuck iterating over
    the same trees in an exponential walk, causing the optimization
    and compilation to run for a very long time and give the
    appearance of being stuck in an infinite loop. This causes the
    JIT compilation thread compiling the method to sustain high CPU
    usage and potentially prevent JVM shutdown.
    

Problem conclusion

  • Checks have been added to the Dead Tree Elimination optimization
    to prevent the JIT compiler from getting stuck iterating over
    the same trees in an exponential walk.
    .
    This APAR will be fixed in the following Java Releases:
       7 R1 SR4 FP20  (7.1.4.20)
       7    SR10 FP20 (7.0.10.20)
       6 R1 SR8 FP60  (6.1.8.60)
       8    SR5 FP6   (8.0.5.6)
    .
    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

    IV88941

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-09-02

  • Closed date

    2017-11-15

  • Last modified date

    2017-11-15

  • 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

  • R260 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:
15 November 2017