|
From: <sv...@va...> - 2005-08-20 12:05:41
|
Author: tom
Date: 2005-08-20 13:05:32 +0100 (Sat, 20 Aug 2005)
New Revision: 4470
Log:
Suppress memory leaks from the linuxthread manager thread. Bug #111006.
Modified:
trunk/glibc-2.2.supp
trunk/glibc-2.3.supp
Modified: trunk/glibc-2.2.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/glibc-2.2.supp 2005-08-20 11:46:57 UTC (rev 4469)
+++ trunk/glibc-2.2.supp 2005-08-20 12:05:32 UTC (rev 4470)
@@ -550,3 +550,50 @@
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.2.5
}
+
+## LinuxThreads leaks the stack and TLS data for the manager thread
+{
+ LinuxThreads: leaks stack of manager thread
+ Memcheck:Leak
+ fun:malloc
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.1
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:calloc
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks stack of manager thread
+ Memcheck:Leak
+ fun:malloc
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.2.5
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:calloc
+ fun:allocate_dtv
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
Modified: trunk/glibc-2.3.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/glibc-2.3.supp 2005-08-20 11:46:57 UTC (rev 4469)
+++ trunk/glibc-2.3.supp 2005-08-20 12:05:32 UTC (rev 4470)
@@ -363,6 +363,29 @@
fun:pthread_create
}
=20
+## LinuxThreads leaks the stack and TLS data for the manager thread
+{
+ LinuxThreads: leaks stack of manager thread
+ Memcheck:Leak
+ fun:malloc
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.1
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:calloc
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+
##----------------------------------------------------------------------=
##
## glibc-2.3.4 on FC3
## Assumes that sysctl returns \0-terminated strings in is_smp_system
|
|
From: Christian P. <tr...@ge...> - 2005-08-20 13:24:50
|
On Saturday 20 August 2005 14:05, sv...@va... wrote: > Author: tom > Date: 2005-08-20 13:05:32 +0100 (Sat, 20 Aug 2005) > New Revision: 4470 > > Log: > Suppress memory leaks from the linuxthread manager thread. Bug #111006. > > Modified: > trunk/glibc-2.2.supp > trunk/glibc-2.3.supp I'm reading this list for quite some time now, and I was always wondering f= or=20 why you do supress all those leaks and alikes. In fact, these must be bugs, too, aren't they? So, they should be reported to upstream (glibc here) that they can fix them. Or am I misunderstanding something? Thanks in advance, Christian Parpart. =2D-=20 15:23:12 up 150 days, 4:30, 0 users, load average: 0.13, 0.07, 0.08 |
|
From: Tom H. <to...@co...> - 2005-08-20 14:27:57
|
In message <200...@ge...>
Christian Parpart <tr...@ge...> wrote:
> On Saturday 20 August 2005 14:05, sv...@va... wrote:
>
> > Log:
> > Suppress memory leaks from the linuxthread manager thread. Bug #111006.
> >
> > Modified:
> > trunk/glibc-2.2.supp
> > trunk/glibc-2.3.supp
>
> I'm reading this list for quite some time now, and I was always wondering
> for why you do supress all those leaks and alikes.
Various reasons - sometimes because they aren't real bugs and sometimes
just because they are in software (like glibc or X) that everybody uses
and which we don't control.
> In fact, these must be bugs, too, aren't they?
They aren't always bugs, sometimes it is just that valgrind isn't clever
enough to work out that they aren't bugs.
In this particular case the memory that is leaked is the stack for the
manager thread. That stack is created when the manager thread is created
which would normally be the first time pthread_create is called. It is
never freed because the manager thread doesn't terminate until the
program terminates and (if you read the comments in glibc) it is no
longer safe to call free by the time it gets as far as trying to clean
up that memory. So it isn't really important because the program is
about to terminate anyway.
> So, they should be reported to upstream (glibc here) that they can fix them.
If they are real bugs then that is certainly ideal.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Christian P. <tr...@ge...> - 2005-08-21 04:09:34
|
On Saturday 20 August 2005 16:27, Tom Hughes wrote: > In message <200...@ge...> > > Christian Parpart <tr...@ge...> wrote: > > On Saturday 20 August 2005 14:05, sv...@va... wrote: > > > Log: > > > Suppress memory leaks from the linuxthread manager thread. Bug #11100= 6. > > > > > > Modified: > > > trunk/glibc-2.2.supp > > > trunk/glibc-2.3.supp > > > > I'm reading this list for quite some time now, and I was always wonderi= ng > > for why you do supress all those leaks and alikes. > > Various reasons - sometimes because they aren't real bugs and sometimes > just because they are in software (like glibc or X) that everybody uses > and which we don't control. > > > In fact, these must be bugs, too, aren't they? > > They aren't always bugs, sometimes it is just that valgrind isn't clever > enough to work out that they aren't bugs. Many thanks ;) Regards, Christian Parpart. =2D-=20 06:08:47 up 150 days, 19:16, 1 user, load average: 0.00, 0.00, 0.00 |