This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
ASAN test failures make compare_tests useless
- From: Manuel López-Ibáñez <lopezibanez at gmail dot com>
- To: gcc Mailing List <gcc at gcc dot gnu dot org>
- Date: Sat, 16 Aug 2014 02:37:45 +0200
- Subject: ASAN test failures make compare_tests useless
- Authentication-results: sourceware.org; auth=none
On the compile farm, ASAN tests seem to fail a lot like:
FAIL: c-c++-common/asan/global-overflow-1.c -O0 output pattern
test, is ==31166==ERROR: AddressSanitizer failed to allocate
0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno:
12)
==31166==ReserveShadowMemoryRange failed while trying to map
0xdfff0001000 bytes. Perhaps you're using ulimit -v
, should match READ of size 1 at 0x[0-9a-f]+ thread T0.*(
The problem is that those addresses and sizes are very random, so when
I compare the test results of a pristine trunk with a patched one, I
get:
New tests that FAIL:
unix//-m64: c-c++-common/asan/global-overflow-1.c -O0 output
pattern test, is ==12875==ERROR: AddressSanitizer failed to allocate
0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno:
12)
unix//-m64: c-c++-common/asan/global-overflow-1.c -O0 output
pattern test, is ==18428==ERROR: AddressSanitizer failed to allocate
0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno:
12)
[... hundreds of ASAN tests that failed...]
Old tests that failed, that have disappeared: (Eeek!)
unix//-m64: c-c++-common/asan/global-overflow-1.c -O0 output
pattern test, is ==30142==ERROR: AddressSanitizer failed to allocate
0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno:
12)
unix//-m64: c-c++-common/asan/global-overflow-1.c -O0 output
pattern test, is ==31166==ERROR: AddressSanitizer failed to allocate
0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno:
12)
[... the same hundreds of tests that already failed before...]
The above makes very difficult to identify failures caused by my patch.
Can we remove the "==...." part of the error? This way compare_tests
will ignore the failures.
Alternatively, I could patch compare_tests to sed out that part before
comparing. Would that be acceptable?
Cheers,
Manuel.