Issue 89 in memory-sanitizer: Use-after-dtor reports are hard to read

1 view
Skip to first unread message

memory-s...@googlecode.com

unread,
Jul 21, 2015, 7:31:28 PM7/21/15
to memory-s...@googlegroups.com
Status: New
Owner: nmusgr...@google.com
CC: euge...@google.com, k...@google.com
Labels: Type-Defect Priority-Medium

New issue 89 by euge...@google.com: Use-after-dtor reports are hard to read
https://code.google.com/p/memory-sanitizer/issues/detail?id=89

The "origin" portion of use-after-dtor reports on global variables looks
something like this:
#0 in __sanitizer_dtor_callback
#1 in MSanAtExitWrapper
#2 in __run_exit_handlers
...
# in __libc_start_main

There are 2 issues here:
1. There is no destructor frame. That's probably because
__sanitizer_dtor_callback is the last thing a destructor does, and it is
tail-called. We should suppress tail-call optimization in this case. This
affects both global and heap-allocated objects.
2. For globals it should be possible to print the variable name (and the
location of the global definition). There is no support for this in MSan
(because globals are almost always initialized); there is code in TSan that
does this and support in llvm-symbolizer.
3. I wonder how hard it would be to do the same for local (stack) variables.



--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Reply all
Reply to author
Forward
0 new messages