GNOME Bugzilla – Bug 448288
Crash in g_main_context_iterate / IA__g_main_context_check
Last modified: 2007-08-03 05:52:44 UTC
Steps to reproduce: I wasn't doing anything: the application was just sitting in the background. (Note that all *-debuginfo packages are already installed.) Stack trace: Distribution: Fedora release 7 (Moonshine) Gnome Release: 2.18.2 2007-05-28 (Red Hat, Inc) BugBuddy Version: 2.18.0 System: Linux 2.6.21-1.3228.fc7 #1 SMP Tue Jun 12 14:56:37 EDT 2007 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10300000 Selinux: Enforcing Accessibility: Disabled GTK+ Theme: Clearlooks Icon Theme: Fedora Memory status: size: 553259008 vsize: 553259008 resident: 46297088 share: 35778560 rss: 46297088 rss_rlim: 18446744073709551615 CPU usage: start_time: 1182011896 rtime: 66 utime: 56 stime: 10 cutime:1 cstime: 5 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/evolution' [?1034hUsing host libthread_db library "/lib64/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 46912496369248 (LWP 2403)] [New Thread 1084229968 (LWP 4227)] [New Thread 1115699536 (LWP 2431)] 0x000000347280d89f in __libc_waitpid (pid=4230, stat_loc=0x7fff1121105c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41 41 int result = INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL);
+ Trace 141492
Thread 1 (Thread 46912496369248 (LWP 2403))
----------- .xsession-errors (6210 sec old) --------------------- File "/usr/lib64/rhythmbox/plugins/artdisplay/AmazonCoverArtSearch.py", line 199, in on_search_response self.on_search_results (data.Details) File "/usr/lib64/rhythmbox/plugins/artdisplay/AmazonCoverArtSearch.py", line 202, in on_search_results self.on_search_completed (results) File "/usr/lib64/rhythmbox/plugins/artdisplay/AmazonCoverArtSearch.py", line 205, in on_search_completed self.on_search_completed_callback (self, self.entry, result, *self.args) File "/usr/lib64/rhythmbox/plugins/rb/Coroutine.py", line 53, in callback self._resume () File "/usr/lib64/rhythmbox/plugins/rb/Coroutine.py", line 38, in _resume self._continuation.next () File "/usr/lib64/rhythmbox/plugins/artdisplay/CoverArtDatabase.py", line 155, in image_search yield self.loader.get_url (str (url), plexer.send ()) File "/usr/lib64/rhythmbox/plugins/rb/Loader.py", line 54, in get_url gnomevfs.async.open (url, self.open_cb, data=("", callback, args)) TypeError: Cannot build a gnomevfs.URI -------------------------------------------------- Other information: evolution-2.10.2-2.fc7 on Fedora 7 x86_64
Created attachment 90089 [details] The output from the command line --debug-file option I ran evolution as $ evolution --debug=/tmp/evolution.debug and have attached the evolution.debug file corresponding to the crashed instance. The last lines are warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/usr/lib64/libxml2.so.2" is not at the expected address (wrong library or version mismatch?) (bug-buddy:4231): GLib-GObject-WARNING **: invalid uninstantiatable type `selection-received' in cast to `GObject' (bug-buddy:4231): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed (bug-buddy:4231): GLib-CRITICAL **: g_hash_table_destroy: assertion `hash_table->ref_count > 0' failed (bug-buddy:4231): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
Note that Bug 447102 prevents this issue from being reported with Bug Buddy. See also Bug 448407 for a similar crash.
Created attachment 92527 [details] [review] test patch for evolution; just a test patch to try if this helps with this bug (and maybe other bugs). Regarding to gconf documentation, it is important to call g_type_init before any use of gconf_ functions, and after a search for this function in Evolution sources, it's there only once, in e_shell_dbus_initialise, which is called under compiler conditions, and for me not at all, so I added g_type_init call to the main function of the program. Maybe it will not solve this bug, but it should be there, I believe.
It's not necessary to call g_type_init() explicitly in a GTK+/GNOME program. gnome_program_init() (which is called a few lines down from your patch) calls gtk_init(), which in turn calls g_type_init() for you. (I'm glossing over a few details here, but you get the idea.) I'd start by trying to figure out where this warning is coming from: (bug-buddy:4231): GLib-GObject-WARNING **: invalid uninstantiatable type `selection-received' in cast to `GObject'
*** This bug has been marked as a duplicate of 448467 ***