Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 79200 - Evolution 2.0.3 hangs after setting timezone in Setup Assistant
Summary: Evolution 2.0.3 hangs after setting timezone in Setup Assistant
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
: 78539 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-01-23 05:15 UTC by Tim Hentenaar
Modified: 2005-02-02 22:58 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to remedy this bug (evolution-2.0.3.patch,1.48 KB, patch)
2005-01-23 05:16 UTC, Tim Hentenaar
Details | Diff
Patch to remedy this bug (Updated) (evolution-2.0.3.patch,1.68 KB, patch)
2005-01-23 05:24 UTC, Tim Hentenaar
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Hentenaar 2005-01-23 05:15:22 UTC
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
Comment 1 Tim Hentenaar 2005-01-23 05:16:34 UTC
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.
Comment 2 Tim Hentenaar 2005-01-23 05:24:58 UTC
Created attachment 49275 [details, diff]
Patch to remedy this bug (Updated)
Comment 3 Mike Gardiner (RETIRED) gentoo-dev 2005-01-24 02:23:48 UTC
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.
Comment 4 Tim Hentenaar 2005-01-24 06:30:35 UTC
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
Comment 5 Adam Bowers 2005-01-24 10:50:15 UTC
New to patching.  How would I apply the patch and then recompile?
Comment 6 Tim Hentenaar 2005-01-24 11:28:22 UTC
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
Comment 7 Saleem Abdulrasool (RETIRED) gentoo-dev 2005-01-31 14:52:06 UTC
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 .
Comment 8 Saleem Abdulrasool (RETIRED) gentoo-dev 2005-01-31 15:02:18 UTC
*** Bug 78539 has been marked as a duplicate of this bug. ***
Comment 9 Joe McCann (RETIRED) gentoo-dev 2005-02-02 22:58:09 UTC
This is fixed with gtk+-2.6.1-r2