eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 720 forks source link

Infinite loop in JIT compiler's fear point analysis debug code #5633

Open ymanton opened 5 years ago

ymanton commented 5 years ago

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.

andrewcraik commented 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...

ymanton commented 5 years ago

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.

a7ehuo commented 5 years ago

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>}