APAR status
Closed as program error.
Error description
Error Message: A segmentation fault during Java JIT compile time while executing in the destructor method for the ASparseBitVector class. . Stack Trace: CS2::ASparseBitVector<...>::__dftdt()() at 0x90000000807cc6c invokedtr.__Invoke__Destructor() at 0x9000000008150e0 __DoThrowV6() at 0x900000000817c3c J9::SystemSegmentProvider::request(...)() at 0x900000008ffa590 TR::Region::allocate(...)() at 0x900000008032e24 TR_Memory::allocateMemory(...)() at 0x900000008045108 TR_AliasSetInterface<0>::getAliasesAndUnionWith(...)() at 0x9000000081d2e2c RematTools::walkNodesCalculatingRematSafety(...)() at 0x9000000081cd424 ... . The problem occurs after the JIT reaches its memory limit during a Java method compile. Therefore the problem is most likely to occur during the compilation of very large methods. All current examples of this problem have occurred while compiling methods with 10,000+ bytes of bytecodes and reach that size because they are machine generated methods. The problem can occur on any J9 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
At a point where the JIT is manipulating the structure of an ASparseBitVector C++ object, the compile time scratch memory space limit is reached causing a C++ exception to be thrown. The C++ runtime then calls the destructor for the ASparseBitVector C++ object, but the object structure is in an inconsistent state resulting in a crash while the destructor is attempting to free the memory associated with the object.
Problem conclusion
The JIT was modified so that the ASparseBitVector C++ object is in a consistent state when running the destructor. . This APAR will be fixed in the following Releases: . IBM Semeru Runtimes 25 25.0.2.0 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.8.60) . 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
IJ55766
Reported component name
JIT
Reported component ID
620700124
Reported release
130
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-11-19
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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
19 November 2025