IBM Support

IJ24946: JVM CRASH DURING JIT COMPILATION

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: The JVM stops unexpectedly. The javacore will
    indicate
    Dump Event "abort" (00020000) received
    .
    Stack Trace: Use of a native debugger will show that the crash
    occurred in a JIT compilation thread and the stack will include
    the following key entries:
    #37 0x00007f9dbfd3b727 in
    generateLabelInstruction(TR_X86OpCodes, TR::Node*,
    TR::LabelSymbol*, TR::CodeGenerator*) ()
       from
    ./<installdir>/java/jre/lib/amd64/compressedrefs/libj9jit29.so
    #38 0x00007f9dbfd42a46 in
    TR_OutlinedInstructionsGenerator::<TLD>TR_OutlinedInstructionsGe
    nerator() () from
    ./<installdir>/java/jre/lib/amd64/compressedrefs/libj9jit29.so
    .
    

Local fix

  • The problem can usually be avoided by adjusting the memory
    allocated to the JIT for temporary use during compilation.
    The default value is 256MB, a value of 384MB would be a
    reasonable starting point that should make the problem much less
    likely to occur without increasing the JVM memory usage too
    much. This can be done with the following option (units in
    kilobytes):
    -Xjit:scratchSpaceLimit=393216
    

Problem summary

  • If the memory available for the JIT compiler is exhausted at a
    very specific point in the compilation it causes an exception to
    be thrown from a C++ destructor, resulting in the JVM abruptly
    terminating. This problem is specific to the X86 platform.
    

Problem conclusion

  • The mechanism for generating out of line instruction sequences
    was changed to avoid the need to allocate memory in a
    destructor. See OMR issue 4846 for an in-depth technical
    discussion (https://github.com/eclipse/omr/issues/4846)
    .
    This APAR will be fixed in the following Java Releases:
       8    SR6 FP11  (8.0.6.11)
    .
    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

    IJ24946

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

  • Closed date

    2020-05-26

  • Last modified date

    2020-05-26

  • 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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
27 May 2020