When running test java/lang/ThreadLocal/Basic.java with --enable-preview and -Xcomp, the VM crashes with the following message:
#
# Internal Error (/open/src/hotspot/share/opto/output.cpp:1116), pid=276144, tid=276161
# assert(!method || !method->is_synchronized() || method->is_native() || num_mon > 0 || !GenerateSynchronizationCode) failed: monitors must always exist for synchronized methods
#
# JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-06-21-1558186.fred...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-06-21-1558186.fred..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x158558c] PhaseOutput::Process_OopMap_Node(MachNode*, int)+0x1d1c
#
Stack trace:
--------------- T H R E A D ---------------
Current thread (0x0000733f6846e550): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=276161, stack(0x0000733f4c000000,0x0000733f4c100000) (1024K)]
Current CompileTask:
C2:106624 11914 s b 4 Basic$1::initialValue (19 bytes)
Stack: [0x0000733f4c000000,0x0000733f4c100000], sp=0x0000733f4c0fb940, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x158558c] PhaseOutput::Process_OopMap_Node(MachNode*, int)+0x1d1c (output.cpp:1116)
V [libjvm.so+0x1586e3a] PhaseOutput::fill_buffer(CodeBuffer*, unsigned int*)+0x79a (output.cpp:1637)
V [libjvm.so+0x158a03c] PhaseOutput::Output()+0xa6c (output.cpp:410)
V [libjvm.so+0xa381fc] Compile::Code_Gen()+0x4ac (compile.cpp:3527)
V [libjvm.so+0xa3afa8] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1de8 (compile.cpp:917)
V [libjvm.so+0x878ce2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
V [libjvm.so+0xa46cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2305)
V [libjvm.so+0xa47968] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1964)
V [libjvm.so+0xf4987c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
V [libjvm.so+0x1875f56] Thread::call_run()+0xb6 (thread.cpp:221)
V [libjvm.so+0x155fd87] thread_native_entry(Thread*)+0x127 (os_linux.cpp:816)
C [libc.so.6+0x9ca94]
Registers:
RAX=0x0000733f6fa89000, RBX=0x0000000000000001, RCX=0x0000733f6f0e0fa8, RDX=0x0000733f6f0e0fe0
RSP=0x0000733f4c0fb940, RBP=0x0000733f4c0fba50, RSI=0x000000000000045c, RDI=0x0000733f6f0dfeb8
R8 =0x0000000000006b18, R9 =0x0000733efe6b5510, R10=0x0000000000000000, R11=0x0000000000000000
R12=0x0000000000000001, R13=0x0000000000000001, R14=0x0000000000000000, R15=0x0000000000000000
RIP=0x0000733f6e98558c, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e
#
# Internal Error (/open/src/hotspot/share/opto/output.cpp:1116), pid=276144, tid=276161
# assert(!method || !method->is_synchronized() || method->is_native() || num_mon > 0 || !GenerateSynchronizationCode) failed: monitors must always exist for synchronized methods
#
# JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-06-21-1558186.fred...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-06-21-1558186.fred..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x158558c] PhaseOutput::Process_OopMap_Node(MachNode*, int)+0x1d1c
#
Stack trace:
--------------- T H R E A D ---------------
Current thread (0x0000733f6846e550): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=276161, stack(0x0000733f4c000000,0x0000733f4c100000) (1024K)]
Current CompileTask:
C2:106624 11914 s b 4 Basic$1::initialValue (19 bytes)
Stack: [0x0000733f4c000000,0x0000733f4c100000], sp=0x0000733f4c0fb940, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x158558c] PhaseOutput::Process_OopMap_Node(MachNode*, int)+0x1d1c (output.cpp:1116)
V [libjvm.so+0x1586e3a] PhaseOutput::fill_buffer(CodeBuffer*, unsigned int*)+0x79a (output.cpp:1637)
V [libjvm.so+0x158a03c] PhaseOutput::Output()+0xa6c (output.cpp:410)
V [libjvm.so+0xa381fc] Compile::Code_Gen()+0x4ac (compile.cpp:3527)
V [libjvm.so+0xa3afa8] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1de8 (compile.cpp:917)
V [libjvm.so+0x878ce2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
V [libjvm.so+0xa46cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2305)
V [libjvm.so+0xa47968] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1964)
V [libjvm.so+0xf4987c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
V [libjvm.so+0x1875f56] Thread::call_run()+0xb6 (thread.cpp:221)
V [libjvm.so+0x155fd87] thread_native_entry(Thread*)+0x127 (os_linux.cpp:816)
C [libc.so.6+0x9ca94]
Registers:
RAX=0x0000733f6fa89000, RBX=0x0000000000000001, RCX=0x0000733f6f0e0fa8, RDX=0x0000733f6f0e0fe0
RSP=0x0000733f4c0fb940, RBP=0x0000733f4c0fba50, RSI=0x000000000000045c, RDI=0x0000733f6f0dfeb8
R8 =0x0000000000006b18, R9 =0x0000733efe6b5510, R10=0x0000000000000000, R11=0x0000000000000000
R12=0x0000000000000001, R13=0x0000000000000001, R14=0x0000000000000000, R15=0x0000000000000000
RIP=0x0000733f6e98558c, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e
- links to
-
Commit(lworld) openjdk/valhalla/a7f3d20b
-
Review(lworld) openjdk/valhalla/1206