GNOME Bugzilla – Bug 476106
Memory leak in epiphany
Last modified: 2009-01-21 23:45:16 UTC
Please describe the problem: Epiphany with few pages opened can consumes 1 GiB. I'm sure it's not caching because memory consumption grows throught night while I Steps to reproduce: 1. Open epiphany 2. Surf the web 3. Go sleep ;) 4. See on memory consumption Actual results: Memory consumption grows Expected results: It stays on the same level Does this happen every time? Yes Other information: Portage 2.1.3.9 (default-linux/x86/2007.0/desktop, gcc-4.2.0, glibc-2.6.1-r0, 2.6.20-beyond2 i686) ================================================================= System uname: 2.6.20-beyond2 i686 Intel(R) Celeron(R) M processor 1.50GHz Timestamp of tree: Wed, 12 Sep 2007 02:00:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.0.9999 dev-lang/python: 2.4.4-r5, 2.5.1-r2 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.10-r4 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 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.18.50.0.1 sys-devel/gcc-config: 1.4.0-r2 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -ggdb" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms splitdebug unmerge-orphans userfetch userpriv" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--add-needed" LINGUAS="en_GB en_US pl" MAKEOPTS="-j2" 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/java-overlay /usr/portage/local/layman/java-experimental /usr/portage/local/layman/emacs /usr/portage/local/layman/custom-kernels /usr/portage/local/layman/gnome-experimental /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac acl acpi alsa applet avahi avalon bash-completion beagle berkdb bitmap-fonts bluetooth boo browseplugin bzip2 cairo calendar caps cddb cdparanoia cdr cli clisp cracklib crypt cups curl curlwrappers d daap dbus devhelp disk-partition djvu dvd dvdr dvdread eclipse eds emacs emboss encode esd evo evolution exif expat fam ffmpeg firefox flac flash fuse galago gcj gconf gdbm gdl gedit gif gimp glut gmail gmp gnome gnutls gpm gsf gstreamer gtk gtkhtml guile hal iconv idle imap ipod iproute2 ipv6 isdnlog jabber java jpeg jpeg2k jython kerberos keyring libburn libgda libnotify libsexy logrotate lucene mad madwifi maildir mhash midi mikmod mmap mmx mono mozilla mp3 mpeg mudflap mule musicbrainz nautilus ncurses network nfs nls nntp no-old-linux nptl nptlonly nsplugin ntpl ogg oggvorbis openal opengl openmp pam pango pbm pcmcia pcre pdf perl png pop postgres pppd python quicktime readline reflection regex reiserfs resolvconf rhino ruby samba scanner sdl seamonkey session soap sourceview spell spl sqlite sse sse2 ssh ssl subversion svg symlink syslog tcpd tetex theora threads tiff timidity totem trayicon truetype truetype-fonts type1-fonts unicode usb vim vorbis vte wifi x86 xforms xhtml xml xml2 xorg xsl xulrunner xv zlib" ALSA_CARDS="atiixp" 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" CAMERAS="panasonic" ELIBC="glibc" INPUT_DEVICES="evdev mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en_US pl" USERLAND="GNU" VIDEO_CARDS="radeon" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Shell I get valgrid data?
Yes.
I've tried few times but it crashed each time. On Valgrid mailing list I didn't get any help.
I too use epiphany and I can confirm this happens. Eventually I have to close all the browser windows and restart epiphany. When you close the last forked window, you will see in the system monitor a huge square wave, as all of a sudden a bunch of memory becomes free. Let me know if you need more information. This is particularly annoying and bad. thanks! :( James, purpleidea@gmail.com
Present in 2.20.3. However not always reproducable (sometimes after few houres sometimes days). @James: Although I will try with valgrid once more since the bug is marked with NEEDINFO any information will be appriciated.
(In reply to comment #5) > Present in 2.20.3. However not always reproducable (sometimes after few houres > sometimes days). > > @James: Although I will try with valgrid once more since the bug is marked with > NEEDINFO any information will be appriciated. > Hey, I'm not very experienced with these matters, I've used valgrind a bit, but not sure what I can do to help, but I am willing if you could suggest something / guid e me. Let me know, cheers, _J ps: I know that epiphany will be soon supporting/changing to the webkit backend ( http://live.gnome.org/Epiphany/WebKit ) do you think this change will solve the problem? I just mention it in case it would save you a lot of work fixing a bug in a backend that will get replaced.
Well - it depends where the problem is. If the problem is with Gecko or integration with Gecko it will be solved (of course if it is not copied into new backend). However the bug should be fixed since both engines will be supported. If the problem is somewhere else it will not.
Created attachment 104171 [details] G_SLICE=always-malloc valgrind --leak-check=full --log-file=$HOME/Desktop/Bugs/epiphany-valgrid epiphany It is the start-up. Unfortunatly my computer is too weak to provide a full debug (memcheck consumed 1.5 of RAM etc.).
I see a lot of references to Python in the valgrind log... Can you disable all Python extensions and see if you can narrow down the problem that way?
1. As far as I remember the python is a little bit broken with valgrind 2. Which are those plugins?
A little bit of research doesn't hurt... [reinout@reinout-rcs extensions]$ find . -name '*.py' ./cc-license-viewer/cc-license-viewer.py ./favicon/favicon.py ./epilicious/epilicious.py ./epilicious/config.py ./epilicious/magnolia.py ./epilicious/backend.py ./epilicious/progress.py ./epilicious/EpiphanyStore.py ./epilicious/BaseStore.py ./epilicious/DeliciousStore.py ./epilicious/__init__.py ./python-console/console.py ./sample-python/sample-python-statusbar.py ./sample-python/sample-python-location.py ./sample-python/sample-python-menu.py ./sample-python/sample-python.py Plus any python extns you may have saved in ~/.gnome2/epiphany/extensions/.
I had only favicon enabled. If the problem will be stopped I will notify.
Created attachment 114456 [details] G_SLICE=always-malloc valgrind --leak-check=full --log-file=$HOME/Desktop/Bugs/epiphany-valgrid epiphany (without python plugins) Valgrid log without python plugins
PS. The log is from 2.22.3.
Which mem leak from the valgrind log is this bug about, then? Note that not all 'definitive' leaks are really leaks, they may also just be global data that's alive during the whole programme run and just (intentionally) not cleaned up on exit.
(In reply to comment #15) > Which mem leak from the valgrind log is this bug about, then? Note that not all > 'definitive' leaks are really leaks, they may also just be global data that's > alive during the whole programme run and just (intentionally) not cleaned up on > exit. > I'm not sure. However I can trace the whole live of epiphany by valgrid if somebody will sponsor a new procesor (any since you cannot upgrade it in my case without upgrading motherboard... ;) ). The fact is (was? after upgrade of RAM to 2 GiB it not seems to consume more then 66% in a worst case) that epiphany consumed 1.5 GiB of virtual space (as I had 512 MiB it cannot consume 1.5 GiB of memory). It was pointed out that many warrings etc. is in python and it was suggested that it might be responsible for this effect. Also there is hypothesis that the grow is in virtual address space only (I need to check it) or it was solved during development.
Seems to happen no more. I'll reopen if I reproduce.
Problem still seems to be valid although not so dramatic.
Just a second ago it consumed 1 GiB of memory and it rised sharply.
This is just way to vague to do anything about it IMHO. If you manage to figure out something specific please re-open...