On Sun, 11 Aug 2013 04:49:11 +0200 Roland Mainz wrote:
> Hi!

> ----

> An attempt to build ast-open.2013-08-07 on SuSE 12.3/AMD64/64bit with
> "clang"'s address sanitiser came back with a hint why "nnake"
> sometimes goes "boom" or somehow generates corrupted data:
> -- snip --
> $ (export CC='/usr/bin/clang -std=gnu1x -fsanitize=address -g
> -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wno-parentheses
> -Wno-logical-op-parentheses -Wno-unused' LD="$CC" CCFLAGS="-g"; ksh
> ./bin/package make PACKAGE_OPTIONS='map-libc' CC="$CC"
> CCFLAGS="$CCFLAGS" 2>&1 | tee -a buildlog.log)
> [snip]
> package: believe generated files for nmake
> CC=cc
> SHELL=/usr/bin/ksh
> HOSTTYPE=linux.i386-64
> NPROC=2
> PACKAGEROOT=/home/test001/work/ast_ksh_20130807/build_clang
> INSTALLROOT=/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64
> PATH=/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin:/home/test001/work/ast_ksh_20130807/build_clang/bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/test001/bin:/u
> sr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin
> probing C language processor
> /home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/cc
> for make information
> cmd/INIT:
> =================================================================
> ==50399==ERROR: AddressSanitizer: strcpy-param-overlap: memory ranges
> [0x7f796eb74eb0,0x7f796eb74ece) and [0x7f796eb74eb0, 0x7f796eb74ece)
> overlap
>     #0 0x41e4aa
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x41e4aa)
>     #1 0x6e4352
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x6e4352)
>     #2 0x6e13fc
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x6e13fc)
>     #3 0x614a13
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x614a13)
>     #4 0x5f19ed
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x5f19ed)
>     #5 0x46e48d
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x46e48d)
>     #6 0x601323
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x601323)
>     #7 0x5f1905
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x5f1905)
>     #8 0x648dd0
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x648dd0)
>     #9 0x63f322
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x63f322)
>     #10 0x5343a9
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x5343a9)
>     #11 0x7f796de3fa14 (/lib64/libc-2.17.so+0x21a14)
>     #12 0x42e94c
> (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x42e94c)
> ==50399==ABORTING
> make: *** exit code 1 making cmd/INIT
> -- snip --
> ... this happens because |strcpy()| is called with overlapping memory
> areas (which isn't valid in ISO C because the results are undefined).
> I don't have a better stack trace yet... I still have to figure out
> how to get to that with "clang"'s address santitiser

this would be good to nail down
earlier this year we went through sfio and cleaned up a few of these

_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to