[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: