Package: binutils Version: 2.18.93.20081009-0ubuntu1 Severity: normal I have used functracer tool (http://repository.maemo.org/pool/maemo4.1.2/free/f/functracer/). This tool was build with binutils and uses libbfd actively. But in libbfd there exist number of memory leakages. So that while functracer was working memory leakage was too big (few hundreds of MBytes). So that I used valgrind with massif plugin in order to determine places of memogy leakages and received log file which is listed below.
P.S. I found patches for this bug on http://sourceware.org/bugzilla/show_bug.cgi?id=868. After manual installation of this patches all works correctly and leakages disappear. Could you say why this patches are not included in last version of binutils? ==13435== Memcheck, a memory error detector. ==13435== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==13435== Using LibVEX rev 1804, a library for dynamic binary translation. ==13435== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==13435== Using valgrind-3.3.0-Debian, a dynamic binary instrumentation framework. ==13435== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==13435== For more details, rerun with: -v ==13435== ==13435== My PID = 13435, parent PID = 5593. Prog and args are: ==13435== functracer-postproc ==13435== -l ==13435== allocs-15348.0.trace ==13435== ==13435== Conditional jump or move depends on uninitialised value(s) ==13435== at 0x400A970: _dl_relocate_object (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x40033B3: dl_main (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4012C29: _dl_sysdep_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x400193F: _dl_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4000846: (within /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== ==13435== Conditional jump or move depends on uninitialised value(s) ==13435== at 0x400A99C: _dl_relocate_object (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x40033B3: dl_main (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4012C29: _dl_sysdep_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x400193F: _dl_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4000846: (within /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== ==13435== Conditional jump or move depends on uninitialised value(s) ==13435== at 0x400AFF3: _dl_relocate_object (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x40033B3: dl_main (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4012C29: _dl_sysdep_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x400193F: _dl_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4000846: (within /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== ==13435== Conditional jump or move depends on uninitialised value(s) ==13435== at 0x400A825: _dl_relocate_object (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4003448: dl_main (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4012C29: _dl_sysdep_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x400193F: _dl_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4000846: (within /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== ==13435== Conditional jump or move depends on uninitialised value(s) ==13435== at 0x400A86C: _dl_relocate_object (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4003448: dl_main (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4012C29: _dl_sysdep_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x400193F: _dl_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4000846: (within /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== ==13435== Conditional jump or move depends on uninitialised value(s) ==13435== at 0x400A99C: _dl_relocate_object (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4003448: dl_main (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4012C29: _dl_sysdep_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x400193F: _dl_start (in /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== by 0x4000846: (within /targets/DIABLO_x86/lib/ld-2.5.so) ==13435== ==13435== ERROR SUMMARY: 13 errors from 6 contexts (suppressed: 0 from 0) ==13435== malloc/free: in use at exit: 14,302,069 bytes in 161,429 blocks. ==13435== malloc/free: 3,163,938 allocs, 3,002,509 frees, 2,592,883,563 bytes allocated. ==13435== For counts of detected errors, rerun with: -v ==13435== searching for pointers to 161,429 not-freed blocks. ==13435== checked 102,164 bytes. ==13435== ==13435== ==13435== 269 bytes in 3 blocks are possibly lost in loss record 2 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x4051968: concat_filename (dwarf2.c:1064) ==13435== by 0x40529C4: scan_unit_for_symbols (dwarf2.c:1936) ==13435== by 0x4052C67: comp_unit_find_nearest_line (dwarf2.c:2262) ==13435== by 0x4053AF0: find_line (dwarf2.c:3093) ==13435== by 0x40685FA: _bfd_elf_find_nearest_line (elf.c:6885) ==13435== by 0x804AEAE: resolve_address (resolve.c:93) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== ==13435== 802 bytes in 9 blocks are possibly lost in loss record 3 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x4051968: concat_filename (dwarf2.c:1064) ==13435== by 0x4052A1E: scan_unit_for_symbols (dwarf2.c:1957) ==13435== by 0x4052C67: comp_unit_find_nearest_line (dwarf2.c:2262) ==13435== by 0x4053AF0: find_line (dwarf2.c:3093) ==13435== by 0x40685FA: _bfd_elf_find_nearest_line (elf.c:6885) ==13435== by 0x804AEAE: resolve_address (resolve.c:93) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== ==13435== 4,460 bytes in 1,115 blocks are definitely lost in loss record 4 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x4045CAC: _bfd_generic_read_minisymbols (syms.c:799) ==13435== by 0x804ADD1: resolve_address (resolve.c:51) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== ==13435== 140,450 bytes in 1,463 blocks are definitely lost in loss record 5 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x40518F5: concat_filename (dwarf2.c:1058) ==13435== by 0x40529C4: scan_unit_for_symbols (dwarf2.c:1936) ==13435== by 0x4052C67: comp_unit_find_nearest_line (dwarf2.c:2262) ==13435== by 0x4053AF0: find_line (dwarf2.c:3093) ==13435== by 0x40685FA: _bfd_elf_find_nearest_line (elf.c:6885) ==13435== by 0x804AEAE: resolve_address (resolve.c:93) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== ==13435== 318,680 bytes in 3,303 blocks are definitely lost in loss record 6 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x40518F5: concat_filename (dwarf2.c:1058) ==13435== by 0x4052A1E: scan_unit_for_symbols (dwarf2.c:1957) ==13435== by 0x4052C67: comp_unit_find_nearest_line (dwarf2.c:2262) ==13435== by 0x4053AF0: find_line (dwarf2.c:3093) ==13435== by 0x40685FA: _bfd_elf_find_nearest_line (elf.c:6885) ==13435== by 0x804AEAE: resolve_address (resolve.c:93) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== ==13435== 3,744,187 bytes in 41,989 blocks are definitely lost in loss record 7 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x4051968: concat_filename (dwarf2.c:1064) ==13435== by 0x40529C4: scan_unit_for_symbols (dwarf2.c:1936) ==13435== by 0x4052C67: comp_unit_find_nearest_line (dwarf2.c:2262) ==13435== by 0x4053AF0: find_line (dwarf2.c:3093) ==13435== by 0x40685FA: _bfd_elf_find_nearest_line (elf.c:6885) ==13435== by 0x804AEAE: resolve_address (resolve.c:93) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== ==13435== 10,093,133 bytes in 113,546 blocks are definitely lost in loss record 8 of 8 ==13435== at 0x40207C4: malloc (vg_replace_malloc.c:207) ==13435== by 0x4041304: bfd_malloc (libbfd.c:173) ==13435== by 0x4051968: concat_filename (dwarf2.c:1064) ==13435== by 0x4052A1E: scan_unit_for_symbols (dwarf2.c:1957) ==13435== by 0x4052C67: comp_unit_find_nearest_line (dwarf2.c:2262) ==13435== by 0x4053AF0: find_line (dwarf2.c:3093) ==13435== by 0x40685FA: _bfd_elf_find_nearest_line (elf.c:6885) ==13435== by 0x804AEAE: resolve_address (resolve.c:93) ==13435== by 0x8049BEB: btlist_print (list.c:124) ==13435== by 0x804A31E: process_data (list.c:199) ==13435== by 0x8049668: main (main.c:40) ==13435== ==13435== LEAK SUMMARY: ==13435== definitely lost: 14,300,910 bytes in 161,416 blocks. ==13435== possibly lost: 1,071 bytes in 12 blocks. ==13435== still reachable: 88 bytes in 1 blocks. ==13435== suppressed: 0 bytes in 0 blocks. ==13435== Reachable blocks (those to which a pointer was found) are not shown. ==13435== To see them, rerun with: --leak-check=full --show-reachable=yes -- System Information: Debian Release: lenny/sid APT prefers intrepid-updates APT policy: (500, 'intrepid-updates'), (500, 'intrepid-security'), (500, 'intrepid') Architecture: i386 (i686) Kernel: Linux 2.6.27-7-generic (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages binutils depends on: ii libc6 2.8~20080505-0ubuntu7 GNU C Library: Shared libraries ii zlib1g 1:1.2.3.3.dfsg-12ubuntu1 compression library - runtime binutils recommends no packages. Versions of packages binutils suggests: pn binutils-doc <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

