Bug#763559: libc6: Memory leak with dlopen() and thread-local storage variables
Package: libc6
Version: 2.13-38+deb7u4
Severity: important
Dear Maintainer,
There is a bug with the eglibc included in Wheezy that causes thread-local
variables introduced by dlopen()'ed objects not to be properly freed. This
can be a problem in any C program that loads a C++ module and runs threads
in it, since libstdc++ introduces a thread-local variable for exception
handling.
The issue is described at glibc's bugzilla at this URL:
<https://sourceware.org/bugzilla/show_bug.cgi?id=12650>
It includes a working test-case and a link to the commit which fixed the issue:
<http://repo.or.cz/w/glibc.git/commitdiff/e6c61494125126d2ba77e5d99f83887a2ed49783>
This bug report over GCC describes the interaction with libcstd++:
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39366>
I have confirmed that this bug does not exist in Jessie. It would be a very
Nice Thing if the fix could be backported to Wheezy, but I'm not familiar
enough with the Policy to tell if this is feasible.
In the meantime, I'll be restarting my HTTP server once a day. ;)
-- System Information:
Debian Release: 7.6
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.10.5 (SMP w/2 CPU cores)
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 libc6 depends on:
ii libc-bin 2.13-38+deb7u4
ii libgcc1 1:4.7.2-5
libc6 recommends no packages.
Versions of packages libc6 suggests:
ii debconf [debconf-2.0] 1.5.49
ii glibc-doc 2.13-38+deb7u4
ii locales 2.13-38+deb7u4
ii locales-all [locales] 2.13-38+deb7u4
-- debconf information:
glibc/upgrade: true
glibc/disable-screensaver:
glibc/restart-failed:
* glibc/restart-services: spamassassin sendmail openbsd-inetd dovecot cups cron atd
* libraries/restart-without-asking: false
Reply to: