Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 279811 - mail-client/mozilla-thunderbird-2.0.0.22 triggers X memory leak with >=dev-libs/nspr-4.8 >=dev-libs/nss-.3.12.3
Summary: mail-client/mozilla-thunderbird-2.0.0.22 triggers X memory leak with >=dev-li...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-31 16:39 UTC by Thomas Kahle (RETIRED)
Modified: 2009-08-20 10:04 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Kahle (RETIRED) gentoo-dev 2009-07-31 16:39:08 UTC
When building >=firefox-3.5.1 as deps >=dev-libs/nspr-4.8 >=dev-libs/nss-.3.12.3 get installed. I use the masked portage version with preserve libs which will tell me to rebuild thunderbird against these new versions but preserve the old ones. After rebuilding thunderbird X leaks memory. (1GB RAM usage after 3 days.) When thunderbird is still linked against the "old" versions (the ones required by firefox 3.0.*) this problem does not appear. It also not present when firefox-3.5.1 is installed but thunderbird is running with the preserved libs.

Sorry for being fuzzy. If there is any test I can run or additional info I can provide I'd be happy to do so.


Reproducible: Always

Steps to Reproduce:
1. emerge thunderbird-2.0.0.22 with >=dev-libs/nspr-4.8 >=dev-libs/nss-.3.12.3 unmasked
2. 
Actual Results:  
X leaks memory.


Portage 2.2_rc33 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.29-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.29-gentoo-r5-i686-Intel-R-_Core-TM-2_Duo_CPU_L7500_@_1.60GHz-with-glibc2.0
Timestamp of tree: Thu, 30 Jul 2009 19:45:02 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.5.4-r3
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.tiscali.nl/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US de ja es fr it"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/tom-overlay /home/tom/gentoo/sci"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa anthy apache2 avahi bash-completion berkdb bluetooth branding bzip2 cairo canna cddb cdparanoia cdr cjk cli consolekit cracklib crypt ctype cups curl daap dbus djvu dri dvd dvdr dvdread eds emacs encode esd evo expat fam fbcon ffmpeg firefox flac fortran freewnn ftp gd gdbm gif gimp glut gmp gnutls gpm graphviz gstreamer gtk guile hal hdaps iconv ieee1394 imagemagick imap imlib ipod ipv6 isdnlog java javascript jpeg kde latex ldap leim libnotify lm_sensors m17n-lib mad midi migemo mikmod mime mmx mng mp3 mp4 mpeg mplayer mudflap mule musicbrainz mysql mysqli ncurses nls nptl nptlonly nsplugin obex ocaml ogg oggvorbis openal opengl openmp pam pcmcia pcre pdf perl php plasma plotutils png ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sasl sdl session slang spell spl sqlite3 sse ssl startup-notification svg sysfs tcpd texlive theora threads tiff tk truetype unicode usb v4l v4l2 visualization vorbis wifi win32codecs wxwindows x86 xcomposite xine xinerama xml xorg xulrunner xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US de ja es fr it" USERLAND="GNU" VIDEO_CARDS="intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Fabio Correa 2009-08-01 14:09:05 UTC
Hello, so we have a problem specific to one of those libraries. So I'd like to suggest a preliminary test for anybody interested: emerge Thunderbird with the stable version of one of the libraries, and the unstable version of the other; check whether the memory leak persists. Then do the opposite thing and check again.

I do not quite understand what do you mean by "preserve the old ones[versions of the libraries]." Is it some slot? There are no slots for these libraries. I do not have the old versions, but I do not have time to run this test. I will keep a Thunderbird instance running in my memory to check for the leak.
Comment 2 Wormo (RETIRED) gentoo-dev 2009-08-01 18:57:04 UTC
Fabio: preserve libraries is a new portage feature (in masked versions of portage, as Thomas mentioned) that allows shared library files from an old package version to temporarily stay on the system after an upgrade; then they will be removed when all the applications have been rebuilt against the new library version. It makes upgrading more convenient, without making the library be slotted and installable fully in parallel (only the required .so files are kept from the old version, and not other files like header files that might collide with the new version).

So, that's how come Thomas could have thunderbird still using old libraries  even though these library packages are not slotted.

BTW, good suggestion to try different combinations of the old and new libraries, it will be nice if someone volunteers to do this...
Comment 3 Thomas Kahle (RETIRED) gentoo-dev 2009-08-20 10:04:16 UTC
I cannot reproduce this bug anymore. I am closing it as invalid since I now believe that I have triggered the high memory usage by some other factor, which I did not properly control for.