JDK-8255058 : C1: assert(is_virtual()) failed: type check
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,11,12,13,14,15,16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-10-20
  • Updated: 2023-01-05
  • Resolved: 2020-11-17
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 JDK 8
11.0.11-oracleFixed 16 b25Fixed 8u361Fixed
Related Reports
Duplicate :  
Relates :  
Description
The attached fuzzer test fails with the following assertion:

To reproduce:
$ java -Xcomp -XX:TieredStopAtLevel=1 -XX:CompileOnly=Test Test.java

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/christian/jdk/open/src/hotspot/share/c1/c1_LIR.hpp:423), pid=10943, tid=10955
#  assert(is_virtual()) failed: type check
#
# JRE version: Java(TM) SE Runtime Environment (16.0) (slowdebug build 16-internal+0-2020-10-16-0945385.christian...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 16-internal+0-2020-10-16-0945385.christian..., compiled mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x5f2991]  LIR_OprDesc::vreg_number() const+0x29
..........
Command Line: -Xcomp -XX:TieredStopAtLevel=1 -XX:CompileOnly=Test --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.Main Test.java
..........
Current thread (0x00007fc6d434fda0):  JavaThread "C1 CompilerThread0" daemon [_thread_in_native, id=10955, stack(0x00007fc6bc228000,0x00007fc6bc329000)]


Current CompileTask:
C1:  12942   88   !b  1       Test::vMeth1 (1566 bytes)

Stack: [0x00007fc6bc228000,0x00007fc6bc329000],  sp=0x00007fc6bc326710,  free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x5f2991]  LIR_OprDesc::vreg_number() const+0x29
V  [libjvm.so+0x636dd5]  LinearScan::resolve_exception_edge(XHandler*, int, int, Phi*, MoveResolver&)+0x127
V  [libjvm.so+0x63721f]  LinearScan::resolve_exception_edge(XHandler*, int, MoveResolver&)+0x397
V  [libjvm.so+0x637608]  LinearScan::resolve_exception_handlers()+0x2fc
V  [libjvm.so+0x63bd7c]  LinearScan::do_linear_scan()+0x112
V  [libjvm.so+0x5ade3c]  Compilation::emit_lir()+0x152
V  [libjvm.so+0x5ae5ac]  Compilation::compile_java_method()+0x21e
V  [libjvm.so+0x5ae90e]  Compilation::compile_method()+0x106
V  [libjvm.so+0x5af106]  Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*)+0x362
V  [libjvm.so+0x5b2fd7]  Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xd9
V  [libjvm.so+0x7b2dd5]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x895
V  [libjvm.so+0x7b1a61]  CompileBroker::compiler_thread_loop()+0x3df
V  [libjvm.so+0x11abcf2]  compiler_thread_entry(JavaThread*, Thread*)+0x69
V  [libjvm.so+0x11a7b68]  JavaThread::thread_main_inner()+0x14c
V  [libjvm.so+0x11a7a14]  JavaThread::run()+0x11e
V  [libjvm.so+0x11a3c24]  Thread::call_run()+0x180
V  [libjvm.so+0xfa1f7c]  thread_native_entry(Thread*)+0x1e4
Comments
Fix Request Should get backported for parity with 11.0.11-oracle. Applies cleanly.
28-12-2020

Changeset: 5dbfae01 Author: Christian Hagedorn <chagedorn@openjdk.org> Date: 2020-11-17 09:16:06 +0000 URL: https://github.com/openjdk/jdk/commit/5dbfae01
17-11-2020

ILW = C1 assertion failure in register allocation, only fails with single Java Fuzzer test, disable compilation of affected method or run with -XX:-TieredCompilation = HLM = P3
20-10-2020