GNOME Bugzilla – Bug 302549
egg tray icon apps crash upon window manager restarts
Last modified: 2007-06-21 21:27:07 UTC
Steps to reproduce: 1. Start Fluxbox as window manager; 2. Open an application (like gaim, rhythmbox, ... ) 3. Hit 'Restart Fluxbox' from the menu. Stack trace: (gdb) run Starting program: /usr/bin/gaim [Thread debugging using libthread_db enabled] [New Thread -1218869024 (LWP 25442)] Detaching after fork from child process 25447. Detaching after fork from child process 25448. Program received signal SIGSEGV, Segmentation fault.
+ Trace 58966
Thread NaN (LWP 25442)
Other information: I posted this problem at gaim bug tracker, https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1192552&group_id=235 , because it was the application that I used more to spot this problem, but it also happens with rhythmbox, and I suspect all others that use egg_tray icons. The rhythmbox stack trace is basically the same (crashes on the same function and the same crash tree). The crash happens 100% of the time. A Fluxbox restart is simply a fork of the current process to a new one, and all windows get reparented to the new root window.
Forgot to mention, This trace was made using gaim 1.2.1, on a Fedora Core 3, but some users reported this happening on other systems. Relevant installed packages: gaim-1.2.1-1.fc3 gtk-engines-0.12-5 gtk2-2.4.14-3.fc3 gtk2-devel-2.4.14-3.fc3 gtk+-1.2.10-33 gtk2-engines-2.2.0-6 gtk-doc-1.2-2 gtk+-devel-1.2.10-33
I get the same problem. (gdb) run Starting program: /usr/bin/gaim (no debugging symbols found)...[Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 8422)] Detaching after fork from child process 8428. Detaching after fork from child process 8429. Program received signal SIGSEGV, Segmentation fault.
+ Trace 58968
Thread 16384 (LWP 8422)
Im in gentoo: (errr@joker)[~] emerge --info Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.7-gentoo-r14 i686) ================================================================= System uname: 2.6.7-gentoo-r14 i686 AMD Athlon(tm) XP 2400+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 19 2005, 20:34:01)] distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.4-r1 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.6.3, 1.7.9, 1.8.5-r3, 1.9.4, 1.4_p6 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.4.3-r4, 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.binarycompass.org http://ftp.easynet.nl/mirror/gentoo/ http://mirror.tucdemonic.org/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib alsa apache2 apm avi berkdb bitmap-fonts cdr cdrw crypt cups curl dvd dvdr emboss encode esd fam flac foomaticdb fortran gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib java jpeg junit ldap libg++ libwww mad mikmod motif mozilla mp3 mpeg mysql ncurses nls ogg oggvorbis opengl oss pam pdflib perl png python qt quicktime readline ruby samba scanner sdl slang spell ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts vorbis xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY ****************************************************************************** GTK and gaim version x11-libs/gtk+-2.6.4-r1 net-im/gaim-1.2.1 ****************************************************************************** I didnt have the crashing until I updated to 1.2.1 I was running 1.1.2 gaim and never had any crashes
Thanks for the bug report. Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so. It contains the flags to use for Gentoo.. please rebuild gaim and gtk+ at least.
I get it too, running on Debian sarge. Gaim pkg v: 1.2.1-0, GTK2 pkg libgtk2.0-0, 2.6.4-1. I also get it for another package, workrave. The segfault occurs on fluxbox shutdown (exit), not startup. It reparent's the systray/eggtray icon to the rootWindow. If I add a sleep(3) after it reparents (before SysTray is destroyed?), then gaim does not segfault... Gaim trace: Program received signal SIGSEGV, Segmentation fault.
+ Trace 59021
Thread NaN (LWP 32669)
Workrave trace is even less useful.
Hmm, I can't reproduce this with the gaim or rythmbox icons here in some testing.
same here. gaim crashed 100% of a fluxbox restart. debian sarge, gaim 1.3.1, gtk 2.6.8, glib 1.2.10 (gdb) bt
+ Trace 61752
Are you seeing this with the gnome-panel running, or without ?
Stack traces don't make much sense to me; gdk_event_get_graphics_expose() is called in exactly one place in all of gdk and gtk, thats in GtkText, which is GTK_ENABLE_BROKEN protected and unlikely to be involved here. We probably need a stacktrace with proper debug information to make progress here.
Matthias; I dont use gnome-pannel in fluxbox so I see it with out. I have since rebuilt gtk, gaim and all of gnome with debug and I still get nothing from the core dumps.
It seems people have seen this problem with versions of GTK+ up to 2.6.8 Has anybody seen it with 2.6.10 or 2.8.3 ?
To anyone: Please reopen if this occurs in gtk+ versions newer than 2.6.8. If you have no permissions, ask around in #bugs on irc.gnome.org (install an IRC client like xchat).
Yes, the bug is still on GTK+ 2.8.20 Using Fedora Core 5, $ rpm -qa | grep gtk2 gtk2-engines-2.7.4-3 gtk2-2.8.20-1 pygtk2-devel-2.8.6-0.fc5.1 pygtk2-libglade-2.8.6-0.fc5.1 pygtk2-2.8.6-0.fc5.1 gtk2-devel-2.8.20-1 This backtrace is done with gaim, compiled manually with --enable-debug flag (gdb) bt
+ Trace 70108
How to reproduce: start gaim (you don't even have to login, just have the application sit there with the systray icon on); restart fluxbox. Starting the application from the command line I see this when I restart the window manager: (...) tray icon: destroyed gtkblist: removed visibility manager: 0 gtkblist: added visibility manager: 1 tray icon: created GLib-GObject: invalid unclassed pointer in cast to `GtkWidget' Gtk: gtk_widget_get_display: assertion `GTK_IS_WIDGET (widget)' failed zsh: abort (core dumped) /usr/local/bin/gaim dns[619]: Oops, father has gone, wait for me, wait...! $ _
This still happens with fluxbox svn, gtk+ 2.10.12 and Pidgin 2.0.0_beta6. Here's a backtrace with debugging symbols for both gtk+ and Pidgin:
+ Trace 135259
attachment #90413 [details] has a patch for libegg
*** Bug 449858 has been marked as a duplicate of this bug. ***
as per warning in libegg, eggtrayicon is deprecated and should not be used since gtk+ 2.10, which included GtkStatusIcon. Christian: this is a duplicate aliright, but the problem is located in libegg and not in gtk+, so the correct approach would have been closing this bug report and keeping open the libegg one. I'm closing this one and reopening bug 449858 which at least has a patch for the users of eggtrayicon.