IBM Support

IJ48866: JAVA JIT: CRASH DUE TO STALE DATA RUNNING ON POWER OR AARCH64 CPUS

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: SIGSEGV (signal 11/0xB) when running inside JIT
    compiled code.
    .
    Stack Trace: N/A
    .
    The problem can result in a number of different symptoms
    including a crash inside JIT compiled code, a crash in the
    interpreter (J9VM), an unexpected exception or a crash in the
    garbage collector.
    The problem can only occur on JVMs running on the POWER or
    AArch64 architectures. For POWER, that includes AIX, LinuxPPC
    and LinuxPPCle.
    The problem will only occur intermittently because it is very
    timing dependant.
    

Local fix

  • The problem can be avoiding by exporting the following
    environment variable in the shell that is running java:
    TR_disableFastArrayClone=1
    This option disables only a very small part of the JIT compiler
    and therefore will have a very small performance impact.
    

Problem summary

  • On the POWER architecture we need to issue a special instruction
    
    to guarantee the visibility of the memory contents for new
    objects by threads other then the one the allocated the object.
    There exist two locations in the JIT compiler where this
    instruction was not being issues which would allow threads to
    see stale memory contents which could result in many different
    failure symptoms.
    The two cases are:
    1. Inlining Object.clone() for arrays objects
    2. Inlining StringUFT16.toBytes() **Java 11+ only**
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    IJ48866

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-10-11

  • Closed date

    2024-01-18

  • Last modified date

    2024-07-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

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
06 July 2024