Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 416925 - x11-terms/terminal memory leaks
Summary: x11-terms/terminal memory leaks
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: XFCE Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-21 14:42 UTC by Paweł Hajdan, Jr. (RETIRED)
Modified: 2012-09-05 11:10 UTC (History)
0 users

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 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-05-21 14:42:26 UTC
==25733== LEAK SUMMARY:
==25733==    definitely lost: 53,939,681 bytes in 249,709 blocks
==25733==    indirectly lost: 25,292 bytes in 1,286 blocks
==25733==      possibly lost: 1,085,415 bytes in 8,843 blocks
==25733==    still reachable: 631,529 bytes in 5,804 blocks
==25733==         suppressed: 0 bytes in 0 blocks
==25733== Reachable blocks (those to which a pointer was found) are not shown.
==25733== To see them, rerun with: --leak-check=full --show-reachable=yes

It seems XFCE Terminal has just leaked ~50MB on my system.

I'm not sure though whether it's the app itself, or some of its libraries, etc. See attached output of "valgrind --undef-value-errors=no --leak-check=full --log-file=terminal.log Terminal".

Here's the list of possibly related packages, computed by running "grep '/lib' terminal.log | sed -e 's@[^/]*/@/@' | sed -e 's@)$@@' | sort -u | xargs equery b | awk '{print $1}' | sort -u":

dev-libs/glib-2.30.3
gnome-base/gvfs-1.10.1
media-libs/fontconfig-2.8.0-r1
media-libs/freetype-2.4.9-r1
sys-libs/glibc-2.14.1-r3
x11-libs/cairo-1.10.2-r2
x11-libs/gdk-pixbuf-2.24.1-r1
x11-libs/gtk+-2.24.10-r1
x11-libs/libX11-1.4.4
x11-libs/libXext-1.3.0
x11-libs/libXi-1.4.3-r1
x11-libs/libxcb-1.7
x11-libs/pango-1.29.4
x11-libs/vte-0.28.2-r203
x11-themes/gtk-engines-xfce-3.0.0-r200
xfce-base/exo-0.6.2
xfce-base/libxfce4util-4.8.2

Oh, and I've unmerged uim meanwhile so it's not on the above list but it is in the valgrind output. Let me know if you'd like me to repeat the test.

And of course x11-terms/terminal-0.4.8

Portage 2.1.10.49 (default/linux/x86/10.0/developer, gcc-4.5.3, glibc-2.14.1-r3, 3.1.6-gentoo i686)
=================================================================
System uname: Linux-3.1.6-gentoo-i686-Intel-R-_Core-TM-2_Duo_CPU_P8700_@_2.53GHz-with-gentoo-2.0.3
Timestamp of tree: Thu, 17 May 2012 10:05:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r1, 3.2.3
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r3
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect compress-build-logs distlocks ebuild-locks fixlafiles multilib-strict news parallel-fetch protect-owned sandbox sfperms sign splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa berkdb bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus device-mapper dri dts dvd dvdr emacs emboss encode exif fam firefox flac fortran gdbm gif git gnutls gtk iconv icu jpeg lcms libkms libnotify mad mbox mercurial mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nss objc ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3support readline sdl secure-delete session snmp spell sqlite ssl startup-notification subversion svg tcpd threads tiff tk toolkit-scroll-bars truetype udev udisks unicode upower usb vorbis wxwidgets x264 x86 xcb xft xinerama xml xorg xulrunner xv xvfb xvid zlib" ALSA_CARDS="ens1371" 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 authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vmware vesa vga" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-05-21 14:46:43 UTC
I think this is the culprit. The below leak appears in 4 slight variations (13 MB each) at the end of the log, explaining the 50 MB total leak:

==25733== 13,471,920 bytes in 62,370 blocks are definitely lost in loss record 5,384 of 5,387
==25733==    at 0x4026EA8: malloc (vg_replace_malloc.c:236)
==25733==    by 0x4BD463B: cairo_pattern_create_linear (in /usr/lib/libcairo.so.2.11000.2)
==25733==    by 0x402DB51: gradient_draw_shaded (in /usr/lib/gtk-2.0/2.10.0/engines/libxfce.s
o)
==25733==    by 0x4033BE6: draw_box (in /usr/lib/gtk-2.0/2.10.0/engines/libxfce.so)
==25733==    by 0x4364FBD: gtk_paint_box (in /usr/lib/libgtk-x11-2.0.so.0.2400.10)
==25733==    by 0x431A4DB: draw_stepper (in /usr/lib/libgtk-x11-2.0.so.0.2400.10)
==25733==    by 0x431A9ED: gtk_range_expose (in /usr/lib/libgtk-x11-2.0.so.0.2400.10)
==25733==    by 0x42D2603: _gtk_marshal_BOOLEAN__BOXED (in /usr/lib/libgtk-x11-2.0.so.0.2400.
10)
==25733==    by 0x47A0276: g_type_class_meta_marshal (in /usr/lib/libgobject-2.0.so.0.3000.3)
==25733==    by 0x47A16D2: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.3000.3)
==25733==    by 0x47B4EFB: signal_emit_unlocked_R (in /usr/lib/libgobject-2.0.so.0.3000.3)
==25733==    by 0x47BD7E2: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.3000.3)
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2012-05-21 14:57:27 UTC
xfce-base/libxfce4util-4.8.2? 

Upgrade to Xfce 4.10 before doing any debugging with anything Xfce related.

Which GTK+ theme/engine are you using?

And after upgrading, report this to http://bugzilla.xfce.org/ and add the link to the "See also: " field.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2012-09-05 11:10:20 UTC
And be sure to use also ~arch of gtk-engines-xfce wrt bug 408529. Basically, don't test this with stable but ~arch system.