public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug nptl/5171] New: Memory leak in nptl pthread_create() call
@ 2007-10-13 1:13 apconole at yahoo dot com
2007-10-15 4:04 ` [Bug nptl/5171] " drepper at redhat dot com
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: apconole at yahoo dot com @ 2007-10-13 1:13 UTC (permalink / raw)
To: glibc-bugs
While testing out a heap management system, I noticed that there consistently
appears to be 100 bytes or so leaked during the call to pthread_create. This
memory is not reclaimed, even with explicit usage of pthread_exit.
The PC of the leak, under gdb, yeilds the following:
0x4000dcc4 <allocate_dtv+52>: call 0x4000076c <completed.4497+939223960>
0x4000dcc9 <allocate_dtv+57>: test %eax,%eax
The backtrace of this call:
#0 0x4000dc9b in allocate_dtv () from /lib/ld-linux.so.2
#1 0x4000df3c in _dl_allocate_tls () from /lib/ld-linux.so.2
#2 0x441a78e5 in pthread_create@@GLIBC_2.1 () from /lib/tls/libpthread.so.0
#3 0x0804885a in main () at test.c:59
The reporting from valgrind confirms this:
272 bytes in 2 blocks are possibly lost in loss record 5 of 7
at 0x40046FF: calloc (vg_replace_malloc.c:279)
by 0x446479E9: _dl_allocate_tls (in /lib/ld-2.5.so)
by 0x447C79D6: pthread_create@@GLIBC_2.1 (in /lib/libpthread-2.5.so)
by 0x80488BD: main (test.c:59)
I can also dump the contents of these bytes, if needed.
--
Summary: Memory leak in nptl pthread_create() call
Product: glibc
Version: 2.3.5
Status: NEW
Severity: normal
Priority: P2
Component: nptl
AssignedTo: drepper at redhat dot com
ReportedBy: apconole at yahoo dot com
CC: glibc-bugs at sources dot redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=5171
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug nptl/5171] Memory leak in nptl pthread_create() call
2007-10-13 1:13 [Bug nptl/5171] New: Memory leak in nptl pthread_create() call apconole at yahoo dot com
@ 2007-10-15 4:04 ` drepper at redhat dot com
2009-01-29 16:05 ` vgabor at gmail dot com
2009-01-29 16:35 ` drepper at redhat dot com
2 siblings, 0 replies; 4+ messages in thread
From: drepper at redhat dot com @ 2007-10-15 4:04 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From drepper at redhat dot com 2007-10-15 04:04 -------
There are no known leaks. Aside from the fact that you're using an ancient
glibc version there are other possibilities
- valgrind gets it wrong. This can happen in lowlevel code like glibc
- you mistake memory which cannot be freed until the end for a memory leak.
This is not the same
Get the most recent glibc and provide a self-contained test case. Until then I
close the bug.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |WORKSFORME
http://sourceware.org/bugzilla/show_bug.cgi?id=5171
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug nptl/5171] Memory leak in nptl pthread_create() call
2007-10-13 1:13 [Bug nptl/5171] New: Memory leak in nptl pthread_create() call apconole at yahoo dot com
2007-10-15 4:04 ` [Bug nptl/5171] " drepper at redhat dot com
@ 2009-01-29 16:05 ` vgabor at gmail dot com
2009-01-29 16:35 ` drepper at redhat dot com
2 siblings, 0 replies; 4+ messages in thread
From: vgabor at gmail dot com @ 2009-01-29 16:05 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From vgabor at gmail dot com 2009-01-29 16:04 -------
The leak still there (at least in the version 2.3.4, unfortunately I could not
test it with the latest cvs) The following code produces the valgrind output below.
Additionaly it does not make any differences if the pthread_detach is called
either within the thread before the pthread_exit or just right after the
pthread_create (instead of the pthread_join).
$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.3.4
code:
--------------------------
#include <pthread.h>
#include <stdio.h>
void *startup(void *args)
{
printf("startup\n");
pthread_exit((void *) 0);
}
int main(int argc, char * argv[], char * env[])
{
pthread_t tid;
pthread_create(&tid, NULL, startup, NULL);
pthread_join(tid, NULL);
return 0;
}
--------------------------
valgrind:
--14937-- Startup, with flags:
--14937-- -v
--14937-- --trace-children=yes
--14937-- --track-fds=yes
--14937-- --log-file=valgrind.log
--14937-- --memcheck:show-reachable=yes
--14937-- --memcheck:leak-check=full
--14937-- --memcheck:leak-resolution=high
--14937-- Contents of /proc/version:
--14937-- Linux version 2.6.9-42.0.8.EL
(brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 3.4.6 20060404 (Red Hat 3.4
.6-3)) #1 Tue Jan 23 12:37:31 EST 2007
==14937==
==14937== malloc/free: in use at exit: 172 bytes in 2 blocks.
==14937== malloc/free: 3 allocs, 1 frees, 1,196 bytes allocated.
==14937==
==14937== searching for pointers to 2 not-freed blocks.
==14937== checked 10,601,248 bytes.
==14937==
==14937== 28 bytes in 1 blocks are still reachable in loss record 1 of 2
==14937== at 0x4004405: malloc (vg_replace_malloc.c:149)
==14937== by 0x44D747: _dl_map_object_deps (in /lib/ld-2.3.4.so)
==14937== by 0x55C2D8: dl_open_worker (in /lib/tls/libc-2.3.4.so)
==14937== by 0x44E66D: _dl_catch_error (in /lib/ld-2.3.4.so)
==14937== by 0x55CAB7: _dl_open (in /lib/tls/libc-2.3.4.so)
==14937== by 0x55DEAC: do_dlopen (in /lib/tls/libc-2.3.4.so)
==14937== by 0x44E66D: _dl_catch_error (in /lib/ld-2.3.4.so)
==14937== by 0x55DF8D: __libc_dlopen_mode (in /lib/tls/libc-2.3.4.so)
==14937== by 0x5C4287: pthread_cancel_init (in /lib/tls/libpthread-2.3.4.so)
==14937== by 0x5C43FC: _Unwind_ForcedUnwind (in /lib/tls/libpthread-2.3.4.so)
==14937== by 0x5C2220: __pthread_unwind (in /lib/tls/libpthread-2.3.4.so)
==14937== by 0x5BE10F: pthread_exit (in /lib/tls/libpthread-2.3.4.so)
==14937==
==14937==
==14937== 144 bytes in 1 blocks are possibly lost in loss record 2 of 2
==14937== at 0x40056BF: calloc (vg_replace_malloc.c:279)
==14937== by 0x450C8A: _dl_allocate_tls (in /lib/ld-2.3.4.so)
==14937== by 0x5BD9FD: pthread_create@@GLIBC_2.1 (in
/lib/tls/libpthread-2.3.4.so)
==14937== by 0x8048551: main (pthreadtest.cpp:16)
==14937==
==14937== LEAK SUMMARY:
==14937== definitely lost: 0 bytes in 0 blocks.
==14937== possibly lost: 144 bytes in 1 blocks.
==14937== still reachable: 28 bytes in 1 blocks.
==14937== suppressed: 0 bytes in 0 blocks.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|WORKSFORME |
http://sourceware.org/bugzilla/show_bug.cgi?id=5171
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug nptl/5171] Memory leak in nptl pthread_create() call
2007-10-13 1:13 [Bug nptl/5171] New: Memory leak in nptl pthread_create() call apconole at yahoo dot com
2007-10-15 4:04 ` [Bug nptl/5171] " drepper at redhat dot com
2009-01-29 16:05 ` vgabor at gmail dot com
@ 2009-01-29 16:35 ` drepper at redhat dot com
2 siblings, 0 replies; 4+ messages in thread
From: drepper at redhat dot com @ 2009-01-29 16:35 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From drepper at redhat dot com 2009-01-29 16:35 -------
Why on earth do you think you should reopen this? The only versions of glibc
which are supported are the very latest. Unless you find a problem in glibc 2.9
or the current development code don't *EVER* open or reopen a bug.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
http://sourceware.org/bugzilla/show_bug.cgi?id=5171
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-01-29 16:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-13 1:13 [Bug nptl/5171] New: Memory leak in nptl pthread_create() call apconole at yahoo dot com
2007-10-15 4:04 ` [Bug nptl/5171] " drepper at redhat dot com
2009-01-29 16:05 ` vgabor at gmail dot com
2009-01-29 16:35 ` drepper at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).