Evolution 2.0.3 hangs in prepare_importer_page() on gnome-2.8.1. Using gdb, I traced it down to a single block of code (e-shell-startup-wizard.c): dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_NONE, _("Please wait...\nScanning for existing setups")); #if !GTK_CHECK_VERSION (2,4,0) gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); #endif e_make_widget_backing_stored (dialog); gtk_widget_show_all (dialog); /* We'll hang here */ gtk_widget_show_now (dialog); /* Or here */ gtk_widget_queue_draw (dialog); /* Maybe here too */ gdk_flush (); while (gtk_events_pending ()) { gtk_main_iteration (); } The real problem is that gtk_widget_show_all(), etc. are calling gtk_dialog_run() because dialog is a GtkDialog. Since a "response" signal is never being sent to the dialog, the program gets thrown into a recursive loop. Reproducible: Always Steps to Reproduce: 1. Emerge the evolution 2.0.3 package 2. Go through the setup assistant 3. Watch it freeze Actual Results: The UI locked up Expected Results: The software should have displayed a dialog Portage 2.0.51-r14 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.5 i686) ================================================================= System uname: 2.6.5 i686 Intel(R) Celeron(R) CPU 2.40GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.1.3-r1,dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4 [2.3.4 (#1, Jan 19 2005, 10:24:25)] dev-lang/python: 2.1.3-r1, 2.2.3-r5, 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.4.3-r4, 1.5.10-r2 virtual/os-headers: 2.6.5, 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X apm avi berkdb bitmap-fonts bonobo caps cdr crypt ctype cups dga dvb dvd encode esd f77 fam font-server foomaticdb fortran ftp gb gcj gdbm gif gnome gphoto2 gpm gps gstreamer gtk gtk2 gtkhtml guile iconv imagemagick imlib ipv6 java jpeg ldap libg++ libgda libwww mad mbox mikmod ming mmap mmx mng motif mpeg ncurses nptl oggvorbis openal opengl oscar oss pam pcre pda pdflib perl png posix python quicktime readline samba scanner sdl slang sockets speex spell sqlite ssl svga symlink tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb x86 xml xml2 xmms xpm xv zlib video_cards_raedon" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS, PORTDIR_OVERLAY
Created attachment 49274 [details, diff] Patch to remedy this bug This patch works by using a window instead of a dialog for the same purpose, thus bypassing the gtk_dialog_run() recursive blocking loop.
Created attachment 49275 [details, diff] Patch to remedy this bug (Updated)
Tim, could you please post your work upstream on http://bugzilla.ximian.com/show_bug.cgi?id=71552 Good work, it'd be great to get this fixed upstream.
Thanks. I posted the patch on the Ximian bugzilla at the URL you gave. I just hope that it gets at least added to portage before too long to save more people a headache. :P
New to patching. How would I apply the patch and then recompile?
Adam, Here's a quick procedure to get you up and running: First, clear out the portage temporary work directories. Doing this periodically can free up some disk space too. # rm -rf /var/tmp/portage/* # rm -rf /usr/portage/distfiles/* Now, tell portage to download and unpack the source archive. # ebuild /usr/portage/mail-client/evolution/evolution-2.0.3.ebuild fetch unpack Apply the patch # cd /var/tmp/portage/evolution-2.0.3/work # patch -p0 < /path/to/the/patch Tell portage to compile and install (as well as do anything that needs to be done postinstall.) # ebuild /usr/portage/mail-client/evolution/evolution-2.0.3.ebuild compile install qmerge config Regards, Tim Hentenaar
Found the bug report upstream. This is a bug with >=GTK+2.6 . The proper way to fix this is to apply the patch in bug #80262 .
*** Bug 78539 has been marked as a duplicate of this bug. ***
This is fixed with gtk+-2.6.1-r2