This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
make check stops after one case in asan.exp
- From: "Bin.Cheng" <amker dot cheng at gmail dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Sat, 19 Jan 2013 17:22:50 +0800
- Subject: make check stops after one case in asan.exp
Hi,
I ran into a problem that gcc make check stops after one case in
asan.exp, here is the dump information:
Executed ./sleep-before-dying-1.exe, status 1
=================================================================
==30519== ERROR: AddressSanitizer: heap-use-after-free on address
0x41869fc5 at pc 0x80486dd bp 0xbf8f3728 sp 0xbf8f371c
READ of size 1 at 0x41869fc5 thread T0
#0 0x80486dc
(/home/.../build/gcc/testsuite/gcc/sleep-before-dying-1.exe+0x80486dc)
#1 0x41598b55 (/lib/tls/i686/cmov/libc-2.10.1.so+0x16b55)
#2 0x8048580
(/home/.../build/gcc/testsuite/gcc/sleep-before-dying-1.exe+0x8048580)
0x41869fc5 is located 5 bytes inside of 10-byte region [0x41869fc0,0x41869fca)
freed by thread T0 here:
#0 0x40069004
(/home/.../build/i686-pc-linux-gnu/libsanitizer/asan/.libs/libasan.so.0.0.0+0x10004)
#1 0x80486af
(/home/.../build/gcc/testsuite/gcc/sleep-before-dying-1.exe+0x80486af)
#2 0x41598b55 (/lib/tls/i686/cmov/libc-2.10.1.so+0x16b55)
#3 0x8048580
(/home/.../build/gcc/testsuite/gcc/sleep-before-dying-1.exe+0x8048580)
previously allocated by thread T0 here:
#0 0x400690e4
(/home/.../build/i686-pc-linux-gnu/libsanitizer/asan/.libs/libasan.so.0.0.0+0x100e4)
#1 0x80486a5
(/home/.../build/gcc/testsuite/gcc/sleep-before-dying-1.exe+0x80486a5)
#2 0x41598b55 (/lib/tls/i686/cmov/libc-2.10.1.so+0x16b55)
#3 0x8048580
(/home/.../build/gcc/testsuite/gcc/sleep-before-dying-1.exe+0x8048580)
Shadow bytes around the buggy address:
0x2830d3a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d3b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d3c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d3d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d3e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x2830d3f0: fa fa fa fa fa fa fa fa[fd]fd fd fd fd fd fd fd
0x2830d400: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d410: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d420: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d430: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x2830d440: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap righ redzone: fb
Freed Heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
ASan internal: fe
Stats: 0M malloced (0M for red zones) by 1 calls
Stats: 0M realloced by 0 calls
Stats: 0M freed by 1 calls
Stats: 0M really freed by 0 calls
Stats: 0M (0M-0M) mmaped; 1 maps, 0 unmaps
mmaps by size class: 7:4095;
mallocs by size class: 7:1;
frees by size class: 7:1;
rfrees by size class:
Stats: malloc large: 0 small slow: 1
Stats: StackDepot: 0 ids; 0M mapped
==30519== ABORTING
==30519== Sleeping for 1 second(s)
ERROR: (DejaGnu) proc "lreverse {{ASAN_OPTIONS 0}}" does not exist.
The error code is CHILDSTATUS 30519 1
The info on the error is:
child process exited abnormally
while executing
"close file8"
make check just exists after this error and I can only get partial
test results like:
=== g++ Summary ===
# of expected passes 192
# of unsupported tests 9
So anything I missed? Thanks very much.
The gcc is configured with :
../gcc/configure
--prefix=/home/.../target/
--with-gmp=/home/.../usr/
--with-mpfr=/home/.../usr/
--with-mpc=/home/.../usr/
--with-ppl=/home/.../usr/
--with-cloog=/home/.../usr/
--with-host-libstdcxx='-static-libgcc
-Wl,-L/usr/lib/gcc/i486-linux-gnu/4.4.1/,-Bstatic,-lstdc++,-Bdynamic
-lm'
--enable-languages=c,c++,lto
The triplet should be i686-pc-linux-gnu by default.
--
Best Regards.