dragonwell-project / dragonwell11

Alibaba Dragonwell11 JDK
https://www.aliyun.com/product/dragonwell
GNU General Public License v2.0
557 stars 112 forks source link

[riscv64]java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java随机失败 #776

Closed sendaoYan closed 5 months ago

sendaoYan commented 7 months ago

job: https://tone.aliyun-inc.com/ws/xesljfzh/test_result/266417

Steps to Reproduce Steps to reproduce the behavior:

export test=test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java
function runJtreg() { jtreg -ea -esa -timeoutFactor:4 -v:fail,error,time,nopass -nr -w $dir/index-$1 $test &> $dir/$1.log ; if [[ 0 -ne $? ]] ; then echo -n "$1 " ; else rm -rf $dir/index-$1 $dir/$1.log ; fi ; } ; export -f runJtreg ; export dir="tmp-jtreg-"`basename ${test##* } .java` ; rm -rf $dir ; mkdir -p $dir ; time seq 100 | xargs -i -n 1 -P 16 bash -c "runJtreg {}" ; echo total fail number: `ls $dir/*.log 2> /dev/null | wc | awk '{print $1}'`

result

STDOUT:
config VarHandleTestAccessFloat.setup(): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Instance final field", VarHandleBaseTest$VarHandleAccessTestCase@4897a53): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Instance final field unsupported", VarHandleBaseTest$VarHandleAccessTestCase@258b84d0): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Static final field", VarHandleBaseTest$VarHandleAccessTestCase@28e74f11): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Static final field unsupported", VarHandleBaseTest$VarHandleAccessTestCase@430ed2a8): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Instance field", VarHandle -> Instance field): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Instance field unsupported", VarHandleBaseTest$VarHandleAccessTestCase@673d795b): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Static field", VarHandle -> Static field): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Static field unsupported", VarHandleBaseTest$VarHandleAccessTestCase@3b0ebf39): success
test VarHandleTestAccessFloat.testAccess("VarHandle -> Array", VarHandle -> Array): failure
java.lang.AssertionError: success weakCompareAndSetPlain float expected [true] but found [false]
    at org.testng.Assert.fail(Assert.java:99)
    at org.testng.Assert.failNotEquals(Assert.java:1037)
    at org.testng.Assert.assertEqualsImpl(Assert.java:140)
    at org.testng.Assert.assertEquals(Assert.java:122)
    at org.testng.Assert.assertEquals(Assert.java:819)
    at VarHandleTestAccessFloat.testArray(VarHandleTestAccessFloat.java:1009)
    at VarHandleBaseTest$AccessTestCase.testAccess(VarHandleBaseTest.java:405)
    at VarHandleTestAccessFloat.testAccess(VarHandleTestAccessFloat.java:225)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
    at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
    at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
    at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
    at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
    at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at org.testng.TestRunner.privateRun(TestRunner.java:764)
    at org.testng.TestRunner.run(TestRunner.java:585)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
    at org.testng.SuiteRunner.run(SuiteRunner.java:286)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.runSuites(TestNG.java:1069)
    at org.testng.TestNG.run(TestNG.java:1037)
    at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
    at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
    at java.base/java.lang.Thread.run(Thread.java:955)

复现概率:16/100

1.log 5.log 15.log 23.log 38.log 43.log 54.log 59.log 68.log 73.log 75.log 77.log 86.log 91.log 93.log 100.log

JDK version Execution environment

> uname -a ; cat /etc/os-release ; free -h ; lscpu | head -n 25 ; java -version ; java -Xinternalversion
Linux fedora-riscv 6.1.22 #2 SMP Thu May  4 19:24:40 CST 2023 riscv64 GNU/Linux
NAME="Fedora Linux"
VERSION="38 (Workstation Edition)"
ID=fedora
VERSION_ID=38
VERSION_CODENAME=""
PLATFORM_ID="platform:f38"
PRETTY_NAME="Fedora Linux 38 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:38"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f38/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=38
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=38
SUPPORT_END=2024-05-14
VARIANT="Workstation Edition"
VARIANT_ID=workstation
               total        used        free      shared  buff/cache   available
Mem:            62Gi       3.2Gi        54Gi       9.0Mi       5.3Gi        59Gi
Swap:          8.0Gi          0B       8.0Gi
Architecture:        riscv64
Byte Order:          Little Endian
CPU(s):              64
On-line CPU(s) list: 0-63
NUMA node(s):        4
NUMA node0 CPU(s):   0-7,16-23
NUMA node1 CPU(s):   8-15,24-31
NUMA node2 CPU(s):   32-39,48-55
NUMA node3 CPU(s):   40-47,56-63
openjdk version "11.0.21.18" 2023-10-17
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.21.18+9-GA (build 11.0.21.18+9)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.21.18+9-GA (build 11.0.21.18+9, mixed mode)
OpenJDK 64-Bit Server VM (11.0.21.18+9) for linux-riscv64 JRE (11.0.21.18+9), built on Jan  4 2024 12:35:45 by "" with gcc 9.2.0
sendaoYan commented 7 months ago

job: https://tone.aliyun-inc.com/ws/xesljfzh/test_result/268255?tab=1

java/lang/invoke/VarHandles/VarHandleTestAccessString.java 应该是类似的问题

test VarHandleTestAccessString.testAccess("VarHandle -> Array", VarHandle -> Array): failure
java.lang.AssertionError: success weakCompareAndSetPlain String expected [true] but found [false]
    at org.testng.Assert.fail(Assert.java:99)
    at org.testng.Assert.failNotEquals(Assert.java:1037)
    at org.testng.Assert.assertEqualsImpl(Assert.java:140)
    at org.testng.Assert.assertEquals(Assert.java:122)
    at org.testng.Assert.assertEquals(Assert.java:819)
    at VarHandleTestAccessString.testArray(VarHandleTestAccessString.java:1006)
    at VarHandleBaseTest$AccessTestCase.testAccess(VarHandleBaseTest.java:405)
    at VarHandleTestAccessString.testAccess(VarHandleTestAccessString.java:232)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
    at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
    at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
    at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
    at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
    at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at org.testng.TestRunner.privateRun(TestRunner.java:764)
    at org.testng.TestRunner.run(TestRunner.java:585)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
    at org.testng.SuiteRunner.run(SuiteRunner.java:286)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.runSuites(TestNG.java:1069)
    at org.testng.TestNG.run(TestNG.java:1037)
    at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
    at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
    at java.base/java.lang.Thread.run(Thread.java:955)
test VarHandleTestAccessString.testAccess("VarHandle -> Array Object[]", VarHandle -> Array Object[]): failure
java.lang.AssertionError: success weakCompareAndSetPlain String expected [true] but found [false]
    at org.testng.Assert.fail(Assert.java:99)
    at org.testng.Assert.failNotEquals(Assert.java:1037)
    at org.testng.Assert.assertEqualsImpl(Assert.java:140)
    at org.testng.Assert.assertEquals(Assert.java:122)
    at org.testng.Assert.assertEquals(Assert.java:819)
    at VarHandleTestAccessString.testArray(VarHandleTestAccessString.java:1006)
    at VarHandleBaseTest$AccessTestCase.testAccess(VarHandleBaseTest.java:405)
    at VarHandleTestAccessString.testAccess(VarHandleTestAccessString.java:232)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
    at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
    at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
    at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
    at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
    at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at org.testng.TestRunner.privateRun(TestRunner.java:764)
    at org.testng.TestRunner.run(TestRunner.java:585)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
    at org.testng.SuiteRunner.run(SuiteRunner.java:286)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.runSuites(TestNG.java:1069)
    at org.testng.TestNG.run(TestNG.java:1037)
    at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
    at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
    at java.base/java.lang.Thread.run(Thread.java:955)

jtreg.stdout.log

sendaoYan commented 7 months ago

job: https://tone.aliyun-inc.com/ws/xesljfzh/test_result/268256 如下三个用例现象类似: java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java java/lang/invoke/VarHandles/VarHandleTestAccessInt.java java/lang/invoke/VarHandles/VarHandleTestAccessString.java

sendaoYan commented 7 months ago

job: https://tone.aliyun-inc.com/ws/xesljfzh/test_result/268987 如下三个用例现象类似: java/lang/invoke/VarHandles/VarHandleTestAccessByte.java java/lang/invoke/VarHandles/VarHandleTestAccessChar.java java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java

sendaoYan commented 7 months ago

job:https://tone.aliyun-inc.com/ws/xesljfzh/test_result/268988

如下三个用例现象类似: ava/lang/invoke/VarHandles/VarHandleTestAccessByte.java java/lang/invoke/VarHandles/VarHandleTestAccessChar.java java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java

kuaiwei commented 5 months ago

It should be fixed after https://github.com/dragonwell-project/dragonwell11/pull/800