dragonwell-releng / dragonwell-adoptium

0 stars 0 forks source link

【ajdk11】com/alibaba/cds下3个用例运行,10%概率报fields missing错误。 #333

Closed owanqian closed 7 months ago

owanqian commented 7 months ago

https://tone.aliyun-inc.com/ws/xesljfzh/test_result/272122?tab=3

【环境准备】

BINARY_URL=http://114.55.64.175:8666/ajdk-backup/11.0.21.21-test-ajdk_ga/OpenJDK11U-jdk_aarch64_linux_ajdk_2024-01-23-07-08.tar.gz
TEST_IMAGE=http://114.55.64.175:8666/ajdk-backup/11.0.21.21-test-ajdk_ga/OpenJDK11U-testimage_aarch64_linux_ajdk_2024-01-23-07-08.tar.gz
wget -O  binary.tar.gz $BINARY_URL
mkdir binary-download 
tar xzvf binary.tar.gz -C binary-download
cd binary-download && export JAVA_HOME=$PWD ; export PATH=$JAVA_HOME/bin:$PATH ; export TEST_JDK_HOME=$JAVA_HOME && cd -
wget -O test-image.tar.gz $TEST_IMAGE
make test-image
tar xzvf test-image.tar.gz -C test-image

wget -O jtreg.zip http://114.55.64.175:8666/compiler-ci-bucket/tools/jtreg-6.1.1.zip
unzip jtreg.zip
cd jtreg 
export JT_HOME=$PWD ; export PATH=$PWD/bin:$PATH
cd -

JDK_REPO=https://codeup.aliyun.com/5f4e0dfe6207a1a8b17fa7cf/compiler-test/jdk11.git
JDK_BRANCH=ajdk_ga-11.0.21.21
git clone -b $JDK_BRANCH $JDK_REPO jdk-repo

test=com/alibaba/cds/TestBasicPreinit.java
args='-Xmixed'
native='-nativepath:./test-image/hotspot/jtreg/native'

dir="jt-work" ; rm -rf $dir ; mkdir -p $dir ; time seq 20 | xargs -i -n 1 -P $((`nproc`/2)) bash -c "jtreg -w tmp -nr -v:fail,error $native  $args $test &> $dir/test_{} ; grep 'Test results: passed: 1' -L $dir/test_{}"

复现概率为10%左右。

涉及用例: com/alibaba/cds/TestBasicPreinit.java com/alibaba/cds/TestEnableSubgraphSafetyCheck.java com/alibaba/cds/TestSubgraphSafetyCheck.java

分别对应missing报错如下: java.lang.RuntimeException: 'hs' missing from stdout/stderr java.lang.RuntimeException: 'All fields' missing from stdout/stderr java.lang.RuntimeException: 'Some fields in .*? are not archivable' missing from stdout/stderr

【对比测试】

a11 release 同样问题 http://114.55.64.175:8666/ajdk-backup/11.0.20.20/OpenJDK11U-jdk_aarch64_linux_ajdk_2023-10-11-02-37.tar.gz

[root@VM20190228-137 bin]# ./java -version ; ./java -Xinternalversion
openjdk version "11.0.20.20-AJDK" 2023-10-11
OpenJDK Runtime Environment (Alibaba AJDK) (build 11.0.20.20-AJDK+8-Alibaba)
OpenJDK 64-Bit Server VM (Alibaba AJDK) (build 11.0.20.20-AJDK+8-Alibaba, mixed mode)
OpenJDK 64-Bit Server VM (11.0.20.20-AJDK+8-Alibaba) for linux-amd64 JRE (11.0.20.20-AJDK+8-Alibaba), built on Oct 11 2023 02:42:24 by "" with gcc 7.3.1 20180303 (Red Hat 7.3.1-5)

【用例日志】 comalibabacdsTestSubgraphSafetyCheck.java.txt comalibabacdsTestEnableSubgraphSafetyCheck.java.log

ACTION: main -- Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: 'hs' missing from stdout/stderr
REASON: User specified action: run main/othervm TestBasicPreinit 
TIME:   0.678 seconds
messages:
command: main TestBasicPreinit
reason: User specified action: run main/othervm TestBasicPreinit 
Mode: othervm [/othervm specified]
elapsed time (seconds): 0.678
configuration:
STDOUT:
Command line: [/tmp/tone/run/jtreg/binary-download/jdk-11.0.20.20+0/bin/java -cp /tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d:/tmp/tone/run/jtreg/jdk-repo/test/jdk/com/alibaba/cds:/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/lib/testlibrary:/tmp/tone/run/jtreg/jdk-repo/test/jdk/lib/testlibrary:/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/test/lib:/tmp/tone/run/jtreg/jdk-repo/test/lib:/tmp/tone/run/jtreg/jtreg/lib/javatest.jar:/tmp/tone/run/jtreg/jtreg/lib/jtreg.jar -Djdk.lang.processReaperUseDefaultStackSize=true -Dtest.wisp.socketAddress=www.alibabacloud.com -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+UseVtableBasedCHA -XX:+LightWeightBarrier -XX:+UseCompactObjectHeaders -XX:+UseParallelGC -ea -esa -XX:ExtendedPreInitClassList=/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d/safe_klass_list.log -version ]
[2024-01-23T20:54:31.848573Z] Gathering output for process 710651
[ELAPSED: 57 ms]
[STDERR]
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

[STDOUT]
[0.001s][error][cds,heap] AppCDS is required when using -XX:ExtendedPreInitClassList option

[2024-01-23T20:54:31.896735Z] Waiting for completion for process 710651
[2024-01-23T20:54:31.896835Z] Waiting for completion finished for process 710651
Command line: [/tmp/tone/run/jtreg/binary-download/jdk-11.0.20.20+0/bin/java -cp /tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d:/tmp/tone/run/jtreg/jdk-repo/test/jdk/com/alibaba/cds:/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/lib/testlibrary:/tmp/tone/run/jtreg/jdk-repo/test/jdk/lib/testlibrary:/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/test/lib:/tmp/tone/run/jtreg/jdk-repo/test/lib:/tmp/tone/run/jtreg/jtreg/lib/javatest.jar:/tmp/tone/run/jtreg/jtreg/lib/jtreg.jar -Djdk.lang.processReaperUseDefaultStackSize=true -Dtest.wisp.socketAddress=www.alibabacloud.com -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+UseVtableBasedCHA -XX:+LightWeightBarrier -XX:+UseCompactObjectHeaders -XX:+UseParallelGC -ea -esa -Xshare:off -XX:DumpLoadedClassList=PreInitSample.log -cp /tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d/PreInitSample.jar trivial.PreInitSample ]
[2024-01-23T20:54:31.898451Z] Gathering output for process 710713
[ELAPSED: 114 ms]
[STDERR]

[STDOUT]
666
10
1024
4021

[2024-01-23T20:54:32.011552Z] Waiting for completion for process 710713
[2024-01-23T20:54:32.011627Z] Waiting for completion finished for process 710713
Command line: [/tmp/tone/run/jtreg/binary-download/jdk-11.0.20.20+0/bin/java -cp /tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d:/tmp/tone/run/jtreg/jdk-repo/test/jdk/com/alibaba/cds:/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/lib/testlibrary:/tmp/tone/run/jtreg/jdk-repo/test/jdk/lib/testlibrary:/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/test/lib:/tmp/tone/run/jtreg/jdk-repo/test/lib:/tmp/tone/run/jtreg/jtreg/lib/javatest.jar:/tmp/tone/run/jtreg/jtreg/lib/jtreg.jar -Djdk.lang.processReaperUseDefaultStackSize=true -Dtest.wisp.socketAddress=www.alibabacloud.com -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+UseVtableBasedCHA -XX:+LightWeightBarrier -XX:+UseCompactObjectHeaders -XX:+UseParallelGC -ea -esa -Xshare:dump -Xlog:class+init -Xlog:cds+heap=info -XX:SharedClassListFile=PreInitSample.log -XX:SharedArchiveFile=PreInitSample.jsa -XX:ExtendedPreInitClassList=/tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d/safe_klass_list.log -cp /tmp/tone/run/jtreg/jt-work/test_jdk/classes/36/com/alibaba/cds/TestBasicPreinit.d/PreInitSample.jar trivial.PreInitSample ]
[2024-01-23T20:54:32.012762Z] Gathering output for process 710828
[ELAPSED: 178 ms]
[STDERR]

[STDOUT]
Allocated shared space: 3221225472 bytes at 0x0000000800000000
[0.083s][info][class,init] 441 Initializing 'java/util/zip/CRC32' (0x00000008c006b9f8)
[0.083s][info][class,init] 442 Initializing 'java/security/SecureClassLoader$CodeSourceKey'(no method) (0x00000008c006bea8)
[0.083s][info][class,init] 443 Initializing 'java/security/SecureClassLoader$1'(no method) (0x00000008c006c0d0)
[0.083s][info][class,init] 444 Initializing 'java/util/concurrent/ConcurrentHashMap$ReservationNode'(no method) (0x00000008c001e368)
[0.083s][info][class,init] 445 Initializing 'java/security/PermissionCollection'(no method) (0x00000008c006c340)
[0.083s][info][class,init] 446 Initializing 'sun/security/util/LazyCodeSourcePermissionCollection'(no method) (0x00000008c006c590)
[0.083s][info][class,init] 447 Initializing 'java/security/Permissions' (0x00000008c006c7e8)
[0.083s][info][class,init] 448 Initializing 'java/lang/RuntimePermission'(no method) (0x00000008c006ca40)
[0.083s][info][class,init] 449 Initializing 'java/security/Permissions$1'(no method) (0x00000008c006cca8)
[0.083s][info][class,init] 450 Initializing 'java/security/BasicPermissionCollection' (0x00000008c006cf18)
[0.083s][info][class,init] 451 Initializing 'java/security/SecureClassLoader$DebugHolder' (0x00000008c006d630)
[0.083s][info][class,init] 452 Initializing 'sun/security/util/Debug' (0x00000008c006d850)
[0.083s][info][class,init] Start class verification for: trivial.PreInitSample
[0.084s][info][class,init] End class verification for: trivial.PreInitSample
[0.084s][info][class,init] Start class verification for: trivial.Parent
[0.084s][info][class,init] End class verification for: trivial.Parent
[0.084s][info][class,init] Start class verification for: trivial.ChildA
[0.084s][info][class,init] End class verification for: trivial.ChildA
Loading classes to share: done.
Rewriting and linking classes ...
Rewriting and linking classes: done
[0.086s][info][class,init] 453 Initializing 'trivial/PreInitSample' (0x00000008c0067840)
[0.086s][info][class,init] 454 Initializing 'trivial/Parent'(no method) (0x00000008c0067a60)
[0.086s][info][class,init] 455 Initializing 'trivial/ChildA'(no method) (0x00000008c0067c80)
[0.090s][info][class,init] Pre-initializing trivial/PreInitSample (0x00000008c0067840)
[0.090s][info][cds,heap  ] Total classes:1, Valid classes: 1, Invalid classes: 0, Pre-inited classes:1
Number of classes 680
    instance classes   =   601
    obj array classes  =    71
    type array classes =     8
Updating ConstMethods ... done. 
Removing unshareable information ... done. 
Scanning all metaspace objects ... 
Allocating RW objects ... 
Allocating RO objects ... 
Relocating embedded pointers ... 
Relocating external roots ... 
Dumping symbol table ...
Relocating SystemDictionary::_well_known_klasses[] ... 
Removing java_mirror ... done. 
mc  space:      6136 [  0.1% of total] out of      8192 bytes [ 74.9% used] at 0x0000000800000000
rw  space:   2156928 [ 36.1% of total] out of   2158592 bytes [ 99.9% used] at 0x0000000800002000
ro  space:   3792904 [ 63.6% of total] out of   3796992 bytes [ 99.9% used] at 0x0000000800211000
md  space:      2560 [  0.0% of total] out of      4096 bytes [ 62.5% used] at 0x00000008005b0000
total    :   5958528 [100.0% of total] out of   5967872 bytes [ 99.8% used]
];
 stderr: []
 exitValue = 0

java.lang.RuntimeException: 'hs' missing from stdout/stderr 

    at jdk.test.lib.process.OutputAnalyzer.shouldContain(OutputAnalyzer.java:163)
    at TestBasicPreinit.dumpArchive(TestBasicPreinit.java:116)
    at TestBasicPreinit.main(TestBasicPreinit.java:58)
    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:991)

JavaTest Message: Test threw exception: java.lang.RuntimeException: 'hs' missing from stdout/stderr 

JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.lang.RuntimeException: 'hs' missing from stdout/stderr

【版本信息】

[root@iZbp1e1wxoqvxdec7os5n9Z jtreg]# uname -a ; cat /etc/os-release ; free -h; lscpu| head -n 25;java -version; java -Xinternalversion
Linux iZbp1e1wxoqvxdec7os5n9Z 5.10.134-15.an8.aarch64 #1 SMP Thu Jul 20 00:33:45 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
NAME="Anolis OS"
VERSION="8.8"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.8"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.8"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"

              total        used        free      shared  buff/cache   available
Mem:           61Gi       1.8Gi        57Gi       0.0Ki       1.3Gi        58Gi
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
BIOS Vendor ID:      Alibaba Cloud
Model:               0
Model name:          Neoverse-N2
BIOS Model name:     virt-rhel7.6.0
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
openjdk version "11.0.20.20-AJDK" 2024-01-23
OpenJDK Runtime Environment (Alibaba AJDK) (build 11.0.20.20-AJDK+0-Alibaba)
OpenJDK 64-Bit Server VM (Alibaba AJDK) (build 11.0.20.20-AJDK+0-Alibaba, mixed mode)
OpenJDK 64-Bit Server VM (11.0.20.20-AJDK+0-Alibaba) for linux-aarch64 JRE (11.0.20.20-AJDK+0-Alibaba), built on Jan 23 2024 07:17:29 by "" with gcc 7.3.1 20180303 (Red Hat 7.3.1-5)
sendaoYan commented 7 months ago

在这里跟踪 https://aone.alibaba-inc.com/v2/project/355606/bug/54725592# 《[ajdk11][11.0.21.21]ParallelGC选项运行用例报错》