This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Bug libc/3087] New: Memory leak in allocate_dtv (in /lib/ld-2.3.5.so), SuSE Linux 10.0


Hi,

I confirmed this memory leak under Linux Debian libc 2.3.2 (it's an old leak).

Regards,
Michael Vergoz

----- Original Message ----- From: "chollstein at teracortex dot com" <sourceware-bugzilla@sourceware.org>
To: <glibc-bugs@sources.redhat.com>
Sent: Friday, August 18, 2006 12:55 PM
Subject: [Bug libc/3087] New: Memory leak in allocate_dtv (in /lib/ld-2.3.5.so), SuSE Linux 10.0



Found with valgrind in glibc 2.3.5, but on the internet it is also reported for
glibc 2.4. After a pthread_create and pthread_join valgrind reports a memory
leak. I could not find a definite answer, if this is an error or not. The number
of reported leaks grows in server applications, where with each request a new
handler thread is created.




Valgrind output:
==5599== Memcheck, a memory error detector.
==5599== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==5599== Using LibVEX rev 1606, a library for dynamic binary translation.
==5599== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==5599== Using valgrind-3.2.0, a dynamic binary instrumentation framework.
==5599== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==5599== For more details, rerun with: -v
==5599==
==5599==
==5599== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 15 from 1)
==5599== malloc/free: in use at exit: 68 bytes in 1 blocks.
==5599== malloc/free: 1 allocs, 0 frees, 68 bytes allocated.
==5599== For counts of detected errors, rerun with: -v
==5599== searching for pointers to 1 not-freed blocks.
==5599== checked 2,171,312 bytes.
==5599==
==5599== 68 bytes in 1 blocks are possibly lost in loss record 1 of 1
==5599==    at 0x401C894: calloc (vg_replace_malloc.c:279)
==5599==    by 0x400DCC8: allocate_dtv (in /lib/ld-2.3.5.so)
==5599==    by 0x400DF3B: _dl_allocate_tls (in /lib/ld-2.3.5.so)
==5599==    by 0x40388E4: pthread_create@@GLIBC_2.1 (in
/lib/tls/libpthread-2.3.5.so)
==5599==    by 0x804849F: main (in /home/holle/src/a.out)
==5599==
==5599== LEAK SUMMARY:
==5599==    definitely lost: 0 bytes in 0 blocks.
==5599==      possibly lost: 68 bytes in 1 blocks.
==5599==    still reachable: 0 bytes in 0 blocks.
==5599==         suppressed: 0 bytes in 0 blocks.


Test program compiled under Linux SuSE 10.0 with


gcc test.c -lpthread

valgrind --tool=memcheck --leak-check=yes --num-callers=12
--freelist-vol=100000000 --show-reachable=yes ./a.out



Test program:



#include <pthread.h>

static void *func(void *param)
{
 return NULL;
}


int main(int argc, char **argv) { pthread_t handle;

 pthread_create(&handle, NULL, func, NULL);
 pthread_join(handle, NULL);

 return 0;
}

--
          Summary: Memory leak in allocate_dtv (in /lib/ld-2.3.5.so), SuSE
                   Linux 10.0
          Product: glibc
          Version: 2.4
           Status: NEW
         Severity: normal
         Priority: P1
        Component: libc
       AssignedTo: drepper at redhat dot com
       ReportedBy: chollstein at teracortex dot com
               CC: glibc-bugs at sources dot redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=3087


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]