IBM Support

IJ05155: JAVA JIT: CRASH INSIDE A JIT COMPILED SYNRONIZED BLOCK

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 SIG_SEGV is received inside a compiled method
    when running Java 7.1 or Java 8.0 on a Power8 CPU.
    .
    Stack Trace: N/A
    .
    The problem can only occur when using transaction memory
    instructions on Power8. Only Java 7.1 and Java 8.0 make use of
    these instructions.
    The problem only happens on synchronized blocks where the
    variable being locked is a NULL reference. Typically attempting
    to synchronize against a null reference would be considered a
    programming error in the source java code.
    

Local fix

  • The issue can be avoided with a negligible impact on performance
    by using the following Java command line option:
    -Xjit:disableTLE
    

Problem summary

  • The JIT would fail to generate a null-check on the variable used
    as the object in a synchronized block that is being converted
    into a transactional memory lock region. This would allow for
    the possibility of a store attempt to a NULL pointer which
    results in a SIG_SEGV.
    

Problem conclusion

  • The JIT was modified so that a Null-check would be generated
    before entering the transactional memory lock region. With this
    fix in place the java code will correctly throw a
    NullPointerException rather then crash.
    .
    This APAR will be fixed in the following Java Releases:
       7 R1 SR4 FP25  (7.1.4.25)
       8    SR5 FP15  (8.0.5.15)
    .
    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

    IJ05155

  • 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-03-22

  • Closed date

    2018-04-24

  • Last modified date

    2018-04-24

  • 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:
24 April 2018