IBM Support

IJ38060: JIT COMPILER CRASH WITH VMSTATE=0X0005FF04

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: Unhandled exception
    Type=Segmentation error vmState=0x0005ff04
    J9Generic_Signal_Number=00000018 Signal_Number=0000000b
    Error_Value=00000000 Signal_Code=00000035
    ...
    ...
    Method_being_compiled=<Signature of Java package/class.method
    that crashed during JIT compilation>
    .
    Stack Trace: TR::Region::allocate(const unsigned int,void*)
    TR_VirtualGuard::addNOPSite()
    virtualGuardHelper(TR::Node*,TR::CodeGenerator*)
    OMR::Z::TreeEvaluator::ificmpeqEvaluator(TR::Node*,TR::CodeGener
    ator*)
    OMR::Z::TreeEvaluator::ificmpneEvaluator(TR::Node*,TR::CodeGener
    ator*)
    OMR::CodeGenerator::evaluate(TR::Node*)
    J9::CodeGenerator::doInstructionSelection()
    OMR::CodeGenPhase::performInstructionSelectionPhase(TR::CodeGene
    rator*,TR::CodeGenPhase*)
    OMR::CodeGenPhase::performAll()
    OMR::CodeGenerator::generateCode()
    OMR::Compilation::compile()
    TR::CompilationInfoPerThreadBase::compile(J9VMThread*,TR::Compil
    ation*,TR_ResolvedMethod*,T...
    TR::CompilationInfoPerThreadBase::wrappedCompile(J9PortLibrary*,
    void*)
    .
    JIT Optimization that causes this failure was introduced in Java
    8 SR7.
    

Local fix

  • This failure can be avoided by disabling JIT compiler
    optimization Global Value Propagation using JVM option
    -Xjit:disableGlobalVP
    

Problem summary

  • The JIT Compiler may perform an optimization which would fold
    loading of Class pointer from the object of known fixed type to
    constant load. This optimization further inhibited other
    optimization where it is loading known field from the Class
    pointer and can fold it to constant. This prevents us from
    cleaning some cold code from the method body and while
    generating instruction for such code, JIT compiler crashes with
    segmentation fault as some of the expected data to generate
    instructions for such code was cleaned up.
    

Problem conclusion

  • JIT compiler was updated to make sure it generates the optimal
    code to avoid hitting such scenarios.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR7 FP6   (8.0.7.6)
    .
    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

    IJ38060

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-02-23

  • Closed date

    2022-02-23

  • Last modified date

    2022-02-23

  • 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:
24 February 2022