Your message dated Sun, 05 Jul 2009 14:33:33 +0200
with message-id <[email protected]>
and subject line Re: Bug#519285: binutils leaks a lot of memory in some cases
has caused the Debian Bug report #519285,
regarding binutils leaks a lot of memory in some cases
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
519285: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519285
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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
--- End Message ---
--- Begin Message ---
Version: 2.19.1-1
libbfd leaks memory in some places schrieb:
> 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?
should be fixed in 2.19.1 according to the bug tracker. If not, please check
with 2.19.51.20090704-1 in unstable.
--- End Message ---