IBM Support

IJ15101: JAVA CRASHES DUE TO RACE CONDITION BETWEEN JIT COMPILATION AND INVOKEVIRTUAL CONSTANT POOL ENTRY RESOLUTION

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: Likely a segmentation error, but other symptoms
    could be possible.
    .
    Stack Trace: N/A
    .
    This issue only affects Java 8, starting with Java8 SR5 FP22.
    

Local fix

  • The problem can be avoided by preventing compilation of the
    problematic method using
    -Xjit:exclude={method},dontInline={method}.
    

Problem summary

  • When the JIT compiler is translating bytecode into its internal
    representation, and it encounters an invokevirtual instruction
    with an unresolved constant pool entry, the constant pool entry
    is inspected a second time, by which point it may have become
    resolved (though this happens very rarely). In this case, the
    compiler would generate a virtual dispatch even if the method is
    final. The JIT compiler has special knowledge of certain final
    methods (belonging to e.g. Unsafe and JITHelpers), and it often
    assumes that calls to those methods use direct dispatch.
    

Problem conclusion

  • The JIT compiler has been modified to ensure that invokevirtual
    instructions with resolved constant pool entries are converted
    to an intermediate representation using direct dispatch as
    expected.
    .
    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

    IJ15101

  • 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-28

  • Closed date

    2019-03-28

  • Last modified date

    2019-03-28

  • 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:
28 March 2019