IBM Support

IJ24781: JAVA JIT: CRASH IN RESOLVECLASSREF() DURING AOT LOAD

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 in resolveClassRef() during the code
    relocation stage during a AOT load of JIT compiled code stored
    in the shared class cache.
    .
    Stack Trace: {libj9vm29.so}{resolveClassRef}
    {libj9vm29.so}{resolveStaticFieldRefInto}
    {libj9jit29.so}{jitCTResolveStaticFieldRefWithMethod}
    {libj9jit29.so}{TR_RelocationRecordDataAddress::findDataAddress(
    TR_RelocationRuntime*,TR_RelocationTarget*)}
    ...
    .
    The problem can only occur during a AOT load operation when
    shared classes is enabled (-Xshareclasses). The problem is
    possible with standard AOT settings but is far more likely when
    using -Xaot:forceAOT with a large AOT cache size (-Xscmx...)
    The problem could occur on any CPU platform running the J9 JVM.
    

Local fix

  • The problem can avoided by disabling AOT:
    -Xnoaot
    This is likely to cause higher CPU utilization and lower
    throughput during the startup phase of the JVM. It is also
    likely to cause the startup phase to last longer. After startup,
    the performance should be as good as when AOT was enabled.
    

Problem summary

  • In some cases the JIT might decide to share symbol information
    with a field from a method that we examined as a inlining
    candidate but not inlined. This results in a problem when
    generating AOT code because the relocation information can't be
    described properly.
    

Problem conclusion

  • The JIT was modified so that it detects when a relocation issue
    has occurred and will abort loading the AOT method.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR6 FP15  (8.0.6.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

    IJ24781

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-05-05

  • Closed date

    2020-06-16

  • Last modified date

    2020-11-09

  • 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

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130"}]

Document Information

Modified date:
10 November 2020