dragonwell-releng / issues-repo

0 stars 0 forks source link

[ajdk11][aarch64][fastdebug]com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java用例概率报错:Used size at Eden Space should be decreased #16

Closed owanqian closed 8 months ago

owanqian commented 8 months ago

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

【环境准备】

BINARY_URL=https://compiler-ci-bucket.oss-cn-hangzhou.aliyuncs.com/ajdk11/20240201-004604-576-%23535-linux.aarch64.fastdebug.master-968d7b97c80197e9fbc138a94fca3bb688620210.jdk.tar.gz
TEST_IMAGE=http://114.55.64.175:8666/compiler-ci-bucket/ajdk11/20240201-004604-576-%23535-linux.aarch64.fastdebug.master-968d7b97c80197e9fbc138a94fca3bb688620210.test-image.tar.gz

BINARY_URL=http://114.55.64.175:8666/ajdk-backup/11.0.21.21-test-ajdk_ga/OpenJDK11U-jdk_aarch64_linux_ajdk_2024-01-30-06-26.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-30-06-26.tar.gz
JDK_REPO=https://codeup.aliyun.com/5f4e0dfe6207a1a8b17fa7cf/compiler-test/jdk11.git
JDK_BRANCH=ajdk_ga-11.0.21.21

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 -
git clone -b $JDK_BRANCH $JDK_REPO jdk-repo

test=com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java
args="-Xmixed"
native='-nativepath:./test-image/hotspot/jtreg/native'

nproc=`nproc` ; dir="jt-work" ; rm -rf $dir ; mkdir -p $dir ; time seq 1000 | xargs -i -n 1 -P  $nproc bash -c " \
jtreg  -nr -v:fail,error,all -w tmp  -timeoutFactor:1.0 $args $native $test \
&> $dir/test_{} ;

11.0.21.21 复现:23/1000次 11.0.20.20 复现:11/1000次 dragonwell release 复现:18/1000次 Temurin jdk-11.0.22+7 1000次没有复现 5000次没有复现 一万次没有复现

【对比测试】

ajdk11 11.0.21.21 同样问题

http://114.55.64.175:8666/ajdk-backup/11.0.21.21-test-ajdk_ga/OpenJDK11U-jdk_aarch64_linux_ajdk_2024-01-30-06-26.tar.gz

[root@iZbp1einv3fgpo2i69s02nZ bin]# ./java -version ; ./java -Xinternalversion
openjdk version "11.0.20.20-AJDK" 2024-01-30
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 30 2024 06:30:36 by "" with gcc 7.3.1 20180303 (Red Hat 7.3.1-5)

ajdk11 11.0.20.20 同样问题

http://114.55.64.175:8666/ajdk-backup/11.0.21.21-test-ajdk_ga/OpenJDK11U-jdk_aarch64_linux_ajdk_2024-01-30-06-26.tar.gz

[root@iZbp1einv3fgpo2i69s02nZ 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+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 Oct 11 2023 02:42:11 by "" with gcc 7.3.1 20180303 (Red Hat 7.3.1-5)

dragonwell11 11.0.21.18.9 同样问题 https://dragonwell.oss-cn-shanghai.aliyuncs.com/11.0.21.18.9/Alibaba_Dragonwell_Extended_11.0.21.18.9_aarch64_linux.tar.gz

[root@iZbp1einv3fgpo2i69s02nZ bin]#  ./java -version ; ./java -Xinternalversion
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-aarch64 JRE (11.0.21.18+9), built on Jan  4 2024 12:32:38 by "" with gcc 7.5.0

Temurin jdk-11.0.22+7 没有问题 http://114.55.64.175:8666/compiler-ci-bucket/openjdk/jdk-11.0.22-ga/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.22_7.tar.gz

[root@iZbp1einv3fgpo2i69s02nZ bin]# ./java -version ; ./java -Xinternalversion
openjdk version "11.0.22" 2024-01-16
OpenJDK Runtime Environment Temurin-11.0.22+7 (build 11.0.22+7)
OpenJDK 64-Bit Server VM Temurin-11.0.22+7 (build 11.0.22+7, mixed mode)
OpenJDK 64-Bit Server VM (11.0.22+7) for linux-aarch64 JRE (11.0.22+7), built on Jan 16 2024 22:45:59 by "" with gcc 7.5.0

【用例日志】

STDOUT:
STDERR:
/var/tmp/tone/run/jtreg/jdk-repo/test/jdk/com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java:82: warning: ManagementFactoryHelper is internal proprietary API and may be removed in a future release
                 sun.management.ManagementFactoryHelper.getVMManagement().isGcNotificationSupported();
                               ^
1 warning

ACTION: main -- Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Used size at Eden Space should be decreased.
REASON: User specified action: run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xms64m -Xmx64m GarbageCollectionNotificationContentTest 
TIME:   1.211 seconds
messages:
command: main -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xms64m -Xmx64m GarbageCollectionNotificationContentTest
reason: User specified action: run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xms64m -Xmx64m GarbageCollectionNotificationContentTest 
Mode: othervm [/othervm specified]
Additional options from @modules: --add-modules java.management,jdk.management --add-exports java.management/sun.management=ALL-UNNAMED
elapsed time (seconds): 1.211
configuration:
Boot Layer
  add modules: java.management jdk.management 
  add exports: java.management/sun.management ALL-UNNAMED

STDOUT:
GC notification for G1 Young Generation
Action: end of minor GC Cause: G1 Evacuation Pause
GC Info #1 start:855 end:857 (2ms)
Usage for pool CodeHeap 'profiled nmethods'
   Before GC: init = 2555904(2496K) used = 2348544(2293K) committed = 2555904(2496K) max = 121729024(118876K)
   After GC: init = 2555904(2496K) used = 2348544(2293K) committed = 2555904(2496K) max = 121729024(118876K)
Usage for pool G1 Old Gen
   Before GC: init = 39845888(38912K) used = 2013792(1966K) committed = 39845888(38912K) max = 67108864(65536K)
   After GC: init = 39845888(38912K) used = 997984(974K) committed = 25165824(24576K) max = 67108864(65536K)
Usage for pool CodeHeap 'non-profiled nmethods'
   Before GC: init = 2555904(2496K) used = 301824(294K) committed = 2555904(2496K) max = 121733120(118880K)
   After GC: init = 2555904(2496K) used = 301824(294K) committed = 2555904(2496K) max = 121733120(118880K)
Usage for pool G1 Survivor Space
   Before GC: init = 0(0K) used = 0(0K) committed = 0(0K) max = -1(-1K)
   After GC: init = 0(0K) used = 1048576(1024K) committed = 1048576(1024K) max = -1(-1K)
Usage for pool Compressed Class Space
   Before GC: init = 0(0K) used = 1118744(1092K) committed = 1310720(1280K) max = 1073741824(1048576K)
   After GC: init = 0(0K) used = 1118744(1092K) committed = 1310720(1280K) max = 1073741824(1048576K)
Usage for pool Metaspace
   Before GC: init = 0(0K) used = 11599632(11327K) committed = 12058624(11776K) max = -1(-1K)
   After GC: init = 0(0K) used = 11599632(11327K) committed = 12058624(11776K) max = -1(-1K)
Usage for pool G1 Eden Space
   Before GC: init = 27262976(26624K) used = 25165824(24576K) committed = 27262976(26624K) max = -1(-1K)
   After GC: init = 27262976(26624K) used = 0(0K) committed = 40894464(39936K) max = -1(-1K)
Usage for pool CodeHeap 'non-nmethods'
   Before GC: init = 2555904(2496K) used = 4067968(3972K) committed = 4259840(4160K) max = 8196096(8004K)
   After GC: init = 2555904(2496K) used = 4067968(3972K) committed = 4259840(4160K) max = 8196096(8004K)
GC notification for G1 Old Generation
Action: end of major GC Cause: System.gc()
GC Info #1 start:803 end:834 (31ms)
Usage for pool CodeHeap 'profiled nmethods'
   Before GC: init = 2555904(2496K) used = 2314240(2260K) committed = 2555904(2496K) max = 121729024(118876K)
   After GC: init = 2555904(2496K) used = 2314240(2260K) committed = 2555904(2496K) max = 121729024(118876K)
Usage for pool G1 Old Gen
   Before GC: init = 39845888(38912K) used = 0(0K) committed = 39845888(38912K) max = 67108864(65536K)
   After GC: init = 39845888(38912K) used = 2013792(1966K) committed = 39845888(38912K) max = 67108864(65536K)
Usage for pool CodeHeap 'non-profiled nmethods'
   Before GC: init = 2555904(2496K) used = 299392(292K) committed = 2555904(2496K) max = 121733120(118880K)
   After GC: init = 2555904(2496K) used = 299392(292K) committed = 2555904(2496K) max = 121733120(118880K)
Usage for pool G1 Survivor Space
   Before GC: init = 0(0K) used = 0(0K) committed = 0(0K) max = -1(-1K)
   After GC: init = 0(0K) used = 0(0K) committed = 0(0K) max = -1(-1K)
Usage for pool Compressed Class Space
   Before GC: init = 0(0K) used = 1097840(1072K) committed = 1179648(1152K) max = 1073741824(1048576K)
   After GC: init = 0(0K) used = 1097840(1072K) committed = 1179648(1152K) max = 1073741824(1048576K)
Usage for pool Metaspace
   Before GC: init = 0(0K) used = 11444016(11175K) committed = 11927552(11648K) max = -1(-1K)
   After GC: init = 0(0K) used = 11444016(11175K) committed = 11927552(11648K) max = -1(-1K)
Usage for pool G1 Eden Space
   Before GC: init = 27262976(26624K) used = 8388608(8192K) committed = 27262976(26624K) max = -1(-1K)
   After GC: init = 27262976(26624K) used = 0(0K) committed = 27262976(26624K) max = -1(-1K)
Usage for pool CodeHeap 'non-nmethods'
   Before GC: init = 2555904(2496K) used = 4061056(3965K) committed = 4259840(4160K) max = 8196096(8004K)
   After GC: init = 2555904(2496K) used = 4061056(3965K) committed = 4259840(4160K) max = 8196096(8004K)
GC notification for G1 Concurrent GC
Action: end of concurrent GC pause Cause: No GC
GC Info #1 start:1041 end:1051 (10ms)
Usage for pool CodeHeap 'profiled nmethods'
   Before GC: init = 2555904(2496K) used = 2673536(2610K) committed = 2686976(2624K) max = 121729024(118876K)
   After GC: init = 2555904(2496K) used = 2673536(2610K) committed = 2686976(2624K) max = 121729024(118876K)
Usage for pool G1 Old Gen
   Before GC: init = 39845888(38912K) used = 1092656(1067K) committed = 25165824(24576K) max = 67108864(65536K)
   After GC: init = 39845888(38912K) used = 44080(43K) committed = 25165824(24576K) max = 67108864(65536K)
Usage for pool CodeHeap 'non-profiled nmethods'
   Before GC: init = 2555904(2496K) used = 408064(398K) committed = 2555904(2496K) max = 121733120(118880K)
   After GC: init = 2555904(2496K) used = 408064(398K) committed = 2555904(2496K) max = 121733120(118880K)
Usage for pool G1 Survivor Space
   Before GC: init = 0(0K) used = 1048576(1024K) committed = 1048576(1024K) max = -1(-1K)
   After GC: init = 0(0K) used = 1048576(1024K) committed = 1048576(1024K) max = -1(-1K)
Usage for pool Compressed Class Space
   Before GC: init = 0(0K) used = 1164496(1137K) committed = 1310720(1280K) max = 1073741824(1048576K)
   After GC: init = 0(0K) used = 1164496(1137K) committed = 1310720(1280K) max = 1073741824(1048576K)
Usage for pool Metaspace
   Before GC: init = 0(0K) used = 11957192(11676K) committed = 12582912(12288K) max = -1(-1K)
   After GC: init = 0(0K) used = 11957192(11676K) committed = 12582912(12288K) max = -1(-1K)
Usage for pool G1 Eden Space
   Before GC: init = 27262976(26624K) used = 1048576(1024K) committed = 40894464(39936K) max = -1(-1K)
   After GC: init = 27262976(26624K) used = 2097152(2048K) committed = 40894464(39936K) max = -1(-1K)
STDERR:
java.lang.RuntimeException: Used size at Eden Space should be decreased.
    at GarbageCollectionNotificationContentTest.checkMemoryUsage(GarbageCollectionNotificationContentTest.java:174)
    at GarbageCollectionNotificationContentTest.checkGarbageCollectionNotificationInfoContent(GarbageCollectionNotificationContentTest.java:157)
    at GarbageCollectionNotificationContentTest.main(GarbageCollectionNotificationContentTest.java:127)
    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: Used size at Eden Space should be decreased.
JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.lang.RuntimeException: Used size at Eden Space should be decreased.

【版本信息】

[root@iZbp1einv3fgpo2i69s02nZ bin]# uname -a ; cat /etc/os-release ; free -h; lscpu| head -n 25;./java -version; ./java -Xinternalversion
Linux iZbp1einv3fgpo2i69s02nZ 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:           61Gi        10Gi        43Gi       2.0Mi       7.3Gi        49Gi
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-02-01
OpenJDK Runtime Environment (fastdebug build 11.0.20.20-AJDK+0-Alibaba)
OpenJDK 64-Bit Server VM (fastdebug build 11.0.20.20-AJDK+0-Alibaba, mixed mode)
OpenJDK 64-Bit Server VM (fastdebug 11.0.20.20-AJDK+0-Alibaba) for linux-aarch64 JRE (11.0.20.20-AJDK+0-Alibaba), built on Jan 31 2024 17:08:37 by "" with gcc 7.3.1 20180303 (Red Hat 7.3.1-5)
sendaoYan commented 8 months ago

https://aone.alibaba-inc.com/v2/project/355606/bug/54889171# 《[nightly][ajdk11][11.0.21.21]com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java随机报错Used size at Eden Space should be decreased》