RFR: 8358892: RISC-V: jvm crash when running dacapo sunflow after JDK-8352504 [v7]
Fei Yang
fyang at openjdk.org
Fri Jun 13 06:55:31 UTC 2025
On Thu, 12 Jun 2025 16:57:46 GMT, Hamlin Li <mli at openjdk.org> wrote:
>> Hi,
>> Can you help to review this patch?
>>
>> Thanks!
>>
>> Currently, this issue is only reproducible with Dacapo sunflow.
>> I tried to construct a simpler jtreg test to reproduce the issue, but can not find a way to do it till now, this task is tracked by https://bugs.openjdk.org/browse/JDK-8359045.
>>
>> So, currently I can only verify the code by reviewing it.
>> Or maybe it's better to leave it until we find the test?
>
> Hamlin Li has updated the pull request incrementally with two additional commits since the last revision:
>
> - review Zicond
> - comments
Hi, I changed your test a bit and I see test failure on my linux-riscv64 platform (no Zicond).
diff --git a/test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java b/test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java
index 472c38e009a..77398e1d88b 100644
--- a/test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java
+++ b/test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java
@@ -98,11 +98,11 @@ public static int test_float_BoolTest_ge(float x, float y) {
// when neither is NaN, and x > y
// return 0
// when neither is NaN, and x <= y
- return !(x <= y) ? 1 : 0;
+ return !(x <= y) ? 10 : 20;
}
@DontCompile
public static int golden_float_BoolTest_ge(float x, float y) {
- return !(x <= y) ? 1 : 0;
+ return !(x <= y) ? 10 : 20;
}
@Test
@@ -113,11 +113,11 @@ public static int test_double_BoolTest_ge(double x, double y) {
// when neither is NaN, and x > y
// return 0
// when neither is NaN, and x <= y
- return !(x <= y) ? 1 : 0;
+ return !(x <= y) ? 10 : 20;
}
@DontCompile
public static int golden_double_BoolTest_ge(double x, double y) {
- return !(x <= y) ? 1 : 0;
+ return !(x <= y) ? 10 : 20;
}
@Run(test = {"test_float_BoolTest_ge", "test_double_BoolTest_ge"})
$ make test TEST="test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java" JTREG="TIMEOUT_FACTOR=8"
STDERR:
java.lang.RuntimeException: Not trigger BoolTest::ge: expected true, was false
at jdk.test.lib.Asserts.fail(Asserts.java:715)
at jdk.test.lib.Asserts.assertTrue(Asserts.java:545)
at compiler.c2.irTests.TestFPComparison2.main(TestFPComparison2.java:71)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:335)
at java.base/java.lang.Thread.run(Thread.java:1474)
JavaTest Message: Test threw exception: java.lang.RuntimeException
JavaTest Message: shutting down test
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25696#issuecomment-2969282088
More information about the hotspot-compiler-dev
mailing list