IBM Support

IJ15120: CRASH IN JIT COMPILED CODE DUE TO LACK OF RANGE CHECK

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: Segmentation Error
    .
    Stack Trace: The crash location will be in code generated into
    memory by the Java JIT compiler - the location will vary but the
    faulting instruction will be near a conditional branch.
    .
    

Local fix

  • The problem can be avoided by using -Xjit:disableInlining. Using
    this option globally will have a large negative impact on
    performance.
    To limit the performance impact it is recommended you apply the
    disableInlining option to the failing method(s) only by using
    the following syntax:
    -Xjit:{*class.method*}(disableInlining)
    Using disableInlining on a single method is unlikely to result
    in a noticeable impact on performance.
    

Problem summary

  • When a method is inlined by the JIT compiler, the generated code
    needs to have a safety check to ensure that the method inlined
    at compile-time is the correct method to run when the code is
    actually running. This check involves reading an entry at a
    fixed offset from the class's virtual function table. The
    compiler did not range check the offset against the size of the
    lookup table which could lead to a crash reading invalid memory
    in certain rare circumstances.
    

Problem conclusion

  • A range check has been added to the inline method check to
    ensure we do not read invalid memory.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR5 FP31  (8.0.5.31)
    .
    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

    IJ15120

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-03-29

  • Closed date

    2019-03-29

  • Last modified date

    2019-03-29

  • 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

[{"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:
29 March 2019