Hi folks.

I've been having troubles comparing the results of different test runs for quite some time, and have finally decided to whine about it. Perhaps someone can point out to whatever I may be doing wrong.

I generally do "make check -k -j60" on two different trees and compare the results with:

cd /dir/current-build-tree
/gcc-sources/contrib/compare_tests /dir/previous-build-tree .

However, this gives false positives virtually every time:

New tests that FAIL:

g++.dg/tree-prof/pr79259.C execution,    -g
gcc.dg/tree-prof/ic-misattribution-1.c execution,    -g
gcc.dg/tree-prof/merge_block.c execution,    -g
gcc.dg/tree-prof/section-attr-1.c execution,    -g
gcc.dg/tree-prof/section-attr-3.c execution,    -g
...
...

New tests that PASS:

g++.dg/tree-prof/partition1.C compilation,  -g
g++.dg/tree-prof/partition2.C compilation,  -g
g++.dg/tree-prof/partition3.C compilation,  -g
g++.dg/tree-prof/pr79259.C compilation,  -g
...
...

Old tests that passed, that have disappeared: (Eeek!)

g++.dg/tree-prof/indir-call-prof-2.C compilation,  -g
g++.dg/tree-prof/morefunc.C compilation,  -g
g++.dg/tree-prof/pr63581.C compilation,  -g
gcc.dg/tree-prof/20050826-2.c compilation,  -g
gcc.dg/tree-prof/bb-reorg.c compilation,  -g
...
...

etc
etc
etc

More often than not the tests that get mentioned are in the gcc.dg/tree-prof directory, but I've seen failures in gcc.dg/tree-ssa, gcc.dg/vect and others.

When I run these tests manually (make check-gcc RUNTESTFLAGS=tree-ssa.exp=whatever.c), they succeed.

Running with smaller -jNN usually yields less false positives, but rarely do I get a clean run.

This has been happening for as long as I can remember (which may just be 12 months ;-)).

Has anyone seen this behavior? Is it my test box? Are there known problems with parallel checks?

FWIW, I'm running on an x86-64 Fedora 25 running a 4.9.6-200.fc25.x86_64 kernel. The machine has 56 cores, and has dejagnu 1.6 installed.

Thanks.
Aldy

p.s. Attached is the full output from contrib/compare_tests.
# Comparing directories
## Dir1=/home/cygnus/aldyh/bld/pristine/: 8 sum files
## Dir2=.: 8 sum files

# Comparing 8 common sum files
## /bin/sh /home/cygnus/aldyh/src/gcc/contrib/compare_tests  
/tmp/gxx-sum1.39318 /tmp/gxx-sum2.39318
New tests that FAIL:

g++.dg/tree-prof/pr79259.C execution,    -g
gcc.dg/tree-prof/ic-misattribution-1.c execution,    -g
gcc.dg/tree-prof/merge_block.c execution,    -g
gcc.dg/tree-prof/section-attr-1.c execution,    -g
gcc.dg/tree-prof/section-attr-3.c execution,    -g
gcc.dg/tree-prof/tracer-1.c execution,    -g
gcc.dg/tree-prof/val-prof-8.c execution,    -g

New tests that PASS:

g++.dg/tree-prof/partition1.C compilation,  -g
g++.dg/tree-prof/partition2.C compilation,  -g
g++.dg/tree-prof/partition3.C compilation,  -g
g++.dg/tree-prof/pr79259.C compilation,  -g
gcc.dg/tree-prof/comp-goto-1.c compilation,  -g
gcc.dg/tree-prof/ic-misattribution-1.c compilation,  -g
gcc.dg/tree-prof/merge_block.c compilation,  -g
gcc.dg/tree-prof/pr47187.c compilation,  -g
gcc.dg/tree-prof/pr52150.c compilation,  -g
gcc.dg/tree-prof/section-attr-1.c compilation,  -g
gcc.dg/tree-prof/stringop-1.c compilation,  -g
gcc.dg/tree-prof/tracer-1.c compilation,  -g
gcc.dg/tree-prof/tracer-1.c scan-tree-dump-times tracer "c =" 2
gcc.dg/tree-prof/update-cunroll-2.c compilation,  -g
gcc.dg/tree-prof/val-prof-8.c compilation,  -g
gcc.dg/tree-prof/wcoverage-mismatch.c compilation,  -g
gcc.dg/tree-ssa/20030807-6.c scan-tree-dump-times vrp1 "ABS_EXPR " 0
gcc.dg/tree-ssa/pr18589-6.c scan-tree-dump-times optimized " \\* " 4

Old tests that passed, that have disappeared: (Eeek!)

g++.dg/tree-prof/indir-call-prof-2.C compilation,  -g
g++.dg/tree-prof/morefunc.C compilation,  -g
g++.dg/tree-prof/pr63581.C compilation,  -g
gcc.dg/tree-prof/20050826-2.c compilation,  -g
gcc.dg/tree-prof/bb-reorg.c compilation,  -g
gcc.dg/tree-prof/cold_partition_label.c compilation,  -g
gcc.dg/tree-prof/ic-misattribution-1a.c compilation,  -g
gcc.dg/tree-prof/inliner-1.c compilation,  -g
gcc.dg/tree-prof/peel-1.c compilation,  -g
gcc.dg/tree-prof/pr49299-1.c compilation,  -g
gcc.dg/tree-prof/pr49299-2.c compilation,  -g
gcc.dg/tree-prof/pr52027.c compilation,  -g
gcc.dg/tree-prof/pr79587.c compilation,  -g
gcc.dg/tree-prof/prof-robust-1.c compilation,  -g
gcc.dg/tree-prof/section-attr-2.c compilation,  -g
gcc.dg/tree-prof/stringop-2.c compilation,  -g
gcc.dg/tree-prof/time-profiler-1.c compilation,  -g
gcc.dg/tree-prof/time-profiler-3.c compilation,  -g
gcc.dg/tree-prof/unroll-1.c compilation,  -g
gcc.dg/tree-prof/val-prof-6.c compilation,  -g
gcc.dg/tree-prof/val-prof-7.c compilation,  -g
gcc.dg/tree-prof/val-prof-9.c compilation,  -g
gcc.dg/tree-ssa/20030530-2.c scan-tree-dump-times dom2 "\\+" 1
gcc.dg/tree-ssa/20030530-2.c scan-tree-dump-times dom2 "first_gp_reg_save" 1
gcc.dg/tree-ssa/20030730-1.c scan-tree-dump-times dom2 "if " 0
gfortran.dg/vect/vect-1.f90   -O   scan-tree-dump-times vect "vectorized 3 
loops" 1

Old tests that failed, that have disappeared: (Eeek!)

g++.dg/tree-prof/inline_mismatch_args.C execution,    -g
g++.dg/tree-prof/pr63581.C execution,    -g
gcc.dg/tree-prof/bb-reorg.c execution,    -g
gcc.dg/tree-prof/cold_partition_label.c execution,    -g
gcc.dg/tree-prof/peel-1.c execution,    -g
gcc.dg/tree-prof/pr34999.c execution,    -g
gcc.dg/tree-prof/pr49299-1.c execution,    -g
gcc.dg/tree-prof/pr50907.c execution,    -g
gcc.dg/tree-prof/pr52027.c execution,    -g
gcc.dg/tree-prof/pr79587.c execution,    -g
gcc.dg/tree-prof/time-profiler-1.c execution,    -g
gcc.dg/tree-prof/time-profiler-3.c execution,    -g
gcc.dg/tree-prof/val-prof-6.c execution,    -g
gcc.dg/tree-prof/val-prof-7.c execution,    -g
gcc.dg/tree-prof/val-profiler-threads-1.c execution,    -g

## Differences found: 
# 1 differences in 8 common sum files found

Reply via email to