JDK-8315920 : C2: "control input must dominate current control" assert failure
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17.0.10,21,22
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-09-08
  • Updated: 2024-01-09
  • Resolved: 2023-09-26
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 JDK 21 JDK 22
17.0.11-oracleFixed 21.0.2Fixed 22 b17Fixed
Related Reports
Relates :  
Description
#  Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/loopopts.cpp:1765), pid=1742391, tid=1742405
#  assert(is_dominator(c, n_ctrl)) failed: control input must dominate current control

with attached test case run with:

java -XX:-TieredCompilation -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:CompileOnly=TestBadControlAfterPreMainPost::test -XX:-UseLoopPredicate -XX:-DoEscapeAnalysis  TestBadControlAfterPreMainPost

Assert comes from code added by JDK-8314024
Comments
A pull request was submitted for review. URL: https://git.openjdk.org/jdk17u-dev/pull/2070 Date: 2023-12-21 15:49:47 +0000
21-12-2023

Fix request [17u] I backport this for parity with 17.0.11-oracle. Typical risk of a C2 change, but good repro case. We should take it. Trivial resolves needed. Test passes and fails without the fix.
21-12-2023

[jdk21u-fix-request] Approval Request from Aleksey Shipilëv Clean backport to fix another regression. Applies cleanly. Tests pass.
07-11-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk21u/pull/324 Date: 2023-11-06 13:32:51 +0000
06-11-2023

Changeset: 4e1e579e Author: Roland Westrelin <roland@openjdk.org> Date: 2023-09-26 14:32:54 +0000 URL: https://git.openjdk.org/jdk/commit/4e1e579e8b916191397fc958df32ac3f6003c791
26-09-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/15720 Date: 2023-09-13 14:35:55 +0000
13-09-2023

ILW = Assert during C2 compilation, reproducible with targeted test, -XX:-SplitIfBlocks or disable compilation of affected method = HLM = P3
08-09-2023