Package: libdw1
Version: 0.143-1
Severity: normal
When run with this simple file:
probe module("snd").function("snd_open").call {}
and when snd.ko is a module that has debuginfo produced by make-kpkg and
also contains .gnu_debuglink section that points to the debuginfo,
systemtap segfaults:
% SYSTEMTAP_DEBUGINFO_PATH="/usr/lib/debug" stap test.stp
WARNING: side-effect-free probe 'probe_1819': keyword at test.stp:1:1
source: probe module("snd").function("snd_open").call {}
^
zsh: segmentation fault SYSTEMTAP_DEBUGINFO_PATH="/usr/lib/debug" stap
test.stp
Segfault location is in libc, via libelf, via libdw (elfutils and systemtap are
compiled with noopt and nostrip):
#0 0x00007ffff6c6cd27 in *__GI_memmove (dest=0x5, src=0x7fffffffaeb0, len=0)
at memmove.c:79
#1 0x00007ffff7980526 in elf64_xlatetof (dest=0x7fffffffae50,
src=0x7fffffffae80, encode=1) at elf32_xlatetof.c:118
#2 0x00007ffff7990826 in gelf_xlatetof (elf=0x182b020, dest=0x7fffffffae50,
src=0x7fffffffae80, encode=1) at gelf_xlatetof.c:71
#3 0x00007ffff7bb9818 in relocate (offset=5, addend=0x7fffffffaf90, rtype=11,
symndx=12) at relocate.c:436
#4 0x00007ffff7bb914c in relocate_section (ehdr=0x7fffffffb160, shstrndx=41,
reloc_symtab=0x7fffffffb120, scn=0x182b320, shdr=0x7fffffffb0e0,
tscn=0x182b268, debugscn=false, partial=true) at relocate.c:501
#5 0x00007ffff7bb9a3e in __libdwfl_relocate (mod=0x17d8950,
debugfile=0x182b020, debug=false) at relocate.c:609
#6 0x00007ffff7bbf042 in dwfl_module_getelf (mod=0x17d8950,
loadbase=0x7fffffffb2e0) at dwfl_module_getelf.c:76
#7 0x000000000048db16 in get_unwind_data (m=0x17d8950,
debug_frame=0x7fffffffb630, eh_frame=0x7fffffffb620, debug_len=0x7fffffffb628,
eh_len=0x7fffffffb618, eh_addr=0x7fffffffb610) at translate.cxx:4495
#8 0x000000000048e9d8 in dump_unwindsyms (m=0x17d8950, userdata=0x17d8960,
name=0x17ecca0 "snd", base=65536, arg=0x7fffffffb8b0)
at translate.cxx:4773
#9 0x00007ffff7bbd141 in dwfl_getmodules (dwfl=0x17d8850, callback=0x48dd68
<dump_unwindsyms>, arg=0x7fffffffb8b0, offset=0)
at dwfl_getmodules.c:103
#10 0x00000000004856f2 in emit_symbol_data (s=...) at translate.cxx:5049
#11 0x00000000004a38ba in translate_pass (s=...) at translate.cxx:5371
#12 0x000000000040e53d in main (argc=2, argv=0x7fffffffe248) at main.cxx:1153
(gdb) up
#1 0x00007ffff7980526 in elf64_xlatetof (dest=0x7fffffffae50,
src=0x7fffffffae80, encode=1) at elf32_xlatetof.c:118
118 memmove (dest->d_buf, src->d_buf, src->d_size);
Note dest=0x5 in memmove. This is value of dest->d_buf in #1, #2.
This bug does not happen when unstripped modules are used.
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-rc6 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libdw1 depends on:
ii libbz2-1.0 1.0.5-3 high-quality block-sorting file co
ii libc6 2.10.1-7 GNU C Library: Shared libraries
ii libelf1 0.143-1 library to read and write ELF file
ii zlib1g 1:1.2.3.3.dfsg-15 compression library - runtime
libdw1 recommends no packages.
libdw1 suggests no packages.
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]