Package: libblkid1 Version: 1.39+1.40-WIP-2006.11.14+dfsg-1 Severity: grave Tags: patch
(RMs: I'm unsure if this should be fixed for etch or not, given that I do not know of anything in etch that actually uses this library enough for it to leak. Feel free to downgrade or tag etch-ignore, of course.) nfs-kernel-server 1.0.12 has started using libblkid, and leaks absurd amounts of memory (in the order of several megabytes per minute). Tracing using Omega (which is not yet in Debian, but nevertheless really useful) tracked the leaks down to libblkid. I've attached a diff that fixes the issues for me, and allows me to run nfs-kernel-server with only minor leaks (which I'll take with nfs-utils upstream, as they are not libblkid1 related). -- System Information: Debian Release: 4.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.19 Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8) Versions of packages libblkid1 depends on: ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries ii libdevmapper1.02 2:1.02.12-1 The Linux Kernel Device Mapper use ii libselinux1 1.32-3 SELinux shared libraries ii libsepol1 1.14-3 Security Enhanced Linux policy lib libblkid1 recommends no packages. -- debconf-show failed
Only in e2fsprogs-patched/debian: BUILD-BF Only in e2fsprogs-patched/debian: BUILD-STD Only in e2fsprogs-patched/debian: comerr-dev Only in e2fsprogs-patched/debian: comerr-dev.postinst.debhelper Only in e2fsprogs-patched/debian: comerr-dev.prerm.debhelper Only in e2fsprogs-patched/debian: e2fsck-static Only in e2fsprogs-patched/debian: e2fslibs Only in e2fsprogs-patched/debian: e2fslibs-dev Only in e2fsprogs-patched/debian: e2fslibs-dev.postinst.debhelper Only in e2fsprogs-patched/debian: e2fslibs-dev.prerm.debhelper Only in e2fsprogs-patched/debian: e2fslibs.postinst.debhelper Only in e2fsprogs-patched/debian: e2fslibs.postrm.debhelper Only in e2fsprogs-patched/debian: e2fslibs.substvars Only in e2fsprogs-patched/debian: e2fsprogs Only in e2fsprogs-patched/debian: e2fsprogs-udeb Only in e2fsprogs-patched/debian: e2fsprogs-udeb.substvars Only in e2fsprogs-patched/debian: e2fsprogs.substvars Only in e2fsprogs-patched/debian: files Only in e2fsprogs-patched/debian: files~ Only in e2fsprogs-patched/debian: libblkid-dev Only in e2fsprogs-patched/debian: libblkid1 Only in e2fsprogs-patched/debian: libblkid1-udeb Only in e2fsprogs-patched/debian: libblkid1-udeb.substvars Only in e2fsprogs-patched/debian: libblkid1.postinst.debhelper Only in e2fsprogs-patched/debian: libblkid1.postrm.debhelper Only in e2fsprogs-patched/debian: libblkid1.substvars Only in e2fsprogs-patched/debian: libcomerr2 Only in e2fsprogs-patched/debian: libcomerr2.postinst.debhelper Only in e2fsprogs-patched/debian: libcomerr2.postrm.debhelper Only in e2fsprogs-patched/debian: libcomerr2.substvars Only in e2fsprogs-patched/debian: libss2 Only in e2fsprogs-patched/debian: libss2.postinst.debhelper Only in e2fsprogs-patched/debian: libss2.postrm.debhelper Only in e2fsprogs-patched/debian: libss2.substvars Only in e2fsprogs-patched/debian: libuuid1 Only in e2fsprogs-patched/debian: libuuid1-udeb Only in e2fsprogs-patched/debian: libuuid1-udeb.substvars Only in e2fsprogs-patched/debian: libuuid1.postinst.debhelper Only in e2fsprogs-patched/debian: libuuid1.postrm.debhelper Only in e2fsprogs-patched/debian: libuuid1.substvars diff -ur e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/rules e2fsprogs-patched/debian/rules --- e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/rules 2006-11-13 02:19:40.000000000 +0100 +++ e2fsprogs-patched/debian/rules 2007-03-06 13:41:53.000000000 +0100 @@ -70,7 +70,7 @@ INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 0755 ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -CCOPTS += -O2 +CCOPTS += -O0 endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s @@ -356,9 +356,9 @@ -pe2fslibs -puuid-dev -pe2fsck-static ifneq ($(ismips),) - dh_strip -Xlib64ext2fs-nopic.a + #dh_strip -Xlib64ext2fs-nopic.a else - dh_strip + #dh_strip endif dh_compress Only in e2fsprogs-patched/debian: ss-dev Only in e2fsprogs-patched/debian: stampdir Only in e2fsprogs-patched/debian: tmp Only in e2fsprogs-patched/debian: uuid-dev diff -ur e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/lib/blkid/devname.c e2fsprogs-patched/lib/blkid/devname.c --- e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/lib/blkid/devname.c 2006-09-12 07:25:40.000000000 +0200 +++ e2fsprogs-patched/lib/blkid/devname.c 2007-03-06 14:00:03.000000000 +0100 @@ -305,6 +305,7 @@ probe_one(cache, device, dev, BLKID_PRI_DM, only_if_new); try_next: + free(device); next = names->next; } while (next); diff -ur e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/lib/blkid/probe.c e2fsprogs-patched/lib/blkid/probe.c --- e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/lib/blkid/probe.c 2006-09-18 03:12:28.000000000 +0200 +++ e2fsprogs-patched/lib/blkid/probe.c 2007-03-06 13:55:19.000000000 +0100 @@ -888,6 +888,10 @@ if (!dev->bid_type) { if (probe.fd >= 0) close(probe.fd); blkid_free_dev(dev); + if (probe.sbbuf) + free(probe.sbbuf); + if (probe.buf) + free(probe.buf); return NULL; }