JDK-8249607 : C2: assert(!had_error) failed: bad dominance
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,13,14,15,16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-07-16
  • Updated: 2022-05-16
  • Resolved: 2020-08-31
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 11 JDK 16
11.0.10-oracleFixed 16 b14Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
The attached fuzzer test fails intermittently with the following assertion.

To reproduce:
$ java -Xmx1G Test.java

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/mach5/mesos/work_dir/slaves/4728e7c1-7e67-490e-be0f-6bbf2a2f33db-S200/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/f2adfb3c-7d1c-4b4c-9f29-56830625211a/runs/4ba05d20-e16e-4238-9561-4084a579e72e/workspace/open/src/hotspot/share/opto/loopnode.cpp:4120), pid=25434, tid=25446
#  assert(!had_error) failed: bad dominance
..........
Command Line: -Xmx1G --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.Main Test.java
..........
Current thread (0x00007fa63c2593d0):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=25446, stack(0x00007fa603cfd000,0x00007fa603dfe000)]


Current CompileTask:
C2:   1701 1208 % !   4       Test::mainTest @ 120 (783 bytes)

Stack: [0x00007fa603cfd000,0x00007fa603dfe000],  sp=0x00007fa603df8550,  free space=1005k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x11972cc]  PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x81c
V  [libjvm.so+0x1197ae0]  PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x190
V  [libjvm.so+0x119812a]  PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0xba
V  [libjvm.so+0x119ddad]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0x56d
V  [libjvm.so+0x90b0dd]  PhaseIdealLoop::verify(PhaseIterGVN&)+0x31d
V  [libjvm.so+0x908687]  Compile::Optimize()+0x707
V  [libjvm.so+0x90a6d0]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1500
V  [libjvm.so+0x75a694]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x184
V  [libjvm.so+0x9196d0]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xde0
V  [libjvm.so+0x91a498]  CompileBroker::compiler_thread_loop()+0x6b8
V  [libjvm.so+0x16d4bfc]  JavaThread::thread_main_inner()+0x21c
V  [libjvm.so+0x16da980]  Thread::call_run()+0x100
V  [libjvm.so+0x13defb6]  thread_native_entry(Thread*)+0x116
Comments
Fix request (11u) -- will label after testing completed. I would like to downport this for parity with 11.0.9-oracle. I had to do trivial resolves: http://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-October/004024.html
23-10-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/05d7a0663063 User: chagedorn Date: 2020-08-31 10:13:14 +0000
31-08-2020