After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 523547 - Big memory leak in gpm
Big memory leak in gpm
Status: RESOLVED INVALID
Product: gnome-power-manager
Classification: Deprecated
Component: general
2.22.x
Other All
: Normal critical
: ---
Assigned To: GNOME Power Manager Maintainer(s)
GNOME Power Manager Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2008-03-20 13:27 UTC by Maciej (Matthew) Piechotka
Modified: 2008-08-03 23:06 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
tail of --verbose log (589.43 KB, text/plain)
2008-03-26 13:14 UTC, Simon McVittie
Details
backtrace when in leaky state (1 of 3) (5.78 KB, text/plain)
2008-03-26 13:16 UTC, Simon McVittie
Details
backtrace when in leaky state (2 of 3) (3.21 KB, text/plain)
2008-03-26 13:17 UTC, Simon McVittie
Details
backtrace when in leaky state (3 of 3) (3.27 KB, text/plain)
2008-03-26 13:17 UTC, Simon McVittie
Details

Description Maciej (Matthew) Piechotka 2008-03-20 13:27:01 UTC
Please describe the problem:
After a day or two gpm start consuming memory exponentially until it reach 1.5 GiB of memory (when it slowes down computer so much it is unusable and I kill it).

Steps to reproduce:
???


Actual results:
It consumes 1.5 GiB

Expected results:
It consumes around 11 MiB of resident memory (100 MiB virtual)

Does this happen every time?
Yes

Other information:
(Please note that in listing the new enviroment. The enviroment where the bug occured was gcc 4.2.3 with CFLAGS="-O2 -ftree-loop-optimize -ftree-vectorize -ggdb -march=pentium-m -mfpmath=sse -momit-leaf-frame-pointer -pipe -w" and LDFLAGS="-Wl,-O1 -Wl,--add-needed -Wl,--as-needed"):
Last login: Thu Mar 20 14:24:53 CET 2008 from notebook on pts/3
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.3.0, glibc-2.7-r1, 2.6.24-zen4 i686)
=================================================================
System uname: 2.6.24-zen4 i686 Intel(R) Celeron(R) M processor 1.50GHz
Timestamp of tree: Thu, 20 Mar 2008 03:00:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.5
dev-lang/python:     2.5.1-r5
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.24
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -ggdb -w -ftree-vectorize -ftree-loop-optimize -freorder-blocks-and-partition -fgcse-sm -fgcse-las -fgcse-after-reload -combine -ftracer -maccumulate-outgoing-args"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-Os -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -ggdb -w -ftree-vectorize -ftree-loop-optimize -freorder-blocks-and-partition -fgcse-sm -fgcse-las -fgcse-after-reload -combine -ftracer -maccumulate-outgoing-args -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug unmerge-orphans userfetch userpriv"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_GB.UTF-8"
LC_ALL="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--add-needed -Wl,--as-needed -Wl,--hash-style=both -Wl,--sort-common"
LINGUAS="en_GB en_US pl"
PKGDIR="/usr/portage/packages"
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/portage/local/layman/java-overlay /usr/portage/local/layman/custom-kernels /usr/portage/local/layman/gnome /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa applet attr avahi avalon bash-completion berkdb bittorrent boo browseplugin bzip2 cairo calendar caps cddb cdparanoia cdr cli clisp context cracklib crypt cups curl curlwrappers d daap dbus deskbar devhelp disk-partition djvu dri dvd dvdnav dvdr dvdread eclipse eds emacs emboss encode epiphany esd evo evolution exif expat extra fam ffmpeg flac flash fortran fuse galago gcj gconf gd gdbm gdl gedit gif gimp glut gmail gmp gnome gnutls gpm gsf gstreamer gtk guile hal iconv idle imap inherit-graph inotify ipod iproute2 ipv6 isdnlog jabber java java5 jpeg jpeg2k jython kerberos keyring laptop latex libburn libffi libgda libnotify libsexy logrotate lucene mad madwifi maildir mhash midi mikmod mmap mmx mono mozilla mp3 mpeg mudflap mule musicbrainz nautilus ncurses network networkmanager nls nntp no-old-linux nptl nptlonly nsplugin ntpl ogg oggvorbis openal opengl openmp pam pango pbm pccts pcre pda pdf perl png policykit pop postgres pppd pulseaudio python qt3support quicktime readline reflection regex reiserfs resolvconf rhino ruby samba scanner science sdl session soap sourceview spell spl sqlite sqlite3 sse sse2 ssh ssl subversion svg symlink syslog tcpd tetex theora threads threadsafe tiff timidity totem tracker trayicon truetype unicode usb valgrind vim vorbis vte wifi wxwindows x86 xattr xcb xforms xhtml xml xml2 xorg xsl xulrunner xv zeroconf zlib" ALSA_CARDS="atiixp" ALSA_PCM_PLUGINS="null empty dmix dshare" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" 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="fglrx radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Simon McVittie 2008-03-25 16:39:01 UTC
This may be the same bug as <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472637>. I've rebuilt g-p-m with debug symbols and started it in --verbose mode; when the memory leak happens again, I'll try to capture strace/gdb bt and the tail of the --verbose log.
Comment 2 Simon McVittie 2008-03-26 13:14:38 UTC
Created attachment 108056 [details]
tail of --verbose log

Verbose log.

The leak seems to have occurred when I killed and restarted the pulseaudio process (I'm using the pulse source and sink for GStreamer), so possibly g-p-m isn't handling that right, or something. Another random gstreamer process (Quod Libet) seems to hang rather than leaking under the same circumstance.
Comment 3 Simon McVittie 2008-03-26 13:16:52 UTC
Created attachment 108057 [details]
backtrace when in leaky state (1 of 3)
Comment 4 Simon McVittie 2008-03-26 13:17:04 UTC
Created attachment 108058 [details]
backtrace when in leaky state (2 of 3)
Comment 5 Simon McVittie 2008-03-26 13:17:12 UTC
Created attachment 108059 [details]
backtrace when in leaky state (3 of 3)
Comment 6 Simon McVittie 2008-03-26 13:20:33 UTC
Killing and restarting pulseaudio again has not reproduced the bug, so that may have been a red herring.
Comment 7 Richard Hughes 2008-03-26 17:04:23 UTC
No, I think you are on the money with pulseaudio. Does this look familiar to http://bugzilla.gnome.org/show_bug.cgi?id=522336?
Comment 8 Simon McVittie 2008-03-26 17:20:37 UTC
Yes, I can reproduce #522336, and the failure mode is qualitatively similar. This bug is probably a duplicate, then.
Comment 9 Maciej (Matthew) Piechotka 2008-03-26 18:54:08 UTC
I have pulseaudio so it may be connected. However I hardly ever need to restart it (this bug occure too often to be caused by this restart).
In backtrace also thay seems to be a lot of 'gst' prefixes (indicating gstreamer) - especially next to *mem* functions.
Comment 10 Maciej (Matthew) Piechotka 2008-08-03 23:06:49 UTC
Seems to be fixed before 2.22.1. Please reopen if not.