APAR status
Closed as program error.
Error description
Error Message: JVM terminates with GPF in libj9jit29. The javacore indicates that a method was being compiled at the time: 1XHEXCPMODULE Compiling method: <method> and the current thread with be a JIT compilation thread. . Stack Trace: The only reports so far have failed during local value propagation, but it seems likely that other locations for the failure could occur 0x00007fde014537aa {libj9jit29.so}{_ZN3OMR16ValuePropagation11findOutEdgeERN2TR12fo rward_listIPNS1_7CFGEdgeENS1_15typed_allocatorIS4_RNS1_6RegionEE EEEPNS1_7CFGNodeE} <OSB>0x7fddfde7a148<CSB> 0x00007fde0157df19 {libj9jit29.so}{_ZL18constrainIfcmpeqnePN3OMR16ValuePropagationE PN2TR4NodeEb} <OSB>0x7fddfde7a150<CSB> 0x00007fde0153717d {libj9jit29.so}{_ZN3OMR16ValuePropagation10launchNodeEPN2TR4Node ES3_i} <OSB>0x7fddfde7a250<CSB> 0x00007fde01537511 {libj9jit29.so}{_ZN3OMR16ValuePropagation12processTreesEPN2TR7Tr eeTopES3_} <OSB>0x7fddfde7a290<CSB> 0x00007fde01537a8e {libj9jit29.so}{_ZN2TR21LocalValuePropagation12processBlockEPNS_ 7TreeTopE} <OSB>0x7fddfde7a2f0<CSB> 0x00007fde01538048 {libj9jit29.so}{_ZN2TR21LocalValuePropagation7performEv} <OSB>0x7fddfde7a350<CSB> 0x00007fde013fdf67 {libj9jit29.so}{_ZN3OMR9Optimizer19performOptimizationEPK20Optim izationStrategyiii} <OSB>0x7fddfde7a370<CSB> .
Local fix
The problem occurs during global value propagation, so disabling this optimisation for the failing method should allow the compilation to proceed normally. For example for a method packageA.packageB.MyClass.myMethod the following JVM option could be used: -Xjit:{packageA/packageB/Myclass.myMethod(*}(disableGlobalVP) Note that there can only be one active -Xjit option on the Java command line, so if there is an existing one in use it must be merged with the above.
Problem summary
This problem is caused by a rare edge case in global value propagation, discussed in detail in https://github.com/eclipse/omr/issues/6623. It results in corrupted nodes in the trees at the end of the GVP pass, and later optimisations then crash when processing these nodes. A good indication that this problem is involved would be the presence of nodes with missing children after GVP. If a jitdump is created during the crash this can be inspected for signs of the problem. A possible hint of the error is the presence of lines such as: TREE VERIFICATION ERROR -- treetop node <OSB>0x7fdc46088930<CSB> with ref count -2 (e.g. 13959) in the jitdump.
Problem conclusion
The problem is caused when GVP processes a loop using multiple passes, scheduling a node for one of the delayed transformations in the first pass, but then removing the node and others during the second pass. This has been mitigated by making the delayed transformation check that the node was not removed from the trees. . This APAR will be fixed in the following Releases: . IBM SDK, Java Technology Edition 8 SR7 FP20 (8.0.7.20) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the available maintenance can be found at: https://www.ibm.com/support/pages/java-sdk
Temporary fix
Comments
APAR Information
APAR number
IJ41667
Reported component name
JIT
Reported component ID
620700124
Reported release
130
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-08-09
Closed date
2022-08-12
Last modified date
2022-08-12
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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]
Document Information
Modified date:
12 August 2022