dragonwell-project / dragonwell11

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

[upstream][jdk24][extended-11.0.25.22.9][standard-11.0.25.21.9]vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/TestDescription.java随机报错exit code is 137 #886

Open sendaoYan opened 1 week ago

sendaoYan commented 1 week ago

extended:https://tone.aliyun-inc.com/ws/xesljfzh/test_result/398084
standard: https://tone.aliyun-inc.com/ws/xesljfzh/test_result/397375

【环境准备】

BINARY_URL=oss://dragonwell/11.0.25.22.9-test-dragonwell_extended/Alibaba_Dragonwell_Extended_11.0.25.22.9_aarch64_linux.tar.gz
TEST_IMAGE=oss://dragonwell/11.0.25.22.9-test-dragonwell_extended/Alibaba_Dragonwell_Extended_11.0.25.22.9_aarch64_linux-testimage.tar.gz
JTREG_URL=oss://compiler-ci-bucket/jdk/tools/jtreg-7.3.1.1.zip
JDK_REPO=git@github.com:dragonwell-project/dragonwell11.git
JDK_BRANCH=dragonwell_extended-11.0.25.22.9
cd ~/tone/tone-matrix-compiler/common;./ossutil.bin_$(arch) -i;cd -
alias oss="~/tone/tone-matrix-compiler/common/ossutil.bin_$(arch) -e oss-cn-hangzhou.aliyuncs.com -u jvm_dev-b  ~/tone/tone-matrix-compiler/common/ossutil_bin/ossutil -o download -f -r"

部署二进制:
oss $BINARY_URL -l ${BINARY_URL##*/}
mkdir bin-dragonwell11;tar -xf ${BINARY_URL##*/} -C bin-dragonwell11
oss $TEST_IMAGE-l ${TEST_IMAGE##*/}
mkdir images-dragonwell11;tar -xf ${BINARY_URL##*/} -C images-dragonwell11

部署jtreg工具:
oss $JTREG_URL -l ${JTREG_URL##*/};unzip ${JTREG_URL##*/}

部署用例repo
git clone -b $JDK_BRANCH $JDK_REPO jdk-repo-dragonwell11

执行以下命令:
cd bin-dragonwell11&& export JAVA_HOME=$PWD ; export PATH=$JAVA_HOME/bin:$PATH ; export TEST_JDK_HOME=$JAVA_HOME && cd -
cd jtreg ;export JT_HOME=$PWD ; export PATH=$PWD/bin:$PATH;cd -

test=jdk-repo-dragonwell11/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/TestDescription.java
args="-Djdk.lang.processReaperUseDefaultStackSize=true -Dtest.wisp.socketAddress=www.alibabacloud.com -Xmixed -ea -esa"
native="-nativepath:$(pwd)/images-ajdk11/test-image/hotspot/jtreg/native/"

jtreg  -nr -v:fail,error -w tmp  $args $native  $test

【测试分析】
x64和aarch64都有问题,失败率1/10,手动执行时-nativepath参数要用绝对路径,复现命令:

function runJtreg() { jtreg  -Xmixed -nativepath:$(pwd)/images-dragonwell11/dragonwell-11.0.24.21+8-ga-test-image/hotspot/jtreg/native/ -timeoutFactor:4 -v:fail,error,time -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 | sed "s|#|_|"` ; rm -rf $dir ; mkdir -p $dir ; time seq 10 | xargs -i -n 1 -P 4 bash -c "runJtreg {}" ; echo total fail number: `ls $dir/*.log 2> /dev/null | wc | awk '{print $1}'`
2
real    0m50.068s
user    7m30.327s
sys     1m49.577s
total fail number: 1

【对比测试】

dragonwell11 extended release同样问题
oss://dragonwell/11.0.24.21.8/Alibaba_Dragonwell_Extended_11.0.24.21.8_aarch64_linux.tar.gz

Temurin11 同样问题
oss://compiler-ci-bucket/openjdk/jdk-11.0.25-ga/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.25_9.tar.gz

【用例日志】

STDERR:
java.lang.AssertionError: [/home/dongzhichun/tone/dragonwell11/bin-dragonwell11/dragonwell-11.0.24.21+8-ga/bin/java, -Xmixed, -cp, /home/dongzhichun/tone/dragonwell11/tmp-jtreg-TestDescription/index-2/classes/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/TestDescription.d:/home/dongzhichun/tone/dragonwell11/tmp-jtreg-TestDescription/index-2/classes/vmTestbase:/home/dongzhichun/tone/dragonwell11/tmp-jtreg-TestDescription/index-2/classes/test/lib, -Djava.library.path=/home/dongzhichun/tone/dragonwell11/images-dragonwell11/dragonwell-11.0.24.21+8-ga-test-image/hotspot/jtreg/native, -agentlib:ap12t001=-waittime=5 -verbose, -XX:-UseGCOverheadLimit, nsk.jvmti.scenarios.allocation.AP12.ap12t001] exit code is 137
        at ExecDriver.main(ExecDriver.java:137)
        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 PropertyResolvingWrapper.main(PropertyResolvingWrapper.java:104)
        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$MainTask.run(MainWrapper.java:138)
        at java.base/java.lang.Thread.run(Thread.java:955)

JavaTest Message: Test threw exception: java.lang.AssertionError: [/home/dongzhichun/tone/dragonwell11/bin-dragonwell11/dragonwell-11.0.24.21+8-ga/bin/java, -Xmixed, -cp, /home/dongzhichun/tone/dragonwell11/tmp-jtreg-TestDescription/index-2/classes/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/TestDescription.d:/home/dongzhichun/tone/dragonwell11/tmp-jtreg-TestDescription/index-2/classes/vmTestbase:/home/dongzhichun/tone/dragonwell11/tmp-jtreg-TestDescription/index-2/classes/test/lib, -Djava.library.path=/home/dongzhichun/tone/dragonwell11/images-dragonwell11/dragonwell-11.0.24.21+8-ga-test-image/hotspot/jtreg/native, -agentlib:ap12t001=-waittime=5 -verbose, -XX:-UseGCOverheadLimit, nsk.jvmti.scenarios.allocation.AP12.ap12t001] exit code is 137
JavaTest Message: shutting down test

【jdk版本信息】

java -version;java -Xinternalversion
openjdk version "11.0.25.21" 2024-10-15
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.24.21+8-ga (build 11.0.25.21+8)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.24.21+8-ga (build 11.0.25.21+8, mixed mode)
OpenJDK 64-Bit Server VM (11.0.25.21+8) for linux-aarch64 JRE (11.0.25.21+8), built on Nov  4 2024 09:22:03 by "" with gcc 7.5.0

【系统版本信息】

uname -a ; cat /etc/os-release ; free -h ; lscpu | head -n 25
Linux CompilerTest-aarch64-2 5.10.134-16.1.al8.aarch64 #1 SMP Thu Dec 7 22:04:51 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
UPDATE_ID="9"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"

              total        used        free      shared  buff/cache   available
Mem:          122Gi       948Mi       121Gi       1.0Mi       590Mi       120Gi
Swap:            0B          0B          0B
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  1
Core(s) per socket:  32
Socket(s):           1
NUMA node(s):        1
Vendor ID:           ARM
Model:               0
Model name:          Neoverse-N2
Stepping:            r0p0
CPU MHz:             3000.000
CPU max MHz:         3000.0000
CPU min MHz:         3000.0000
BogoMIPS:            100.00
L1d cache:           64K
L1i cache:           64K
L2 cache:            1024K
L3 cache:            65536K
NUMA node0 CPU(s):   0-31
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm ssbs sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh
sendaoYan commented 1 week ago

https://code.alibaba-inc.com/os-quality/tone-matrix-compiler/codereview/19049734

sendaoYan commented 1 week ago

image