DynamoRIO / DynamoRIO/drmemory
addr2line limitations: crashes in some cases, gets file wrong in others
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [derek.br...@gmail.com](https://code.google.com/u/117968039472581148324/) on December 10, 2010 17:58:18_
PR 530836
I implemented PR 526420 to work around this crash on Fedora 12:
> addr2line -f -e /usr/lib/debug/lib/ld-2.11.so.debug 0x1749b
Segmentation fault (core dumped)
unfortunately that's the address of strlen, which we want in our default
suppression file (not exported so we can't replace it): for now putting *
in default file.
addr2line also gets the source file wrong here:
> addr2line -f -e /lib/ld-linux.so.2 0x944031
_dl_relocate_object
strnlen.c:0
gdb has it right:
#9 0x00944031 in _dl_relocate_object (scope= , reloc_mode= ,
consider_profiling= ) at dl-reloc.c:268
direct on .debug gives different but more accurate answer:
PR 530836: addr2line crashes on strlen addr
- changed default suppression file to use \* instead of strlen
alternative would be to extend hacky pattern-match code inside DrMem:
I think this is better and I'm not too worried about over-suppressing
inside that loader routine.
- added an uninit for loader strlen as well that I see occasionally.
not as happy about this one: but we'll live w/ the risk of false
negatives until we either fix addr2line or get PR 486382.
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=180_
Contributor guide
Assessment
This issue has not been assessed yet.