Bram Moolenaar wrote: > Travis reported an error found by ASAN in test_terminal. > https://travis-ci.org/vim/vim/builds/302986836 > It looks like this: > > ==18767== ERROR: AddressSanitizer: heap-use-after-free on address > 0x606e00061740 at pc 0x75a165 bp 0x7ffdb4b30490 sp 0x7ffdb4b30488 > READ of size 8 at 0x606e00061740 thread T0 > #0 0x75a164 (/home/travis/build/vim/vim/src/vim+0x75a164) > #1 0x4bda78 (/home/travis/build/vim/vim/src/vim+0x4bda78) > #2 0x779be3 (/home/travis/build/vim/vim/src/vim+0x779be3) > #3 0x77a235 (/home/travis/build/vim/vim/src/vim+0x77a235) > > I have been unable to reproduce this (with valgrind). > I did once have the test crash. But unable to repeat it. > > It would be very helpful if these stack traces would show file > locations. Can we make that happen?
When using clang -fsanitize=address, you either need to to set up ASAN_SYMBOLIZER_PATH env variable as described here: https://github.com/google/sanitizers/wiki/AddressSanitizerCallStack ... or you can filter the asan report with the asan_symbolize.py script to see function names: $ asan_symbolize.py < asan.log See: https://github.com/llvm-mirror/compiler-rt/blob/master/lib/asan/scripts/asan_symbolize.py When gcc -fsanitize=address (instead of clang -fsanitize=address), gcc conveniently shows function names automatically. See comments in: https://tsdgeos.blogspot.nl/2014/03/asan-and-gcc-how-to-get-line-numbers-in.html Asan implementation in gcc and clang have other differences. See: https://https://github.com/google/sanitizers/wiki/AddressSanitizerClangVsGCC-(3.8-vs-6.0)github.com/google/sanitizers/wiki/AddressSanitizerClangVsGCC-(3.8-vs-6.0) This links says: === BEGIN QUOTE == GCC uses embedded libbacktrace library for symbolization that's statically linked with libasan. LLVM needs a separate llvm-symbolizer binary to print nice reports.C uses embedded libbacktrace library for symbolization that's statically linked with libasan. LLVM needs a separate llvm-symbolizer binary to print nice reports. === END QUOTE == Regards Dominique -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
