RFR: 8326726: Problem list Exhaustiveness.java due to 8326616

SendaoYan syan at openjdk.org
Tue Feb 27 07:25:43 UTC 2024


On Sun, 25 Feb 2024 16:02:59 GMT, SendaoYan <syan at openjdk.org> wrote:

> 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 rds...

The testcase tools/javac/patterns/Exhaustiveness.java intermittently timeout after 8325215.

I run this testcase 1000 times, 15 times test take more than 5000 seconds, and about 50 times test take more than 1500 seconds. That needs further investigation. Before the intermittently timeout failure been investigated and resolved, should we problem list this testcase as a temporary solution.

The intermittently timeout failure was caught both in x86-64 and aarch64 platform. So the label should be generic-all

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17998#issuecomment-1965933359


More information about the compiler-dev mailing list