APAR status
Closed as program error.
Error description
Error Message: SIGFPE causes a CICS A147 Abend . Stack Trace: In Java 7.1 {libj9jit27.so}{TR_MultipleCallTargetInliner::exceedsSizeThresho ld(int,TR_Block*,TR_ByteCodeInfo&,int,TR_ResolvedMethod*,TR_Reso lvedMethod*,TR_Node*,bool)} {libj9jit27.so}{TR_InlinerBase::findInlineTargets(TR_CallStack*, TR_CallSite*)} {libj9jit27.so}{TR_EstimateCodeSize::isInlineable(TR_CallStack*, TR_CallSite*)} {libj9jit27.so}{TR_EstimateCodeSize::estimateCodeSize(TR_CallTar get*,TR_CallStack*,bool)} {libj9jit27.so}{TR_EstimateCodeSize::calculateCodeSize(TR_CallTa rget*,TR_CallStack*,bool)} {libj9jit27.so}{TR_InlinerBase::findInlineTargets(TR_CallStack*, TR_CallSite*)} ... In Java 8+ the crashing function would be scaleSizeBasedOnBlockFrequency() . Typically this exception would not result in a FPE being raised, but it can still happen when using a custom executable that uses JNI to launch the JVM and that executable is setup to raise FPE signals rather then ignore the condition. Therefore this issue is not possible when using the standard java executable.
Local fix
The issue can be avoiding by disabling inlining for the method where the issue is encountered: -Xjit:{<package>/<class>.<method>*}(disableInlining) or disable inlining globally, which will have a substantial performance impact: -Xjit:disableInlining
Problem summary
The JIT casts the result of an float calculation into a 32bit integer, but the original float might overflow the 32bit integer resulting in a FPE if the executable is configured to do so.
Problem conclusion
The JIT was modified so that the target of the float->integer cast will be set to MAX_INT when the float is larger then MAX_INT. . This APAR will be fixed in the following Java Releases: 7 R1 SR5 FP5 (7.1.5.5) 8 SR7 FP5 (8.0.7.5) . 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
IJ36428
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-12-06
Closed date
2021-12-16
Last modified date
2021-12-16
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:
17 December 2021