JDK-8315003 : [lworld] C2: Implement full support for JDK-8287061 and JDK-8316991
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-valhalla
  • Priority: P2
  • Status: In Progress
  • Resolution: Unresolved
  • Submitted: 2023-08-25
  • Updated: 2024-09-16
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-valhallaUnresolved
Related Reports
Relates :  
Relates :  
Description
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/workspace/open/src/hotspot/share/opto/escape.cpp:709), pid=4029982, tid=4029998
#  guarantee(value_worklist.size() == 0) failed: Unimplemented: Valhalla support for 8287061
#
# JRE version: Java(TM) SE Runtime Environment (22.0) (fastdebug build 22-lworld4ea-2024-03-27-1420197.tobias.hartmann.valhalla)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-lworld4ea-2024-03-27-1420197.tobias.hartmann.valhalla, mixed mode, tiered, compressed class ptrs, serial gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0xbe9a2a]  ConnectionGraph::reduce_phi_on_safepoints(PhiNode*, Unique_Node_List*)+0x101a
#
# Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/0db9c48f-6638-40d0-9a4b-bd9cc7533eb8-S39931/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/c85d5f2e-e907-4bd9-a294-528ae5c1737f/runs/823736aa-47f0-4936-a5fa-ecc65c88a61a/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_compiler_all_gcs/scratch/0/core.4029982)
#
# 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 ------------


Current CompileTask:
C2:3450 1185    b  4       compiler.valhalla.inlinetypes.TestBasicFunctionality::test12 (133 bytes)

Stack: [0x00007fc56a0ec000,0x00007fc56a1ec000],  sp=0x00007fc56a1e6b50,  free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xbe9a2a]  ConnectionGraph::reduce_phi_on_safepoints(PhiNode*, Unique_Node_List*)+0x101a  (escape.cpp:709)
V  [libjvm.so+0xbe9db6]  ConnectionGraph::reduce_phi(PhiNode*)+0x2d6  (escape.cpp:777)
V  [libjvm.so+0xc03fa9]  ConnectionGraph::compute_escape()+0x27d9  (escape.cpp:429)
V  [libjvm.so+0xc04551]  ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0xf1  (escape.cpp:117)
V  [libjvm.so+0xa2809f]  Compile::Optimize()+0x85f  (compile.cpp:2818)
V  [libjvm.so+0xa2bef8]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1cb8  (compile.cpp:868)
V  [libjvm.so+0x864903]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f3  (c2compiler.cpp:135)
V  [libjvm.so+0xa3789c]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c  (compileBroker.cpp:2305)
V  [libjvm.so+0xa38528]  CompileBroker::compiler_thread_loop()+0x468  (compileBroker.cpp:1964)
V  [libjvm.so+0xf1cdfc]  JavaThread::thread_main_inner()+0xcc  (javaThread.cpp:721)
V  [libjvm.so+0x1822796]  Thread::call_run()+0xb6  (thread.cpp:220)
V  [libjvm.so+0x1514287]  thread_native_entry(Thread*)+0x127  (os_linux.cpp:787)
Registers:
RAX=0x00007fc5c679f000, RBX=0x00007fc540611510, RCX=0x00007fc5c5f1e220, RDX=0x00007fc5c5f1e250
RSP=0x00007fc56a1e6b50, RBP=0x00007fc56a1e6ca0, RSI=0x00000000000002c5, RDI=0x00007fc5c5f1dd70
R8 =0x0000000000000000, R9 =0x00007fc5403589f0, R10=0x00007fc56a1e6a00, R11=0x00000000000003e8
R12=0x00007fc540366210, R13=0x0000000000000002, R14=0x0000000000000010, R15=0x00007fc56a1e6c28
RIP=0x00007fc5c4f22a2a, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
Comments
When merging JDK-8316991 into Valhalla, I had to disable more code and problem list compiler/c2/irTests/scalarReplacement/AllocationMergesTests.java, see "// TODO 8315003". At the time of writing, this is still only in Mr. Simms private branch and will be merged to lworld soon: https://github.com/MrSimms/valhalla/commit/b535a8e709b6536b89e109f3b4c6fcce8a72fe7c
06-09-2024

I disabled the test with https://github.com/openjdk/valhalla/pull/1102
08-05-2024