JDK-8279021 : Shenandoah: assert(dead != C->root()) failed: killing root, eh? after JDK-8278413
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 18,19
  • Priority: P2
  • Status: Closed
  • Resolution: Not an Issue
  • Submitted: 2021-12-20
  • Updated: 2021-12-23
  • Resolved: 2021-12-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 18
18Resolved
Related Reports
Relates :  
Relates :  
Description
Seen in jdk_jfr tests like:

$ CONF=linux-x86_64-server-fastdebug make run-test TEST=jdk/jfr/event/oldobject/TestShenandoah.java

#  Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/phaseX.cpp:1367), pid=483318, tid=483340
#  assert(dead != C->root()) failed: killing root, eh?

Current CompileTask:
C2:   1353  486       4       java.io.DataInputStream::readUTF (501 bytes)

Stack: [0x00007ff89c8f8000,0x00007ff89c9f9000],  sp=0x00007ff89c9f2f50,  free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x167e614]  PhaseIterGVN::remove_globally_dead_node(Node*)+0x404
V  [libjvm.so+0x13796d1]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0x551
V  [libjvm.so+0xaafcc7]  PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x287
V  [libjvm.so+0x18a7400]  ShenandoahBarrierC2Support::expand(Compile*, PhaseIterGVN&)+0x70
V  [libjvm.so+0x17ccfd3]  ShenandoahBarrierSetC2::expand_barriers(Compile*, PhaseIterGVN&) const+0x13
V  [libjvm.so+0xaad1fd]  Compile::Optimize()+0x12fd
V  [libjvm.so+0xaae71e]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x127e
V  [libjvm.so+0x8cdecb]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x69b
V  [libjvm.so+0xac0118]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xe48
V  [libjvm.so+0xac0e88]  CompileBroker::compiler_thread_loop()+0x648
V  [libjvm.so+0x1a20b1c]  JavaThread::thread_main_inner()+0x28c
V  [libjvm.so+0x1a26734]  Thread::call_run()+0x104
V  [libjvm.so+0x15ff56c]  thread_native_entry(Thread*)+0x10c

Bisection points to JDK-8278413.
Comments
I think it is easier to back out the change at this point: JDK-8279204.
23-12-2021

Closing this as it is not an issue anymore after the backout of JDK-8278413 with JDK-8279204. This bug should be addressed with the redo fix in JDK-8279219.
23-12-2021

Raising this to P2. It is causing numerous git action failures which are hard to wade through.
22-12-2021

I am seeing the same crash in 18 with hotspot_gc_shenandoah tests as well.
21-12-2021

ILW = assert, regression; Shenandoah jfr test; no workaround? = MMH = P3
21-12-2021