Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 172621 - www-client/mozilla-firefox-2.0.0.2: memory leak resulting in OOM
Summary: www-client/mozilla-firefox-2.0.0.2: memory leak resulting in OOM
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Mozilla Gentoo Team
URL: https://bugzilla.mozilla.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-28 23:36 UTC by William Pitcock
Modified: 2007-03-30 12:05 UTC (History)
3 users (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 William Pitcock 2007-03-28 23:36:22 UTC
Bon Echo 2.0.0.2 leaks memory badly on all of my machines. No abnormal CFLAGS are used.

After some casual browsing, the ps entry for firefox looks like:
  11826 nenolod   17   0  301m 113m  14m R 14.0 24.6  20:26.69 firefox-bin

While firefox 1.5 had this problem, it was not as bad. For this reason, I recommend not discontinuing firefox 1.5 until this memory leak is resolved, as it has caused my system to go OOM before.

When using x86, this is also experienced using the official builds of firefox 2.

emerge --info of a sample machine it is occuring on:
Portage 2.1.2.2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5.0-r1, 2.6.16.28-xen-r2 i686)
=================================================================
System uname: 2.6.16.28-xen-r2 i686
Gentoo Base System release 1.12.9
Timestamp of tree: Wed, 28 Mar 2007 04:00:04 +0000
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/xeffects"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aiglx alsa arts berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr eds emboss encode esd fam firefox fortran gdbm gif glitz gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg kde ldap libg++ mad midi mikmod mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xml xorg xv 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

emerge --info of another machine on which it happens:
Portage 2.1.2.2 (default-linux/ppc/ppc64/2006.1/64bit-userland-gcc4, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo ppc64)
=================================================================
System uname: 2.6.18-gentoo-r1 ppc 7450, altivec supported
Gentoo Base System release 1.12.9
Timestamp of tree: Fri, 09 Mar 2007 03:00:01 +0000
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="ppc64 ~ppc64"
AUTOCLEAN="yes"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=G5 -mtune=G5 -maltivec -mabi=altivec -fno-strict-aliasing -pipe"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -mcpu=G5 -mtune=G5 -maltivec -mabi=altivec -fno-strict-aliasing -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer nostrip sandbox sfperms strict"GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa altivec aotuv apache2 audacious berkdb bitmap-fonts bonobo cdr cli cracklib crypt cups dri dvd eds emboss encode esd firefox fortran gdbm gif gpm gstreamer gtk iconv ipv6 isdnlog jpeg ldap libg++ libwww mad midi mikmod mozilla mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre pdf perl png ppc pppd python quicktime readline reflection ruby sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis wma xml xorg xv zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

-

I can test if it happens on hppa, but I don't think that is too relevant.

-nenolod

Reproducible: Always

Steps to Reproduce:
1. Install web-client/mozilla-firefox or web-client/mozilla-firefox-bin (only on x86)
2. Surf around on the web a bit
3. Watch as mozilla has mapped most of your system memory forcing other apps (including X!) into swap.

Actual Results:  
Mozilla eventually maps most of your system memory.

Expected Results:  
Mozilla should delete objects when it is done with them as all C++ apps should.

This should block removal of firefox-1.5 from the tree, as it did not exhibit this behaviour as badly.
Comment 1 William Pitcock 2007-03-28 23:38:39 UTC
Oh, I just realized that the emerge --info for my G4 PowerMac 3,5 got screwed up.
The profile/CFLAGS for that should be considered for ppc32/G4 respectively.

At any rate, that is not relevant to this bug.
Comment 2 William Pitcock 2007-03-29 04:29:23 UTC
https://bugzilla.mozilla.org/show_bug.cgi?id=259672 is another bug that should be considered blocking forced adoption of 2.0 into stable, as it can cause an OOM in the X server.
Comment 3 William Pitcock 2007-03-29 04:31:04 UTC
Additionally, this seems to be related to the new ThreadManager code, of which many bugs are reported at Mozilla. (sorry for the bugspam.)
Comment 4 Kashinath R. Pande 2007-03-29 04:37:26 UTC
kash     27942  1.4  7.3 334324 70876 ?        Sl   20:24   2:51 /usr/lib/mozilla-firefox/firefox-bin


Reproduced locally.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2007-03-29 06:21:38 UTC
As you've noted, this is not a Gentoo-specific issue -> UPSTREAM. (Also not that heavy memory usage != memory leak)
Comment 6 William Pitcock 2007-03-29 11:25:05 UTC
No.

It is a gentoo bug because according to GWN, Firefox 1.5 is being deprecated for Firefox 2, which has this bug. Firefox 1.5 does not cause my systems to fail with an active OOM killer (full RAM+swap) after a few days of heavy use.

As such, reopening.
Comment 7 William Pitcock 2007-03-29 11:27:06 UTC
Additionally, the bug IS a memory leak. If it was high memory usage, then launching it and using it for a short amount of time would cause an OOM as the memory would have been mapped already.
Comment 8 Tony Vroon (RETIRED) gentoo-dev 2007-03-29 11:35:16 UTC
Assigning bug to correct herd.
Comment 9 Raúl Porcel (RETIRED) gentoo-dev 2007-03-29 19:24:33 UTC
Well, you'll have to migrate to 2.0 anyways. Starting 26 April, 1.5 will be unsupported by Mozilla, so...
Comment 10 Kashinath R. Pande 2007-03-29 21:04:11 UTC
How 'bout we keep 2.0 unstable and let 1.5 be the stable, until Mozilla fixes their mistakes?
Comment 11 Raúl Porcel (RETIRED) gentoo-dev 2007-03-29 21:36:07 UTC
(In reply to comment #10)
> How 'bout we keep 2.0 unstable and let 1.5 be the stable, until Mozilla fixes
> their mistakes?
> 

Still unsupported by Mozilla after 26 April...if they don't support it, we don't either.

If you're unhappy with that, blame them, not us. And you can keep the ebuilds in your local overlay.
Comment 12 William Pitcock 2007-03-30 03:15:49 UTC
(In reply to comment #9)
> Well, you'll have to migrate to 2.0 anyways. Starting 26 April, 1.5 will be
> unsupported by Mozilla, so...
> 

While that's great and all, I'm sure that Debian's security team will be stepping in for sarge -- in which case, there will be security fixes.

Fact is, 1.5 does not cause OOMs. Until 2.0 does not, it is not a suitable replacement for Firefox 1.5.
Comment 13 FieldySnuts 2007-03-30 03:20:25 UTC
I don't like to add to a noisy bug by asking that it not be a forum. but.. can we please stop treating this bug like a forum? thanks.
Comment 14 Raúl Porcel (RETIRED) gentoo-dev 2007-03-30 07:56:11 UTC
(In reply to comment #12)
> 
> While that's great and all, I'm sure that Debian's security team will be
> stepping in for sarge -- in which case, there will be security fixes.
> 
> Fact is, 1.5 does not cause OOMs. Until 2.0 does not, it is not a suitable
> replacement for Firefox 1.5.
> 

Debian doesn't use Mozilla Firefox. It's like you're asking to me to keep www-client/mozilla, which had a lot of security vulnerabilities. We're not going to have some vulnerable and unsupported app. 

If you're unhappy with that, i've already said, keep the ebuilds in your local overlay an blame Mozilla for dropping support of 1.5 series.
Comment 15 Kashinath R. Pande 2007-03-30 11:02:18 UTC
There's going to be a lot of problems if 2.0 stays stable. It's unstable, and should be treated by the portage team as such.
Comment 16 Raúl Porcel (RETIRED) gentoo-dev 2007-03-30 11:18:47 UTC
What does the portage team have to do here? The portage team only takes care of sys-apps/portage, not the entire tree. All the Mozilla products in the tree belong to the mozilla herd/team, and i'm from that herd.

And i'm telling you, www-client/mozilla was not dropped when Mozilla dropped support of it because a lot of packages depended in it. No package depends on www-client/mozilla-firefox-1.5*. There's no way we are going to support _ANY_ package which is unsupported upstream.

Again, we're not dropping 1.5 because we want, we are doing so because it's unsupported upstream and when some new exploit gets discovered it won't be fixed. Make Mozilla to support it after that date and we'll keep it. Else it will get removed.

Feel free to create a public overlay with those ebuilds. And again, it's being dropped by Mozilla, not us.
Comment 17 Stuart Longland (RETIRED) gentoo-dev 2007-03-30 12:05:38 UTC
As others have explained, this bug is _nothing_ to do with us, and everything to do with upstream.

The memory leak you mention doesn't just affect Mozilla Firefox on Gentoo Linux, or even Linux in general.  I've seen similar memory leaks on the Win32 port of Firefox too.

I'd suggest looking at the bug linked above.