Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drsyms easily runs out of stolen fd space #879

Closed
derekbruening opened this issue Nov 28, 2014 · 1 comment
Closed

drsyms easily runs out of stolen fd space #879

derekbruening opened this issue Nov 28, 2014 · 1 comment

Comments

@derekbruening
Copy link
Contributor

From [email protected] on August 24, 2012 10:41:53

w/ linux built USE_DRSYMS and running cs2bug -verbose 3 where drmem prints
out the symbol for each bb (finally avail in linux!) and prints out a bunch
of syscall and alloc callstacks and thus re-loads pretty much all the
symbol files:

(gdb) bt
#0 syscall_0args () at /work/dr/git/src/core/x86/x86.asm:1088
#1 0x4ea2e4d4 in ?? ()
#2 0xf726c8b7 in fd_priv_dup (curfd=3) at /work/dr/git/src/core/linux/os.c:3542
#3 0xf726cbaf in os_open_protected (fname=0x4f56ce4c "/usr/lib/libdl-2.15.so", os_open_flags=1)
at /work/dr/git/src/core/linux/os.c:3614
#4 0xf725d747 in dr_open_file (fname=fname@entry=0x4f56ce4c "/usr/lib/libdl-2.15.so", mode_flags=mode_flags@entry=1)
at /work/dr/git/src/core/x86/instrument.c:3262
#5 0x73923d76 in load_module (modpath=modpath@entry=0x4f56ce4c "/usr/lib/libdl-2.15.so")
at /work/dr/git/src/ext/drsyms/drsyms_unix.c:106
#6 0x73924069 in drsym_unix_load (modpath=modpath@entry=0x4f56ce4c "/usr/lib/libdl-2.15.so")
at /work/dr/git/src/ext/drsyms/drsyms_unix.c:372
#7 0x73923214 in lookup_or_load (modpath=0x4f56ce4c "/usr/lib/libdl-2.15.so")
at /work/dr/git/src/ext/drsyms/drsyms_linux.c:74
#8 lookup_or_load (modpath=0x4f56ce4c "/usr/lib/libdl-2.15.so") at /work/dr/git/src/ext/drsyms/drsyms_linux.c:197
#9 drsym_lookup_address_local (flags=1, out=0x4ea2e848, modoffs=2768, modpath=0x4f56ce4c "/usr/lib/libdl-2.15.so")
at /work/dr/git/src/ext/drsyms/drsyms_linux.c:142
#10 drsym_lookup_address (modpath=0x4f56ce4c "/usr/lib/libdl-2.15.so", modoffs=2768, out=0x4ea2e848, flags=1)
at /work/dr/git/src/ext/drsyms/drsyms_linux.c:203
#11 0x738bc65f in print_symbol (addr=0x4b9e1ad0 "S\350\036", buf=0x4ea2e9dc "new basic block @0x4b9e1ad0 ==",
bufsz=128, sofar=0x4ea2ea5c) at /work/drmemory/git/src/common/callstack.c:464
#12 0x73831a2f in instru_event_bb_analysis (drcontext=0x4e9dc700, tag=0x4b9e1ad0, bb=0x4ea589e0, for_trace=0 '\000',
translating=0 '\000', user_data=0x4ea62b20) at /work/drmemory/git/src/drmemory/readwrite.c:3927
#13 0x7391bce8 in drmgr_bb_event (drcontext=0x4e9dc700, tag=0x4b9e1ad0, bb=0x4ea589e0, for_trace=0 '\000',
translating=0 '\000') at /work/dr/git/src/ext/drmgr/drmgr.c:317
#14 0xf7259962 in instrument_basic_block (dcontext=0x4e9dc700, tag=0x4b9e1ad0 "S\350\036", bb=0x4ea589e0,
for_trace=false, translating=false, emitflags=0x4ea2eb98) at /work/dr/git/src/core/x86/instrument.c:1361
#15 0xf72123cb in client_process_bb (dcontext=0x4e9dc700, bb=0x4ea2ee3c) at /work/dr/git/src/core/x86/interp.c:2398
#16 0xf7215a78 in build_bb_ilist (dcontext=0x4e9dc700, bb=0x4ea2ee3c) at /work/dr/git/src/core/x86/interp.c:3340
#17 0xf72198c9 in build_basic_block_fragment (dcontext=0x4e9dc700, start=0x4b9e1ad0 "S\350\036", initial_flags=0,
link=true, visible=true, for_trace=false, unmangled_ilist=0x0) at /work/dr/git/src/core/x86/interp.c:4245
#18 0xf70d52bd in dispatch (dcontext=0x4e9dc700) at /work/dr/git/src/core/dispatch.c:186

-steal_fds is only 12 by default. given that if the app runs out we start
giving it the stolen ones, I'm just going to raise this. also note that if
we run out of stolen we just start taking the app's.

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=879

@derekbruening
Copy link
Contributor Author

From [email protected] on August 24, 2012 14:49:57

This issue was closed by revision r1551 .

Status: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant