JDK-8231566 : C2 compilation fails with "duplicated predicate failed which is impossible"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 14
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2019-09-27
  • Updated: 2020-11-10
  • Resolved: 2019-09-27
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 14
14Resolved
Related Reports
Duplicate :  
Description
This was found by fuzzing. This is the first time I see anything like this, and there are no relevant hits in the bugtracker, so I have to assume this is new.

Reproduces reliably with the attached fuzzer case.

#  Internal Error (/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/macroAssembler_x86.cpp:892), pid=1145, tid=1146
#  fatal error: DEBUG MESSAGE: duplicated predicate failed which is impossible
#
# JRE version: OpenJDK Runtime Environment (14.0) (fastdebug build 14-internal+0-adhoc.shade.jdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 14-internal+0-adhoc.shade.jdk-jdk, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x1244621]  MacroAssembler::debug64(char*, long, long*)+0x41

---------------  T H R E A D  ---------------

Current thread (0x00007f098c024000):  JavaThread "main" [_thread_in_Java, id=1146, stack(0x00007f0994a3f000,0x00007f0994b40000)]

Stack: [0x00007f0994a3f000,0x00007f0994b40000],  sp=0x00007f0994b3e630,  free space=1021k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native c
Comments
Okay, closing as duplicate then.
27-09-2019

This is JDK-8229495 dressed up by JDK-8230762 and JDK-8225653. The reproducer in JDK-8229495 is sufficient.
27-09-2019

Sounds good. ILW = Same as JDK-8229495 = P2
27-09-2019

Yeah. Let's keep this one open until JDK-8229495 is fixed and we can confirm this is a duplicate.
27-09-2019

This is most likely the same as JDK-8229495 but since JDK-8225653 a debug message is printed.
27-09-2019

Ah, it might be the similar to other SIGILLs in fuzzed tests, but now JDK-8225653 gives us the new debugging message. Keeping this issue open until someone figures the root cause out. I see the test fails with SIGILL in jdk-14+13. Must be recent, as I don't see the same crash in 11.0.6-ea.
27-09-2019