Details
-
Bug
-
Resolution: Fixed
-
P3
-
8, 11, 12, 13, 14, 15, 16
-
b11
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8252876 | 11.0.10-oracle | Christian Hagedorn | P3 | Resolved | Fixed | b01 |
JDK-8253105 | 11.0.10 | Christian Hagedorn | P3 | Resolved | Fixed | b01 |
Description
The attached fuzzer test fails with the following assertion.
To reproduce:
$ java -Xmx1G -Xcomp -Xbatch -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_LinearScan.cpp:3295), pid=22028, tid=22044
# assert(has_error == false) failed: register allocation invalid
#
# JRE version: Java(TM) SE Runtime Environment (16.0) (slowdebug build 16-internal+0-2020-07-13-1111353.christian...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 16-internal+0-2020-07-13-1111353.christian..., compiled mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x582a7b] LinearScan::verify_intervals()+0x5d9
..........
Command Line: -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.Main Test.java
..........
Current thread (0x00007f71d0346750): JavaThread "C1 CompilerThread0" daemon [_thread_in_native, id=22044, stack(0x00007f71c0012000,0x00007f71c0113000)]
Current CompileTask:
C1: 16017 128 % !b 2 Test::mainTest @ 317 (736 bytes)
Stack: [0x00007f71c0012000,0x00007f71c0113000], sp=0x00007f71c0110bd0, free space=1018k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x582a7b] LinearScan::verify_intervals()+0x5d9
V [libjvm.so+0x5823c2] LinearScan::verify()+0x46
V [libjvm.so+0x581d9e] LinearScan::do_linear_scan()+0x17a
V [libjvm.so+0x4f511a] Compilation::emit_lir()+0x152
V [libjvm.so+0x4f588c] Compilation::compile_java_method()+0x21e
V [libjvm.so+0x4f5bee] Compilation::compile_method()+0x106
V [libjvm.so+0x4f63ea] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*)+0x362
V [libjvm.so+0x4fa13d] Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xd9
V [libjvm.so+0x6ea926] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x88e
V [libjvm.so+0x6e95b3] CompileBroker::compiler_thread_loop()+0x3df
V [libjvm.so+0x10a0bdf] compiler_thread_entry(JavaThread*, Thread*)+0x69
V [libjvm.so+0x109bd90] JavaThread::thread_main_inner()+0x146
V [libjvm.so+0x109bc41] JavaThread::run()+0x11f
V [libjvm.so+0x1097eca] Thread::call_run()+0x180
V [libjvm.so+0xea6716] thread_native_entry(Thread*)+0x1e4
To reproduce:
$ java -Xmx1G -Xcomp -Xbatch -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_LinearScan.cpp:3295), pid=22028, tid=22044
# assert(has_error == false) failed: register allocation invalid
#
# JRE version: Java(TM) SE Runtime Environment (16.0) (slowdebug build 16-internal+0-2020-07-13-1111353.christian...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 16-internal+0-2020-07-13-1111353.christian..., compiled mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x582a7b] LinearScan::verify_intervals()+0x5d9
..........
Command Line: -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.Main Test.java
..........
Current thread (0x00007f71d0346750): JavaThread "C1 CompilerThread0" daemon [_thread_in_native, id=22044, stack(0x00007f71c0012000,0x00007f71c0113000)]
Current CompileTask:
C1: 16017 128 % !b 2 Test::mainTest @ 317 (736 bytes)
Stack: [0x00007f71c0012000,0x00007f71c0113000], sp=0x00007f71c0110bd0, free space=1018k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x582a7b] LinearScan::verify_intervals()+0x5d9
V [libjvm.so+0x5823c2] LinearScan::verify()+0x46
V [libjvm.so+0x581d9e] LinearScan::do_linear_scan()+0x17a
V [libjvm.so+0x4f511a] Compilation::emit_lir()+0x152
V [libjvm.so+0x4f588c] Compilation::compile_java_method()+0x21e
V [libjvm.so+0x4f5bee] Compilation::compile_method()+0x106
V [libjvm.so+0x4f63ea] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*)+0x362
V [libjvm.so+0x4fa13d] Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xd9
V [libjvm.so+0x6ea926] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x88e
V [libjvm.so+0x6e95b3] CompileBroker::compiler_thread_loop()+0x3df
V [libjvm.so+0x10a0bdf] compiler_thread_entry(JavaThread*, Thread*)+0x69
V [libjvm.so+0x109bd90] JavaThread::thread_main_inner()+0x146
V [libjvm.so+0x109bc41] JavaThread::run()+0x11f
V [libjvm.so+0x1097eca] Thread::call_run()+0x180
V [libjvm.so+0xea6716] thread_native_entry(Thread*)+0x1e4
Attachments
Issue Links
- backported by
-
JDK-8252876 C1: assert(has_error == false) failed: register allocation invalid
- Resolved
-
JDK-8253105 C1: assert(has_error == false) failed: register allocation invalid
- Resolved
- duplicates
-
JDK-8317823 assert(has_error == false) failed: register allocation invalid
- Closed
- relates to
-
JDK-8251093 Improve C1 register allocator logging and debugging support
- Resolved