APAR status
Closed as program error.
Error description
Error Message: System aborts with "JVMDUMP039I Processing dump event" message . Stack Trace: std::terminate() __Invoke__Destructor(...) __DoThrow __Throw J9::SystemSegmentProvider::request(...) TR::Region::allocate(...) TR_Memory::allocateMemory(...) BitVectorPool::release(...) TR::Checklist::¯Checklist() TR_LoopVersioner::CurLoop::¯CurLoop() TR_LoopVersioner::CurLoop::__dftdt() __Invoke__Destructor(...) __DoThrow __Throw J9::SystemSegmentProvider::request(...) TR::Region::allocate(...) . The problem occurs during the compilation of a large method (12 000+ bytecodes) in which the Checklist C++ object is required for compilation. The JIT runs out of scratch space and does a stack unwind involving the Checklist object. During this stack unwind, the Checklist destructor is called. However, this destructor requires a memory allocation which fails due to the JIT having no scratch space. Throwing during a stack unwind is disallowed by C++ and results in program termination. The issue is in code used by all platforms and theoretically could occur on any platform.
Local fix
The issue can not be eliminated using a java command line option, but the chances of hitting the problem can be reduced by increasing the JIT scratch space limit above the default of 256MB. In this example we increase the limit by 50% to 384MB, but it can be set even higher if need be. The value is specified in KB. -Xjit:scratchSpaceLimit=393216 It is also possible to avoid specific instances of the issue by preventing the compilation of affected methods, but this will not prevent the same issue from affecting the compilation of other methods in the Java application. -Xjit:exclude={<method_full_signature>} Where <method_full_signature> is the method name as seen in the javacore labeled "Compiling method".
Problem summary
While handling a JIT compile time C++ exception, the runtime finds a Checklist object that needs to be destructed. The destructor allocates memory which could cause a second exception if the JIT scratch space memory limit has been reached. This would result in the C++ runtime terminating to prevent an endless loop of exceptions.
Problem conclusion
The JIT was modified to catch and handle the exception. . This APAR will be fixed in the following Releases: . IBM Semeru Runtimes 21 21.0.10.0 17 17.0.18.0 11 11.0.30.0 IBM SDK, Java Technology Edition 8 SR8 FP60 (8.0.60.0) . Downloads and supplementary documentation can be found at the following locations: - For non z/OS operating systems: - IBM Semeru Runtimes, Version 11 and later https://www.ibm.com/semeru-runtimes/downloads/ - IBM SDK, Java Technology Edition, Version 8 https://www.ibm.com/support/pages/java-sdk-downloads/ - For the z/OS operating system: - Java SDK Products on z/OS https://www.ibm.com/support/pages/java-sdk-products-zos
Temporary fix
Comments
APAR Information
APAR number
IJ55765
Reported component name
J9 COMMON CODE
Reported component ID
620700127
Reported release
290
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2025-09-10
Closed date
2025-09-10
Last modified date
2025-09-15
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
J9 COMMON CODE
Fixed component ID
620700127
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":"8.0","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
15 September 2025