[Ltrace-devel] can't read ELF entry

Imre Deak imre.deak at gmail.com
Tue Nov 1 22:58:46 UTC 2011


Hi,

tracing some programs in Ubuntu Oneiric/x86_64 like totem or firefox
gives no library call trace. I got the same result with the ltrace version
from git:

./ltrace -f totem
[pid 22274] +++ exited (status 0) +++
[pid 22268] --- SIGINT (Interrupt) ---
[pid 22271] +++ killed by SIGINT +++
[pid 22270] +++ killed by SIGINT +++
[pid 22269] +++ killed by SIGINT +++
[pid 22273] +++ killed by SIGINT +++
[pid 22268] +++ killed by SIGINT +++

If needed I can provide the full debug output; I could only notice the
following suspicious part in it:
(I added/extended the printfs at proc.c:48/58 and trace.c:188)

[...]
DEBUG: breakpoints.c:186: enable_bp_cb(pid=22404)
DEBUG: breakpoint.c:42: enable_breakpoint: pid=22404, addr=0x22f0, symbol=totem_
fullscreen_new
DEBUG: breakpoint.c:21: enable_breakpoint: pid=22404, addr=0x22f0, symbol=totem_
fullscreen_new
DEBUG: breakpoints.c:186: enable_bp_cb(pid=22404)
DEBUG: breakpoint.c:42: enable_breakpoint: pid=22404, addr=0x2300, symbol=g_free
DEBUG: breakpoint.c:21: enable_breakpoint: pid=22404, addr=0x2300, symbol=g_free
DEBUG: trace.c:144: continue_process: pid=22404
DEBUG: events.c:56: event: NONE: pid=22404 (enabling breakpoints)
DEBUG: handle_event.c:40: handle_event(pid=22404, type=0)
DEBUG: handle_event.c:43: event: none
DEBUG: events.c:23: next_event()
DEBUG: events.c:50: event from pid 22404
DEBUG: proc.c:289: linkmap_init()
DEBUG: proc.c:48: find_dynamic_entry() d_tag 21
DEBUG: trace.c:188: PTRACE_PEEK pid 22404 addr 0x203ab8 offs 0
DEBUG: proc.c:58: moved -1 sze 16
DEBUG: proc.c:80: Couldn't address for dtag!
DEBUG: proc.c:292: Couldn't find debug structure!
DEBUG: events.c:73: event: SYSCALL: pid=22404, sysnum=12
DEBUG: handle_event.c:40: handle_event(pid=22404, type=4)
DEBUG: handle_event.c:285: sysname(pid=22404, sysnum=12)
DEBUG: handle_event.c:64: event: syscall (SYS_brk [12])
DEBUG: handle_event.c:383: handle_syscall(pid=22404, sysnum=12)
DEBUG: breakpoints.c:746: callstack_push(pid=22404)
DEBUG: trace.c:144: continue_process: pid=22404
DEBUG: events.c:23: next_event()
DEBUG: events.c:50: event from pid 22404
DEBUG: proc.c:289: linkmap_init()
DEBUG: proc.c:48: find_dynamic_entry() d_tag 21
DEBUG: trace.c:188: PTRACE_PEEK pid 22404 addr 0x203ab8 offs 0
DEBUG: proc.c:58: moved -1 sze 16
DEBUG: proc.c:80: Couldn't address for dtag!
DEBUG: proc.c:292: Couldn't find debug structure!
DEBUG: events.c:78: event: SYSRET: pid=22404, sysnum=12
DEBUG: handle_event.c:40: handle_event(pid=22404, type=5)
DEBUG: handle_event.c:285: sysname(pid=22404, sysnum=12)
[...]

Other processes (/bin/ls for example) seem to give proper library
trace output. Also syscall tracing seems to work fine even for the
above problematic programs.

Thanks,
Imre



More information about the Ltrace-devel mailing list