GNOME Bugzilla – Bug 605689
SIGSEGV crash when joining a IRC room
Last modified: 2011-08-29 10:12:28 UTC
steps to reproduce: - open accounts-dialog - create a new irc account - wait until the account is connected ** I experienced at this point bug #605685 ** - try to join a room expected outcome: actually join the room actual outcome: many criticals and a crash backtrace: (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_theme_lookup_icon: assertion `icon_name != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_get_filename: assertion `icon_info != NULL' failed (empathy:3922): Gtk-CRITICAL **: gtk_icon_info_free: assertion `icon_info != NULL' failed Program received signal SIGSEGV, Segmentation fault. 0x080e260e in empathy_dispatcher_join_muc (connection=0x824f150, roomname=0x84dae20 "#empathy", callback=0, user_data=0x0) at empathy-dispatcher.c:1542 1542 connection_data->outstanding_requests = g_list_prepend (gdb) bt
+ Trace 219828
That seems to be a similar problem than bug #604628. Newly created account/connections are never added to the connections hash table. Let's fix this bug once bug #604628 as we'll probably reuse the same idea.
Created attachment 151171 [details] [review] http://git.collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/crash-join-muc-605689 libempathy/empathy-dispatcher.c | 81 +++++++++++++++++++++++++++++++++++--- 1 files changed, 74 insertions(+), 7 deletions(-)
Review of attachment 151171 [details] [review]: looks good, the crashers need a bug for its own I guess!
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.