RFR: 8326616: tools/javac/patterns/Exhaustiveness.java intermittently Timeout signalled after 480 seconds
SendaoYan
syan at openjdk.org
Sun Feb 25 16:10:00 UTC 2024
The testcase tools/javac/patterns/Exhaustiveness.java intermittently timeout after [8325215](https://bugs.openjdk.org/browse/JDK-8325215).
I change the timeout value from 120(default value) to 300 locally, and set timeoutFactor to 20, then run this testcase 1000 times, use the concurrecy 16(the half of the nproc).
The test result show that, 90% of the test run finish in 20 seconds, but 15 times test exaust more than 5000 seconds.
So, maybe be we should change the timeout value from 120(default value) to 6000.
Mine test command:
export test=test/langtools/tools/javac/patterns/Exhaustiveness.java
nproc=`nproc` ; dir="tmp-jtreg-"`basename $test .java` ; rm -rf $dir ; mkdir -p $dir ; time seq 1000 | xargs -i -n 1 -P `expr $nproc / 2` bash -c "jtreg -ea -esa -timeoutFactor:20 -v:fail,error,time,nopass -nr -w $dir/index-{} $test &> $dir/{}.log ; grep 'Test results: passed: 1' -L $dir/{}.log"
The command statistic the time elapsed testcase run:
for i in `seq 1000` ; do grep "elapsed time" index-$i/tools/javac/patterns/Exhaustiveness.jtr | tail -n 1 ; done | awk -F ':' '{print $NF}' | sort -n > time-statistics.log
[time-statistics.log](https://github.com/openjdk/jdk/files/14396886/time-statistics.log)
The CPU and memory information:
[root at iZbp1fauxu0pkmhplfguv6Z ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
BIOS Vendor ID: Alibaba Cloud
CPU family: 6
Model: 106
Model name: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz
BIOS Model name: pc-i440fx-2.1
Stepping: 6
CPU MHz: 3500.041
BogoMIPS: 5399.99
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 48K
L1i cache: 32K
L2 cache: 1280K
L3 cache: 49152K
NUMA node0 CPU(s): 0-31
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities
[root at iZbp1fauxu0pkmhplfguv6Z ~]# free -h
total used free shared buff/cache available
Mem: 60Gi 2.8Gi 37Gi 21Mi 20Gi 57Gi
Swap: 0B 0B 0B
-------------
Commit messages:
- 8326616: tools/javac/patterns/Exhaustiveness.java intermittently Timeout signalled after 480 seconds
Changes: https://git.openjdk.org/jdk/pull/17998/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17998&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8326616
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/17998.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17998/head:pull/17998
PR: https://git.openjdk.org/jdk/pull/17998
More information about the compiler-dev
mailing list