-
Bug
-
Resolution: Unresolved
-
P3
-
19, 21, 24, 25
I found this with the Template Framework JDK-8344942.
I could not extract a stand-alone Java file, only one embedded in a JTREG test. Maybe this is because of profiling?
Still: I spent some hours reproducing this, and credit in the PR would be highly appreciated.
I also improved the assert with this patch, it would be good if that or an even better version would be integrated:
assert((is_integral_type(bt) && bt != T_LONG) || is_signed, "sopc=%s, bt=%s, is_signed=%s",
NodeClassNames[sopc], type2name(bt), is_signed ? "true" : "false");
I ran it with jtreg, and extra vmFlags:
-XX:-TieredCompilation -Xbatch
/oracle-work/jtreg/bin/jtreg -va -s -jdk:/oracle-work/jdk-fork0/build/linux-x64-debug/images/jdk -javaoptions:"-XX:-TieredCompilation -Xbatch" -J-Djavatest.maxOutputSize=10000000 /oracle-work/jdk-fork0/open/test/hotspot/jtreg/compiler/vectorapi/TestCast.java
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/oracle-work/jdk-fork0/open/src/hotspot/share/opto/vectornode.cpp:1495), pid=2057327, tid=2057346
# assert((is_integral_type(bt) && bt != T_LONG) || is_signed) failed: sopc=(null), bt=float, is_signed=false
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-03-11-0926490.emanuel...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-03-11-0926490.emanuel..., mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x19e0c68] VectorCastNode::opcode(int, BasicType, bool)+0x208
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /oracle-work/jdk-fork0/build/linux-x64-debug/jdk/bin/JTwork/scratch/core.2057327)
#
Unsupported internal testing APIs have been used.
# An error report file with more information is saved as:
# /oracle-work/jdk-fork0/build/linux-x64-debug/jdk/bin/JTwork/scratch/hs_err_pid2057327.log
#
# Compiler replay data is saved as:
# /oracle-work/jdk-fork0/build/linux-x64-debug/jdk/bin/JTwork/scratch/replay_pid2057327.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
Current CompileTask:
C2:374 66 b compiler.vectorapi.TestCast::test_328 (98 bytes)
Stack: [0x00007a227d800000,0x00007a227d900000], sp=0x00007a227d8faa40, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x19e0c68] VectorCastNode::opcode(int, BasicType, bool)+0x208 (vectornode.cpp:1495)
V [libjvm.so+0x19c6f26] LibraryCallKit::inline_vector_convert()+0x9f6 (vectorIntrinsics.cpp:2342)
V [libjvm.so+0x133b902] LibraryIntrinsic::generate(JVMState*)+0x262 (library_call.cpp:119)
V [libjvm.so+0x8cc67b] CallGenerator::do_late_inline_helper()+0xa1b (callGenerator.cpp:675)
V [libjvm.so+0xa7cf4e] Compile::inline_incrementally_one()+0x11e (compile.cpp:2089)
V [libjvm.so+0xa7e01b] Compile::inline_incrementally(PhaseIterGVN&)+0x37b (compile.cpp:2172)
V [libjvm.so+0xa80906] Compile::Optimize()+0x476 (compile.cpp:2305)
V [libjvm.so+0xa8420f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1ecf (compile.cpp:858)
V [libjvm.so+0x8c3d00] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x440 (c2compiler.cpp:141)
V [libjvm.so+0xa91cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xbfc (compileBroker.cpp:2331)
V [libjvm.so+0xa92c28] CompileBroker::compiler_thread_loop()+0x598 (compileBroker.cpp:1975)
V [libjvm.so+0xf7eb0f] JavaThread::thread_main_inner()+0x12f (javaThread.cpp:776)
V [libjvm.so+0x1947b56] Thread::call_run()+0xb6 (thread.cpp:231)
V [libjvm.so+0x15fa1b8] thread_native_entry(Thread*)+0x128 (os_linux.cpp:877)
C [libc.so.6+0x9caa4]
I could not extract a stand-alone Java file, only one embedded in a JTREG test. Maybe this is because of profiling?
Still: I spent some hours reproducing this, and credit in the PR would be highly appreciated.
I also improved the assert with this patch, it would be good if that or an even better version would be integrated:
assert((is_integral_type(bt) && bt != T_LONG) || is_signed, "sopc=%s, bt=%s, is_signed=%s",
NodeClassNames[sopc], type2name(bt), is_signed ? "true" : "false");
I ran it with jtreg, and extra vmFlags:
-XX:-TieredCompilation -Xbatch
/oracle-work/jtreg/bin/jtreg -va -s -jdk:/oracle-work/jdk-fork0/build/linux-x64-debug/images/jdk -javaoptions:"-XX:-TieredCompilation -Xbatch" -J-Djavatest.maxOutputSize=10000000 /oracle-work/jdk-fork0/open/test/hotspot/jtreg/compiler/vectorapi/TestCast.java
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/oracle-work/jdk-fork0/open/src/hotspot/share/opto/vectornode.cpp:1495), pid=2057327, tid=2057346
# assert((is_integral_type(bt) && bt != T_LONG) || is_signed) failed: sopc=(null), bt=float, is_signed=false
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-03-11-0926490.emanuel...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-03-11-0926490.emanuel..., mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x19e0c68] VectorCastNode::opcode(int, BasicType, bool)+0x208
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /oracle-work/jdk-fork0/build/linux-x64-debug/jdk/bin/JTwork/scratch/core.2057327)
#
Unsupported internal testing APIs have been used.
# An error report file with more information is saved as:
# /oracle-work/jdk-fork0/build/linux-x64-debug/jdk/bin/JTwork/scratch/hs_err_pid2057327.log
#
# Compiler replay data is saved as:
# /oracle-work/jdk-fork0/build/linux-x64-debug/jdk/bin/JTwork/scratch/replay_pid2057327.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
Current CompileTask:
C2:374 66 b compiler.vectorapi.TestCast::test_328 (98 bytes)
Stack: [0x00007a227d800000,0x00007a227d900000], sp=0x00007a227d8faa40, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x19e0c68] VectorCastNode::opcode(int, BasicType, bool)+0x208 (vectornode.cpp:1495)
V [libjvm.so+0x19c6f26] LibraryCallKit::inline_vector_convert()+0x9f6 (vectorIntrinsics.cpp:2342)
V [libjvm.so+0x133b902] LibraryIntrinsic::generate(JVMState*)+0x262 (library_call.cpp:119)
V [libjvm.so+0x8cc67b] CallGenerator::do_late_inline_helper()+0xa1b (callGenerator.cpp:675)
V [libjvm.so+0xa7cf4e] Compile::inline_incrementally_one()+0x11e (compile.cpp:2089)
V [libjvm.so+0xa7e01b] Compile::inline_incrementally(PhaseIterGVN&)+0x37b (compile.cpp:2172)
V [libjvm.so+0xa80906] Compile::Optimize()+0x476 (compile.cpp:2305)
V [libjvm.so+0xa8420f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1ecf (compile.cpp:858)
V [libjvm.so+0x8c3d00] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x440 (c2compiler.cpp:141)
V [libjvm.so+0xa91cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xbfc (compileBroker.cpp:2331)
V [libjvm.so+0xa92c28] CompileBroker::compiler_thread_loop()+0x598 (compileBroker.cpp:1975)
V [libjvm.so+0xf7eb0f] JavaThread::thread_main_inner()+0x12f (javaThread.cpp:776)
V [libjvm.so+0x1947b56] Thread::call_run()+0xb6 (thread.cpp:231)
V [libjvm.so+0x15fa1b8] thread_native_entry(Thread*)+0x128 (os_linux.cpp:877)
C [libc.so.6+0x9caa4]