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

Hamlin Li mli at openjdk.org
Wed Oct 1 08:25:03 UTC 2025


On Tue, 30 Sep 2025 02:21:48 GMT, Fei Yang <fyang 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 lin...
>
> Thanks!

Thank you @RealFYang @DingliZhang for reviewing!

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

PR Comment: https://git.openjdk.org/jdk/pull/27557#issuecomment-3355257774


More information about the hotspot-dev mailing list