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.

Raspunde prin e-mail lui