RFR: 8368893: RISC-V: crash after JDK-8352673 on fastdebug version

Hamlin Li mli at openjdk.org
Mon Sep 29 20:33:48 UTC 2025


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

-------------

Commit messages:
 - initial commit
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - initial commit

Changes: https://git.openjdk.org/jdk/pull/27557/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27557&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8368893
  Stats: 8 lines in 2 files changed: 0 ins; 6 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/27557.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27557/head:pull/27557

PR: https://git.openjdk.org/jdk/pull/27557


More information about the hotspot-dev mailing list