Open ymanton opened 5 years ago
Isn't this just a case of an exponential node walk not an infinite loop? Once for each treetop we call from computeFearFromBitVector
to confirmFearFromBitVector
. Looks to me like the confirmFearFromBitVector
should have a node checklist...
When you let it run overnight and it's still going the next morning it's hard to distinguish between the two. :grin: I didn't look into it much more than attaching GDB and seeing a very long backtrace full of those two methods, so it may be making incredibly slow forward progress.
Running into the same loop in https://github.com/eclipse/openj9/blob/9c033bd4311a1d2bccad1a5250330ada13f9c550/runtime/compiler/optimizer/FearPointAnalysis.cpp#L152
Same as what @ymanton experienced, it's stuck at the end of jit_jitt_0
, leaving it as it is, it could run hours.
===============================================
Running test jit_jitt_0 ...
===============================================
....
===============================================
JIT_Test suite
Total tests run: 206, Failures: 0, Skips: 0
===============================================
<== stuck
(gdb) bt
#0 0x00007fffeeb41210 in TR_BitVector::getBitMask(int)@plt ()
from /root/home/ahuo/sdk/jvmxa6480_jitaas_411001/jre/lib/amd64/compressedrefs/libj9jit29.so
#1 0x00007fffeeb8110d in TR_BitVector::get (this=0x7fffeb52e240, n=229)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/omr/compiler/infra/BitVector.hpp:334
#2 0x00007fffeef9f857 in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73750)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:154
#3 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73840)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#4 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73890)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#5 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73b10)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#6 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73f20)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#7 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74150)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#8 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e741a0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#9 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74420)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#10 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74650)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#11 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e746a0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#12 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74920)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#13 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74d30)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#14 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74f60)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#15 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e74fb0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#16 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e75640)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#17 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e75690)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#18 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e75910)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#19 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e75b90)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#20 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e75e10)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#21 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e76040)
--Type <RET> for more, q to quit, c to continue without paging--
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#22 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e76270)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#23 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e762c0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#24 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e767c0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#25 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e76810)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#26 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e76a90)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#27 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e772b0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#28 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e77530)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#29 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e77760)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#30 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e777b0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#31 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e779e0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#32 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e77a30)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#33 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e77c60)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#34 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e77e90)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#35 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e77ee0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#36 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e78390)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#37 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e785c0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#38 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e78610)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#39 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e78890)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#40 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e78ac0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#41 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e78d40)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
#42 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e78d90)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
--Type <RET> for more, q to quit, c to continue without paging--
#43 0x00007fffeef9fac7 in TR_FearPointAnalysis::computeFearFromBitVector (this=0x7fffeb52e0d0, comp=0x7fffd9e00000)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:193
#44 0x00007fffeef9f4c0 in TR_FearPointAnalysis::TR_FearPointAnalysis (this=0x7fffeb52e0d0, comp=0x7fffd9e00000,
optimizer=0x7fffd9f398e0, rootStructure=0x7fffd9e20070, fearGeneratingNodes=..., topLevelFearOnly=true, trace=false)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:109
#45 0x00007fffef092985 in TR_OSRGuardInsertion::insertOSRGuards (this=0x7fffd9e10460, fearGeneratingNodes=...)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/OSRGuardInsertion.cpp:429
#46 0x00007fffef091a94 in TR_OSRGuardInsertion::perform (this=0x7fffd9e10460)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/OSRGuardInsertion.cpp:256
#47 0x00007fffef39c801 in OMR::Optimizer::performOptimization (this=0x7fffd9f398e0,
optimization=0x7fffef7c3c50 <cheapWarmStrategyOpts+48>, firstOptIndex=0, lastOptIndex=2147483647, doTiming=0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/omr/compiler/optimizer/OMROptimizer.cpp:2049
#48 0x00007fffef3992ac in OMR::Optimizer::optimize (this=0x7fffd9f398e0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/omr/compiler/optimizer/OMROptimizer.cpp:1130
#49 0x00007fffef127933 in OMR::Compilation::performOptimizations (this=0x7fffd9e00000)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/omr/compiler/compile/OMRCompilation.cpp:1292
#50 0x00007fffef1268c4 in OMR::Compilation::compile (this=0x7fffd9e00000)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/omr/compiler/compile/OMRCompilation.cpp:1073
#51 0x00007fffeebfdb32 in TR::CompilationInfoPerThreadBase::compile (this=0x7fffeb5474d0, vmThread=0x62f600, compiler=0x7fffd9e00000,
compilee=0x7fffeb531558, vm=..., optimizationPlan=0x7fffeb5ca860, scratchSegmentProvider=...)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:8755
#52 0x00007fffeebfbed2 in TR::CompilationInfoPerThreadBase::wrappedCompile (portLib=0x7ffff63ee380 <j9portLibrary>,
opaqueParameters=0x7fffeb5312d0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:8286
#53 0x00007ffff557bec8 in omrsig_protect (portLibrary=0x7ffff63ee380 <j9portLibrary>,
fn=0x7fffeebf9808 <TR::CompilationInfoPerThreadBase::wrappedCompile(J9PortLibrary*, void*)>, fn_arg=0x7fffeb5312d0,
handler=0x7fffeebe3b68 <jitSignalHandler(J9PortLibrary*, U_32, void*, void*)>, handler_arg=0x62f600, flags=61,
result=0x7fffeb5312a0) at ../../omr/port/unix/omrsignal.c:384
#54 0x00007fffeebf9393 in TR::CompilationInfoPerThreadBase::compile (this=0x7fffeb5474d0, vmThread=0x62f600, entry=0x7ffee400d540,
scratchSegmentProvider=...) at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:7483
#55 0x00007fffeee5790c in TR::CompilationInfoPerThreadRemote::processEntry (this=0x7fffeb5474d0, entry=..., scratchSegmentProvider=...)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/JITaaSCompilationThread.cpp:4119
#56 0x00007fffeebeee27 in TR::CompilationInfoPerThread::processEntries (this=0x7fffeb5474d0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:3817
#57 0x00007fffeebee6c8 in TR::CompilationInfoPerThread::run (this=0x7fffeb5474d0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:3687
#58 0x00007fffeebee483 in protectedCompilationThreadProc (compInfoPT=0x7fffeb5474d0)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:3630
#59 0x00007ffff557bec8 in omrsig_protect (portLibrary=0x7ffff63ee380 <j9portLibrary>,
fn=0x7fffeebee29d <protectedCompilationThreadProc(J9PortLibrary*, TR::CompilationInfoPerThread*)>, fn_arg=0x7fffeb5474d0,
handler=0x7ffff5c94b00 <structuredSignalHandler>, handler_arg=0x62f600, flags=126, result=0x7fffeb532d98)
at ../../omr/port/unix/omrsignal.c:384
#60 0x00007fffeebee241 in compilationThreadProc (entryarg=0x7fffeb5474d0)
--Type <RET> for more, q to quit, c to continue without paging--
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/control/CompilationThread.cpp:3535
#61 0x00007ffff59e92c6 in thread_wrapper (arg=0x7ffff00e5380) at ../omr/thread/common/omrthread.c:1605
#62 0x00007ffff7bbd6db in start_thread (arg=0x7fffeb535700) at pthread_create.c:463
#63 0x00007ffff74cb88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) frame 2
#2 0x00007fffeef9f857 in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73750)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:154
154 if (_fearGeneratingNodes.get(node->getGlobalIndex()))
(gdb) print *node
$1 = {<J9::Node> = {<OMR::Node> = {_opCode = {<J9::ILOpCode> = {<OMR::ILOpCode> = {_opCode = TR::aload, static _opCodeProperties =
<error reading variable>, _numChildren = 0, _visitCount = 75, _globalIndex = 229, _flags = {_flags = 0}, _localIndex = 0,
_byteCodeInfo = {static invalidByteCodeIndex = -1, static invalidCallerIndex = -1, _doNotProfile = 0, _isSameReceiver = 0,
_callerIndex = -1, _byteCodeIndex = 228}, _referenceCount = 2, _unionA = {_useDefIndex = 0, _register = 0x0}, _unionBase = {
_constValue = 0, _fpConstValue = 0, _dpConstValue = 0, _osrInductionOffset = 0, _fpConstValueBits = 0, _extension = {
_data = 0x0, _flags = 0, _numElems = 0}, _children = {0x0, 0x0}, _unionedWithChildren = {{_globalRegisterInfo = {
_firstChild = 0x0, _lowRegisterNumber = 0, _highRegisterNumber = 0}, _offset = 0, _relocationInfo = {
_numRelocations = 0, _relocationType = 0, _relocationDestination = {0x0}}, _caseInfo = {_firstChild = 0x0,
_caseConstant = 0}, _monitorInfo = {_firstChild = 0x0, _info = 0x0}}}}, _unionPropertyA = {
_symbolReference = 0x7fffd9e520b0, _regLoadStoreSymbolReference = 0x7fffd9e520b0, _branchDestinationNode = 0x7fffd9e520b0,
_block = 0x7fffd9e520b0, _arrayStride = -639295312, _pinningArrayPointer = 0x7fffd9e520b0, _dataType = 3655671984}},
_unionPropertyB = {_decimalInfo = {_decimalPrecision = 0, _decimalAdjustOrFractionOrDivisor = 0,
_decimalSourcePrecisionOrDividend = 0, _setSign = raw_bcd_sign_unknown, _signStateIsKnown = 0, _hasCleanSign = 0,
_hasPreferredSign = 0, _round = 0, _hasNoSignStateOnLoad = 0, _castedToBCD = 0, _signCode = raw_bcd_sign_unknown},
_bcdFlags = 0 '\000'}}, <No data fields>}
(gdb)
(gdb) frame 3
#3 0x00007fffeef9f8ae in TR_FearPointAnalysis::confirmFearFromBitVector (this=0x7fffeb52e0d0, node=0x7fffd9e73840)
at /root/home/ahuo/src/openj9-openjdk-jdk8/openj9/runtime/compiler/optimizer/FearPointAnalysis.cpp:158
158 if (confirmFearFromBitVector(node->getChild(i)))
(gdb) print *node
$2 = {<J9::Node> = {<OMR::Node> = {_opCode = {<J9::ILOpCode> = {<OMR::ILOpCode> = {_opCode = TR::aloadi,
static _opCodeProperties = <error reading variable>, _numChildren = 1, _visitCount = 75, _globalIndex = 232, _flags = {
_flags = 0}, _localIndex = 0, _byteCodeInfo = {static invalidByteCodeIndex = -1, static invalidCallerIndex = -1,
_doNotProfile = 0, _isSameReceiver = 0, _callerIndex = -1, _byteCodeIndex = 232}, _referenceCount = 1, _unionA = {
_useDefIndex = 0, _register = 0x0}, _unionBase = {_constValue = 140736849196880, _fpConstValue = -8.13519204e+15,
_dpConstValue = 6.9533242292118637e-310, _osrInductionOffset = -639158448, _fpConstValueBits = -639158448, _extension = {
_data = 0x7fffd9e73750, _flags = 0, _numElems = 0}, _children = {0x7fffd9e73750, 0x0}, _unionedWithChildren = {{
_globalRegisterInfo = {_firstChild = 0x7fffd9e73750, _lowRegisterNumber = 0, _highRegisterNumber = 0},
_offset = 140736849196880, _relocationInfo = {_numRelocations = 14160, _relocationType = 55783, _relocationDestination = {
0x0}}, _caseInfo = {_firstChild = 0x7fffd9e73750, _caseConstant = 0}, _monitorInfo = {_firstChild = 0x7fffd9e73750,
_info = 0x0}}}}, _unionPropertyA = {_symbolReference = 0x7fffd9e522b0, _regLoadStoreSymbolReference = 0x7fffd9e522b0,
_branchDestinationNode = 0x7fffd9e522b0, _block = 0x7fffd9e522b0, _arrayStride = -639294800,
_pinningArrayPointer = 0x7fffd9e522b0, _dataType = 3655672496}}, _unionPropertyB = {_decimalInfo = {_decimalPrecision = 0,
_decimalAdjustOrFractionOrDivisor = 0, _decimalSourcePrecisionOrDividend = 0, _setSign = raw_bcd_sign_unknown,
_signStateIsKnown = 0, _hasCleanSign = 0, _hasPreferredSign = 0, _round = 0, _hasNoSignStateOnLoad = 0, _castedToBCD = 0,
_signCode = raw_bcd_sign_unknown}, _bcdFlags = 0 '\000'}}, <No data fields>}
Compilation threads can get stuck in a recursive loop in this bit of code of debug code:
https://github.com/eclipse/openj9/blob/9c033bd4311a1d2bccad1a5250330ada13f9c550/runtime/compiler/optimizer/FearPointAnalysis.cpp#L178-L197
I see this most often when running the
jit_jitt_0
sanity test. Note that the JIT needs to be built in debug or prod_with_assumes defined for the problematic code to have a chance to run.