JDK-8310022 : [lworld] C1 compilation asserts with new lightweight locking
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-valhalla
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-06-14
  • Updated: 2023-06-14
  • Resolved: 2023-06-14
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.
Other
repo-valhallaFixed
Related Reports
Duplicate :  
Relates :  
Description
This is a regression from the recent merge with mainline which brought JDK-8291555 in:

runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java

-Xmx1024m -XX:-ZapUnusedHeapArea -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:LockingMode=2

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (workspace\open\src\hotspot\share\c1/c1_LIR.hpp:436), pid=49736, tid=39020
#  assert(is_single_cpu() && !is_virtual()) failed: type check
#
# JRE version: Java(TM) SE Runtime Environment (21.0) (fastdebug build 21-lworld4ea-LTS-2023-06-13-1417486.tobias.hartmann.valhalla)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-lworld4ea-LTS-2023-06-13-1417486.tobias.hartmann.valhalla, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Core dump will be written. Default location: C:\sb\prod\1686667763\testoutput\test-support\jtreg_open_test_hotspot_jtreg_hotspot_runtime\scratch\1\hs_err_pid49736.mdmp
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -Xmx1024m -XX:-ZapUnusedHeapArea -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:LockingMode=2 optionsvalidation.JVMStartup

Host: win2019-x64-512985, AMD EPYC 7J13 64-Core Processor                , 12 cores, 23G,  Windows Server 2019 , 64 bit Build 17763 (10.0.17763.475)
Time: Tue Jun 13 15:58:36 2023 /GM elapsed time: 0.150294 seconds (0d 0h 0m 0s)

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

Current thread (0x0000015846f2a1c0):  JavaThread "C1 CompilerThread0" daemon [_thread_in_native, id=39020, stack(0x000000208b900000,0x000000208ba00000) (1024K)]


Current CompileTask:
C1:    150   38   !   3       java.util.concurrent.ConcurrentHashMap::putVal (432 bytes)

Stack: [0x000000208b900000,0x000000208ba00000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0xcd3e71]  os::win32::platform_print_native_stack+0xf1  (os_windows_x86.cpp:236)
V  [jvm.dll+0xf83a17]  VMError::report+0x1467  (vmError.cpp:966)
V  [jvm.dll+0xf85d55]  VMError::report_and_die+0x645  (vmError.cpp:1758)
V  [jvm.dll+0xf863f4]  VMError::report_and_die+0x64  (vmError.cpp:1523)
V  [jvm.dll+0x57814b]  report_vm_error+0x5b  (debug.cpp:191)
V  [jvm.dll+0x34fb89]  LIR_Opr::as_register+0x99  (c1_LIR.cpp:38)
V  [jvm.dll+0x363bd3]  LIR_Assembler::emit_lock+0xd3  (c1_LIRAssembler_x86.cpp:3734)
V  [jvm.dll+0x350bf1]  LIR_OpLock::emit_code+0x21  (c1_LIR.cpp:1208)
V  [jvm.dll+0x359c00]  LIR_Assembler::emit_lir_list+0x190  (c1_LIRAssembler.cpp:311)
V  [jvm.dll+0x35940a]  LIR_Assembler::emit_block+0x13a  (c1_LIRAssembler.cpp:276)
V  [jvm.dll+0x3596db]  LIR_Assembler::emit_code+0x7b  (c1_LIRAssembler.cpp:234)
V  [jvm.dll+0x31c147]  Compilation::emit_code_body+0x157  (c1_Compilation.cpp:354)
V  [jvm.dll+0x31bb98]  Compilation::compile_java_method+0x2a8  (c1_Compilation.cpp:415)
V  [jvm.dll+0x31bdaf]  Compilation::compile_method+0x19f  (c1_Compilation.cpp:477)
V  [jvm.dll+0x31a8f9]  Compilation::Compilation+0x2d9  (c1_Compilation.cpp:607)
V  [jvm.dll+0x31d285]  Compiler::compile_method+0xa5  (c1_Compiler.cpp:255)
V  [jvm.dll+0x51c417]  CompileBroker::invoke_compiler_on_method+0x897  (compileBroker.cpp:2268)
V  [jvm.dll+0x519815]  CompileBroker::compiler_thread_loop+0x395  (compileBroker.cpp:1945)
V  [jvm.dll+0x8528d9]  JavaThread::thread_main_inner+0x279  (javaThread.cpp:721)
V  [jvm.dll+0xeec50d]  Thread::call_run+0x1cd  (thread.cpp:222)
V  [jvm.dll+0xcd2532]  os::win32::thread_native_entry+0xa2  (os_windows.cpp:554)
C  [ucrtbase.dll+0x2268a]
C  [KERNEL32.DLL+0x17974]
C  [ntdll.dll+0x5a0b1]


Different failure mode with:

java -Xmx1024m -XX:-ZapUnusedHeapArea -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:LockingMode=2 -Xcomp

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/oracle/valhalla/open/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp:332), pid=2668007, tid=2668021
#  assert(LockingMode != LM_LIGHTWEIGHT) failed: LM_LIGHTWEIGHT not yet compatible with EnableValhalla
#
# JRE version: Java(TM) SE Runtime Environment (21.0) (fastdebug build 21-lworld4ea-LTS-2023-06-02-1135579.tobias...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-lworld4ea-LTS-2023-06-02-1135579.tobias..., compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x7e0aae]  LIRGenerator::do_MonitorEnter(MonitorEnter*)+0x40e
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /oracle/valhalla/open/hs_err_pid2668007.log
#
# Compiler replay data is saved as:
# /oracle/valhalla/open/replay_pid2668007.log
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#

Comments
A pull request was submitted for review. URL: https://git.openjdk.org/valhalla/pull/862 Date: 2023-06-14 14:09:27 +0000
14-06-2023