DynamoRIO / DynamoRIO/drmemory
Assert fails during replacement of libc routines in vdso
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
When running the webrtc module unit tests (i.e., `module_unittests`) in Dr. Memory on Linux x64 (goobuntu), the following assert occurs when module `linux-vdso.so.1` is loaded:
```
~~Dr.M~~ ASSERT FAILURE (thread 103843): /usr/local/google/home/byronh/work/dr1/
drmemory/common/utils.c:285: fname != NULL (unable to get fname for module)
```
According to Derek, "replacing libc routines is not needed for vdso". Backtrace:
```
#0 dr_abort () at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/lib/instrument.c:2332
#1 0x000000007397f62e in drmemory_abort ()
at /usr/local/google/home/byronh/work/dr1/drmemory/common/utils.c:129
#2 0x00000000739801e7 in lookup_symbol_common (mod=0x557b5f10, sym_pattern=0x73a13aa7 "", full=0x0,
callback=0x73972d20 , data=0x558365c0)
at /usr/local/google/home/byronh/work/dr1/drmemory/common/utils.c:285
#3 0x0000000073980e42 in lookup_all_symbols (mod=0x557b5f10, sym_pattern=0x73a13aa7 "", full=0x0,
callback=0x73972d20 , data=0x558365c0)
at /usr/local/google/home/byronh/work/dr1/drmemory/common/utils.c:401
#4 0x00000000739747b5 in replace_in_module (mod=0x557b5f10, add=0x1)
at /usr/local/google/home/byronh/work/dr1/drmemory/drmemory/replace.c:1440
#5 0x0000000073974985 in replace_module_load (drcontext=0x55806180, info=0x557b5f10, loaded=0x1)
at /usr/local/google/home/byronh/work/dr1/drmemory/drmemory/replace.c:1457
#6 0x0000000073822ae7 in event_module_load (drcontext=0x55806180, info=0x557b5f10, loaded=0x1)
at /usr/local/google/home/byronh/work/dr1/drmemory/drmemory/drmemory.c:1672
#7 0x0000000073997ab7 in drmgr_modload_event (drcontext=0x55806180, info=0x557b5f10, loaded=0x1)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/ext/drmgr/drmgr.c:1369
#8 0x00000000712108b7 in instrument_module_load (data=0x557b5f10, previously_loaded=0x1)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/lib/instrument.c:1944
#9 0x00000000712107c4 in instrument_module_load_trigger (
pc=0x7ffc843ebca0 "UH\211", ...)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/lib/instrument.c:1918
#10 0x00000000711ca647 in check_thread_vm_area (dcontext=0x55806180,
pc=0x7ffc843ebca0 "UH\211", ...,
tag=0x7ffc843ebca0 "UH\211", ..., vmlist=0x55836df0,
flags=0x55836de8, stop=0x55836e38, xfer=0x0)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/vmareas.c:7316
#11 0x000000007127762c in check_new_page_start (dcontext=0x55806180, bb=0x55836db0)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/arch/interp.c:693
#12 0x0000000071287441 in init_interp_build_bb (dcontext=0x55806180, bb=0x55836db0,
start=0x7ffc843ebca0 "UH\211", ..., initial_flags=0x0,
for_trace=0x0, unmangled_ilist=0x0)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/arch/interp.c:4963
#13 0x000000007128781a in build_basic_block_fragment (dcontext=0x55806180,
start=0x7ffc843ebca0 "UH\211", ..., initial_flags=0x0,
link=0x1, visible=0x1, for_trace=0x0, unmangled_ilist=0x0)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/arch/interp.c:5037
#14 0x00000000711009c7 in dispatch (dcontext=0x55806180)
at /usr/local/google/home/byronh/work/dr1/drmemory/dynamorio/core/dispatch.c:205
#15 0x00000000557daec5 in ?? ()
#16 0x0000000000000000 in ?? ()
```
Contributor guide
Assessment
This issue has not been assessed yet.