JDK-8269797 : C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input after JDK-8252372
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17,18
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2021-07-02
  • Updated: 2021-07-05
  • Resolved: 2021-07-05
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 17
17Resolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
Attached fuzzer test fails after 

$ ../build/linux-x86_64-server-fastdebug/images/jdk/bin/java -XX:+UnlockDiagnosticVMOptions  -Xcomp -XX:CompileOnly=Test -XX:-TieredCompilation Test

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/loopnode.cpp:4791), pid=3211328, tid=3211341
#  assert(!in->is_CFG()) failed: CFG Node with no controlling input?

Current thread (0x00007f600c352a30):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=3211341, stack(0x00007f5fa8238000,0x00007f5fa8339000)]


Current CompileTask:
C2:    244    7   !b        Test::fMeth (249 bytes)

Stack: [0x00007f5fa8238000,0x00007f5fa8339000],  sp=0x00007f5fa8333390,  free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x12d7df4]  PhaseIdealLoop::build_loop_early(VectorSet&, Node_List&, Node_Stack&)+0x624
V  [libjvm.so+0x12e2d3a]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0x49a
V  [libjvm.so+0xa35515]  PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x2d5
V  [libjvm.so+0xa3293f]  Compile::Optimize()+0xd8f
V  [libjvm.so+0xa340dd]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x120d
V  [libjvm.so+0x86983e]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1ee
V  [libjvm.so+0xa458e9]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xf19
V  [libjvm.so+0xa465c8]  CompileBroker::compiler_thread_loop()+0x5a8
V  [libjvm.so+0x19d6a51]  JavaThread::thread_main_inner()+0x281
V  [libjvm.so+0x19de184]  Thread::call_run()+0x104
V  [libjvm.so+0x155622e]  thread_native_entry(Thread*)+0x10e


Bisection points to reliable failure after JDK-
Comments
[~roland] Can you take a look at it?
02-07-2021

ILW = C2 assertion failure (recent regression in JDK 17 b24), only fails with single Java Fuzzer test, don't use Xcomp or disable compilation of affected method = HMM = P2
02-07-2021

Note that JDK-8269746 sees a similar assert message, but due to a different changeset. Those might be related.
02-07-2021