On 08/16/2014 04:37 AM, Manuel López-Ibáñez wrote:
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.


Added Sanitizer folks. Frankly it'd be cool if dumping PIDs and addresses could be turned off.

Reply via email to