APAR status
Closed as program error.
Error description
Error Message: N/A . Stack Trace: N/A . This issue can occur on any Java platform that uses OpenJ9 runtime. The problem can only occur in an application where multiple classes with same class hierarchy are loaded by different class-loaders while using shared classes and AOT.
Local fix
Using the AOT option, -Xaot:maxCheckcastProfiledClassTests=0 will disable the heuristic that causes this behaviour in AOT compiled code while causing a minor performance penalty for AOT compiled methods. If an AOT compiled method becomes hot, it will get recompiled as a normal JIT compile where this problem is not possible and the work-around option has no effect.
Problem summary
In AOT/JIT compiled code, we generate series of inlined tests for checkcast/InstanceOf Bytecodes. One of the tests in the sequence uses the profiled data for that particular sites and based on the relationship between the classes in profiled data for that site and the cast class, it generates tests to get the result of the checkcast/instanceOf quickly. In case of AOT compiled code, we were missing validation information that verifies the relationship between profiled class and the cast class when AOT code is loaded from shared class cache, without which the generated test could result in an unexpected code path to be executed.
Problem conclusion
Compiler code has been updated to disable the use of profiled class data for checkcast/instanceOf code, when Shared Class Cache is enabled and it is generating AOT code. . This APAR will be fixed in the following Java Releases: 8 SR6 FP31 (8.0.6.31) . 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
IJ32096
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-04-13
Closed date
2021-04-13
Last modified date
2021-04-13
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:
14 April 2021