Arsen Arsenović via Gcc <gcc@gcc.gnu.org> writes: > Hi, > > Georg-Johann Lay <a...@gjlay.de> writes: > >> For a trivial change that I'd like to bootstrap + regtest, I am >> am getting FAILs like: >> >> $ diff xxx/gcc/testsuite/gcc/gcc.sum yyy/gcc/testsuite/gcc/gcc.sum >> 164656c164656 >> < PASS: c-c++-common/tsan/atomic_stack.c -O0 output pattern test >> --- >>> FAIL: c-c++-common/tsan/atomic_stack.c -O0 output pattern test >> 164659c164659 >> < FAIL: c-c++-common/tsan/atomic_stack.c -O2 output pattern test >> --- >>> PASS: c-c++-common/tsan/atomic_stack.c -O2 output pattern test >> 164662c164662 >> < PASS: c-c++-common/tsan/bitfield_race.c -O0 output pattern test >> --- >>> FAIL: c-c++-common/tsan/bitfield_race.c -O0 output pattern test >> 164668c164668 >> < PASS: c-c++-common/tsan/fd_pipe_race.c -O0 output pattern test >> --- >>> FAIL: c-c++-common/tsan/fd_pipe_race.c -O0 output pattern test >> 164674c164674 >> < FAIL: c-c++-common/tsan/free_race.c -O0 output pattern test >> --- >>> PASS: c-c++-common/tsan/free_race.c -O0 output pattern test >> >> Is there anything special so that these tests don't arbitrary flip >> their PASS/FAIL state? >> >> The GCC version that's being tested is current trunk. >> The build compiler is GCC v14.2.1. >> >> The two testsuites (one for xxx and one for yyy) are being run >> at the same time (in their tmux panes). For what I know tests >> may run at the same time when they are in different build >> directories. > > They can. That's fine. > >> The configure command is basically >> >> $ ../../source/gcc/configure >> >> The command to run the testsuites is >> >> $ make check >> >> from the respective top level build directory. > > For TSAN tests, this might happen on some machines, for a reason I am > yet to determine (I've also seen it on cfarm420, but not on my PC). > > If you wish to confirm this is spurious, you could rerun that part of > the testsuite on the same source tree and compare the results. I expect > you'll get differences again (and not the same ones as the ones you > showed above).
In the past, TSAN tests (like the rest of the sanitizers) have been sensitive to kernel version, config, and sysctl toggles. But I agree it's a bit odd that these keep flip-flopping (I've seen it too). I know Jakub plans a libsanitizer sync at some point for trunk, so probably worth investigating after that happens.