RFR: 8368893: RISC-V: crash after JDK-8352673 on fastdebug version
Dingli Zhang
dzhang at openjdk.org
Tue Sep 30 02:25:50 UTC 2025
On Mon, 29 Sep 2025 20:24:25 GMT, Hamlin Li <mli at openjdk.org> wrote:
> Hi,
> Can you review this patch?
>
> check https://github.com/openjdk/jdk/pull/24182.
>
> This patch
> * fix the crash,
> * do some simple code cleanup, I don't think this piece of code is necessary:
>
> if (!ext_V.enabled() && FLAG_IS_DEFAULT(UseRVV)) {
> warning("RVV is not supported on this CPU");
> FLAG_SET_DEFAULT(UseRVV, false);
>
>
> ## Crash
> crash when linux version < 6.8.5, with following command:
> * $ java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+UseRVV -version
>
> stack:
>
> Stack: [0x00007f5d4d05a000,0x00007f5d4d25a000], sp=0x00007f5d4d255e80, free space=2031k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V [libjvm.so+0x1661202] VM_Version::cpu_vector_length()+0x42 (vm_version_linux_riscv.cpp:103)
> V [libjvm.so+0x1662b1c] VM_Version::common_initialize()+0x25a (vm_version_riscv.cpp:202)
> V [libjvm.so+0x1662e0a] VM_Version::initialize()+0xc (vm_version_riscv.cpp:61)
> V [libjvm.so+0x1660cca] VM_Version_init()+0x46 (vm_version.cpp:31)
> V [libjvm.so+0xb6c538] init_globals()+0x68 (init.cpp:127)
> V [libjvm.so+0x158daea] Threads::create_vm(JavaVMInitArgs*, bool*)+0x370 (threads.cpp:576)
> V [libjvm.so+0xcd087c] JNI_CreateJavaVM+0x6e (jni.cpp:3587)
> C [libjli.so+0x612c] JavaMain+0x7a (java.c:1499)
> C [libjli.so+0x8eee] ThreadJavaMain+0xc (java_md.c:649)
> C [libc.so.6+0x67552]
> C [libc.so.6+0xb3b86]
>
>
> ## Test
>
>
> java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -version | grep -e UseRVV -e MaxVectorSize
> intx MaxVectorSize = 0 {C2 product} {default}
> bool UseRVV = false {ARCH diagnostic} {default}
>
>
>
>
> java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:-UseRVV -version | grep -e UseRVV -e MaxVectorSize
> intx MaxVectorSize = 0 {C2 product} {default}
> bool UseRVV = false {ARCH diagnostic} {command line}
>
>
>
> java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+UseRVV -version | grep -e UseRVV -e MaxVectorSize
> intx MaxVectorSize = 32 {C2 product} {default}
> bool UseRVV = true {ARCH diagnostic} {command line}
>
>
>
> Thanks
LGTM, thanks!
-------------
Marked as reviewed by dzhang (Author).
PR Review: https://git.openjdk.org/jdk/pull/27557#pullrequestreview-3282366648
More information about the hotspot-dev
mailing list