APAR status
Closed as program error.
Error description
Error Message: JIT: Fatal Crash in the JIT while compiling . Stack Trace: {libj9jit29.so}{OMR::CodeGenerator::decReferenceCount(TR::Node*) } {libj9jit29.so}{J9::Z::TreeEvaluator::pdloadEvaluator(TR::Node*, TR::CodeGenerator*)} {libj9jit29.so}{OMR::CodeGenerator::evaluate(TR::Node*)} {libj9jit29.so}{J9::Z::TreeEvaluator::pdstoreEvaluator(TR::Node* ,TR::CodeGenerator*)} {libj9jit29.so}{OMR::CodeGenerator::evaluate(TR::Node*)} {libj9jit29.so}{J9::CodeGenerator::doInstructionSelection()} {libj9jit29.so}{OMR::CodeGenPhase::performInstructionSelectionPh ase(TR::CodeGenerator*,TR::CodeGenPhase*)} {libj9jit29.so}{OMR::CodeGenPhase::performAll()} {libj9jit29.so}{OMR::CodeGenerator::generateCode()} {libj9jit29.so}{OMR::Compilation::compile()} . The problem can only occur on zOS and zLinux running the J9 JVM when using packed decimal variables. Typically this is done by Java code that makes use of the com.ibm.jzos package. The stack trace must include pdloadEvaluator() when this problem occurs.
Local fix
The problem can be avoided by preventing the JIT from attempting to execute the loop version optimization against code that uses a packed decimal variables within a loop. Globally this can be achieved using the following Java command line option: -Xjit:disableLoopVersioner For a lower impact option you can disable loop versioner only for the java method where the problem had surfaced: -Xjit:{pkg/class.method*}(disableLoopVersioner) Where pkg/class.method is found in the console or javacore output like the following: 1XHEXCPMODULE Compiling method: pkg/class.method
Problem summary
The JIT attempts to optimize loops by privatizing parts of the loop. When attempting to privatize packed decimal variables it would break some rules specific to packed decimal handling in the JIT.
Problem conclusion
The JIT was changed so that the loop versioner will not attempt to privatize when it encounters packed decimal variables. . This APAR will be fixed in the following Java Releases: 8 SR6 FP35 (8.0.6.35) . 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
IJ32708
Reported component name
JIT
Reported component ID
620700124
Reported release
130
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-05-13
Closed date
2021-06-21
Last modified date
2021-06-21
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:
22 June 2021