X server grows extreamly on idle. after 2 hours idle: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4161 root 20 0 860m 770m 9880 S 9 19.5 17:46.51 X Reproducible: Always Steps to Reproduce: 1.emerge =sys-devel/gcc-4.3.1 2.emerge -e world 3.start X , run couple applications like thunderbird and firefox , and leave for couple hours, enjoy memory consumption ;)
shadow ~ # emerge --info Portage 2.1.5.4 (default-linux/amd64/2007.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r4 x86_64) ================================================================= System uname: 2.6.25-gentoo-r4 x86_64 Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz Timestamp of tree: Wed, 11 Jun 2008 09:06:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.5.2-r4 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r4 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -pipe -O2 -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /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/init.d /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=core2 -pipe -O2 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="candy collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo http://dev.gentoo.org" LDFLAGS="" LINGUAS="pl en" MAKEOPTS="-s -j3" 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" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="7zip X a52 aac acpi alsa amd64 amrnb amrwb atm audacious bash-completion branding bzip2 caps cddb cdparanoia chardet cups cupsddk curl cxx dbus deprecated devil dga divx djvu dri dts dv dvd dvdr dvdread encode exif fbcon ffmpeg firefox flac fontconfig gecko gif gmedia gnutls gpm grub gtk hal icons iconv iproute2 ipv6 java jpeg jpeg2k kde kdeenablefinal lame laptop libsamplerate lm_sensors logitech-mouse logrotate lzo mad midi mjpeg mmx mmxext mng mp2 mp3 mpeg mplayer ncurses network-cron nls no-old-linux nptl nptlonly nsplugin nss offensive ogg ogg123 opengl pam pcre pdf perl pkcs11 plugins png ppds python qt3 qt3support qt4 quicktime rar readline realmedia samba sdl slang smp spell sqlite sse sse2 ssl ssse3 svg symlink syslog themes theora threads tiff truetype unicode usb utempter v4l v4l2 vcd voice vorbis wifi wma wmf wmp x264 xanim xinerama xml xorg xscreensaver xv xvid yv12 zip zlib" ALSA_CARDS="hda-intel" 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" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl en" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
OK, then rebuild xorg-server with a stable version of gcc, wait a few hours and post the outcome on this bug. Please tell as well which gfx driver you use. You appear to have VIDEO_CARDS=nvidia but that doesn't give us a version.
ok i will recompile xserver with gcc-4.2.4 then i will test that all works ok and submit report i use x11-drivers/nvidia-drivers-173.14.05
I'm afraid, this is real, my X, after 24 hours: 3251 root 20 0 1510m 656m 6368 S 2.0 65.0 24:29.78 X and it keeps eating memory and swap to death. I don't know if this has to do with gcc-4.3.1 because the problem started before I switched to gcc-4.3.1. I'm sure the problem started on last Monday(9 June),when I switched to glibc-2.8. But I did 37 updates of packages that day, so it may not be glibc related. X11 team, I can provide you with whatever information you need and I hope that this is not a misconfiguration of my xorg(I didn't change anything, neither compiled xorg-server, again, since May 12(I had then, gcc-4.2.3)) Panagiotis
Created attachment 156365 [details] emerge --info etc. emerge --info and some other possibly helpful information
(In reply to comment #4) > and it keeps eating memory and swap to death. I don't know if this has to do > with gcc-4.3.1 because the problem started before I switched to gcc-4.3.1. I'm > sure the problem started on last Monday(9 June),when I switched to glibc-2.8. > But I did 37 updates of packages that day, so it may not be glibc related. Hm, xorg is linked with libgcc_s.so.1: libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.1/libgcc_s.so.1 (0xb7ef4000) so finally, it may be gcc related. Jer, I'll switch back to 4.2 branch and report
Er OK. So it isn't a gcc bug but may be a glibc bug. And maybe not. :)
Created attachment 156379 [details] emerge --info Same problem here. After 2 hours, X is using 2GB of memory (according to top).
also seems to happen here with gcc-4.1.2 , 36% of 2G ram emerge --info : Portage 2.1.4.4 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r4 x86_64) ================================================================= System uname: 2.6.23-gentoo-r4 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-52 Timestamp of tree: Wed, 11 Jun 2008 08:03:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13 dev-python/pycrypto: 2.0.1-r6 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.5, 1.6.3, 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.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/" LANG="fr_FR.UTF-8" LC_ALL="fr_FR.UTF-8" LINGUAS="fr FR" MAKEOPTS="-j3" 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/sunrise /usr/portage/local/layman/voip /usr/portage/local/layman/desktop-effects /usr/portage/local/layman/haxe /usr/portage/local/layman/java-overlay /usr/portage/local/layman/pro-audio" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 apache2 bash-completion berkdb bluetooth cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode evo fam firefox fortran gdbm gif glitz gpm gstreamer hal iconv ipv6 isdnlog jack java jpeg kde kerberos ldap mad midi mikmod mmx mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse sse2 ssl svg tcpd tiff truetype unicode vorbis x264 xcomposite xinerama xml xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr FR" USERLAND="GNU" VIDEO_CARDS="nvidia nv" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #6) > Hm, xorg is linked with libgcc_s.so.1: > libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.1/libgcc_s.so.1 > (0xb7ef4000) It's linked to so many other libraries as well... > so finally, it may be gcc related. Jer, I'll switch back to 4.2 branch and > report Right, and until then, we won't assume it's related to glibc or gcc, k? :)
same problem, gcc [3] x86_64-pc-linux-gnu-4.2.4 * and xorg-server 1.4.0.90-r3 and 1.4.0.90-r4 not switched to gcc 4.3.1 for the moment. it eat all possible memory in ~2hours :) with 1.4.0.90-r3 it eat ~2Mo/s now with 1.4.0.90-r4 i can restart X after ~2hours :p emerge --info: Portage 2.1.5.4 (!../usr/portage/profiles/default/linux/amd64/2008.0, gcc-4.2.4, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r4 x86_64) ================================================================= System uname: 2.6.25-gentoo-r4 x86_64 AMD Sempron(tm) Processor LE-1200 Timestamp of tree: Wed, 11 Jun 2008 15:15:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r9, 2.5.2-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r4 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /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/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/mnt/nfs_portage/distfiles" FEATURES="distlocks parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles/ ftp://mirror.ovh.net/gentoo-distfiles/ ftp://gentoo.imj.fr/pub/gentoo/ ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ " LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="" LINGUAS="en en_US" MAKEOPTS="-j2" PKGDIR="/mnt/nfs_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="/mnt/nfs_portage" PORTDIR_OVERLAY="/usr/portage/local/layman/zugaina /usr/portage/local/layman/wolf31o2 /usr/portage/local/layman/akoya" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow X aac acl acpi alsa amd64 audiofile berkdb bluetooth bzip2 cdr cli cracklib crypt cups dbus directfb dri dvd encode flac fortran gdbm gif gpm gtk hal iconv ipv6 isdnlog jpeg jpg libsamplerate lm_sensors midi mikmod mmx mp3 mudflap multilib musepack ncurses network nls nptl nptlonly nvidia ogg opengl openmp pam pcre perl png pppd python qt3 qt4 readline reflection sdl session spl sse sse2 ssl tcpd tiff truetype unicode vorbis xinerama xorg xvid zlib zsh-completion" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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" APACHE2_MODULES="actions alias auth_basic auth_digest authz_host autoindex charset_lite dir env expires include info log_config mime mime_magic rewrite setenvif status userdir version vhost_alias" APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Try downgrading x11-libs/pixmap to the previous version.
This has nothing to do with gcc or glibc. I use gcc-4.2.4 and glibc-2.8, and have the same issue A step to reproduce, is to use a VTE based terminal emulator, like Xfce's Terminal or gnome-terminal, and resize it a bit while lots of output scrolls by, e.g. compiling something, or cat /dev/urandom Now let it scroll, and watch the RAM get filled up o.O - here the box soft locked up after about half an hour. After turning off Terminal and using KDE's konsole, the memleak is gone here. So this could be a problem with a) recent VTE update, or b) a problem rendering ARGB windows with some of the recent Xorg libs updates.
(In reply to comment #13) > This has nothing to do with gcc or glibc. > > I use gcc-4.2.4 and glibc-2.8, and have the same issue Sorry, I use glibc-2.7 of course.
I had the same problem rebuilding world after the gcc-4.3 update. I ran in gnome-terminal and after 200 packages the machine ran out of memory and swap ( 8G + 15G swap ). X was using 90% of memory. I repeating for the next 200 packages with the same result. I was able to complete the 1000 package rebuild using xterm. I am on ~amd64.
Just downgraded x11-libs/pixman and recompiled xorg-server. Problem persists. Open Terminal or gnome-terminal; cat /dev/urandom -> BOOM
Because, the comments are becoming more and more, please, the any new people who want to submit their emerge --info and other verbose stuff, *please*, attach it, and don't copy paste it in comments.
(In reply to comment #16) > Just downgraded x11-libs/pixman and recompiled xorg-server. > > Problem persists. > > Open Terminal or gnome-terminal; cat /dev/urandom -> BOOM Hm. Downgrading to pixman-0.10.0 and restarting X fixed the leak for me. With pixman-0.11.4, running 'while true; do echo "LEAK LEAK LEAK" ; done' in gnome-terminal caused a leak of about 1MB/sec in X. With pixman-0.10.0, doing the same test, I don't see any leak...
(In reply to comment #18) Downgrade to pixman-0.10.0 and no leak now. Fixed with this version? I wait and see :) > (In reply to comment #16) [...] > > With pixman-0.11.4, running 'while true; do echo "LEAK LEAK LEAK" ; done' in > gnome-terminal caused a leak of about 1MB/sec in X. > With pixman-0.10.0, doing the same test, I don't see any leak...
(In reply to comment #18) > (In reply to comment #16) > > Just downgraded x11-libs/pixman and recompiled xorg-server. > > > > Problem persists. > > > > Open Terminal or gnome-terminal; cat /dev/urandom -> BOOM > > Hm. Downgrading to pixman-0.10.0 and restarting X fixed the leak for me. > > With pixman-0.11.4, running 'while true; do echo "LEAK LEAK LEAK" ; done' in > gnome-terminal caused a leak of about 1MB/sec in X. > > With pixman-0.10.0, doing the same test, I don't see any leak... > Weird, a "while true; do echo "LEAK LEAK LEAK blah"; done" doesn't trigger it here. Also compling things doesn't. A "cat /dev/urandom" does. But that's a heavy one anyway, maybe it's normal, as never tested this before that bug occured.
I just downgrading to pixman-0.10.0 and still see the leak with cat /dev/urandom
Seems that pixman-0.11.4 is real culprit, I upgraded it today, my xorg-server didn't have memory leaks (memory usage ~50MB), I restarted X and with `cat /dev/urandom` memory leaks. After pixman downgrade and X restart the leak doesn't occur.
(In reply to comment #12) > Try downgrading x11-libs/pixmap to the previous version. > That's it, pixman upgrade caused all this trouble. I donwgraded to x11-libs/pixman-0.10.0 and I'm happy :)
pixman downgrade solves problem for me :>
Please file a bug at bugs.freedesktop.org in the xorg product with this information, and post the link here so we can track it. Once it's fixed upstream, reopen this bug and we'll add a patch.
(In reply to comment #25) > Please file a bug at bugs.freedesktop.org in the xorg product with this > information, and post the link here so we can track it. Once it's fixed > upstream, reopen this bug and we'll add a patch. Reported upstream at https://bugs.freedesktop.org/show_bug.cgi?id=16312 Until upstream fixes it, could you please mask x11-libs/pixman-0.11.4 ?
Created attachment 156429 [details] emerge --info
(In reply to comment #27) (Oops, forgot to add the following comments) This bug is also true for xorg-server-1.4.2. Downgrading Pixman from 0.11.4 to 0.10.0 resolved it here as well.
donnie@comet $ cci "(#225907) Huge memory leaks, and 0.11.2 is just broken so try to get people off it." /var/cvsroot/gentoo-x86/profiles/ChangeLog,v <-- ChangeLog new revision: 1.1536; previous revision: 1.1535 /var/cvsroot/gentoo-x86/profiles/package.mask,v <-- package.mask new revision: 1.8715; previous revision: 1.8714 Mailing the commit message...
confirmed upstream patch works. Added to portage as pixman-0.11.4-r1.
fixed per last comment
*** Bug 226095 has been marked as a duplicate of this bug. ***