After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 598447 - empathy crashed with SIGSEGV in contact_list_store_contact_update()
empathy crashed with SIGSEGV in contact_list_store_contact_update()
Status: RESOLVED OBSOLETE
Product: empathy
Classification: Core
Component: Contact List
2.28.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
Depends on:
Blocks:
 
 
Reported: 2009-10-14 15:51 UTC by Sebastien Bacher
Modified: 2009-10-26 12:09 UTC
See Also:
GNOME target: 2.28.x
GNOME version: ---



Description Sebastien Bacher 2009-10-14 15:51:26 UTC
The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/449949

"Open Empathy and open apport

empathy 2.28.0.1

  • #0 _IO_vfprintf_internal
  • #1 *__GI___vasprintf_chk
  • #2 g_vasprintf
    from /lib/libglib-2.0.so.0
  • #3 g_string_append_vprintf
    from /lib/libglib-2.0.so.0
  • #4 g_string_append_printf
    from /lib/libglib-2.0.so.0
  • #5 g_log_default_handler
    from /lib/libglib-2.0.so.0
  • #6 default_log_handler
  • #7 g_logv
    from /lib/libglib-2.0.so.0
  • #8 g_log
    from /lib/libglib-2.0.so.0
  • #9 g_type_check_instance_cast
    from /usr/lib/libgobject-2.0.so.0
  • #10 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1002
  • #11 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #12 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #13 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #14 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #15 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #16 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #17 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #18 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #19 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #20 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #21 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #22 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #23 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #24 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049
  • #25 contact_list_store_add_contact
    at empathy-contact-list-store.c line 940
  • #26 contact_list_store_contact_update
    at empathy-contact-list-store.c line 1049

Comment 1 Guillaume Desmottes 2009-10-19 12:32:36 UTC
For some reason Empathy is doing ping-pong between contact_list_store_contact_update and contact_list_store_contact_update.
That shouldn't happen as contact_list_store_add_contact is adding the contact to the store.
Comment 2 Guillaume Desmottes 2009-10-19 12:40:08 UTC
Having Empaty logs would help btw.
Comment 3 Guillaume Desmottes 2009-10-26 11:23:16 UTC
From XsessionErros:
(empathy:2012): Gtk-CRITICAL **: gtk_tree_model_get_iter_first: assertion `GTK_IS_TREE_MODEL (tree_model)' failed
(empathy:2012): Gtk-CRITICAL **: gtk_tree_store_append: assertion `GTK_IS_TREE_STORE (tree_store)' failed
(empathy:2012): Gtk-CRITICAL **: gtk_tree_store_set_valist: assertion `GTK_IS_TREE_STORE (tree_store)' failed
(empathy:2012): Gtk-CRITICAL **: gtk_tree_model_foreach: assertion `GTK_IS_TREE_MODEL (model)' failed


So I guess this callback is called after the store has been destroyed.
Comment 4 Guillaume Desmottes 2009-10-26 12:09:57 UTC
Looking at the code, the only way to call contact_list_store_add_contact() on a dead object would be because contact_list_store_members_changed_cb() is called in contact_list_store_iface_setup() on an already dead object.

I'm pretty sure that's the same issue than bug #598452 which has been fixed in 2.28.1 (66fcb76f5ece44ed08a0772c1b361dc792c66dba).

Closing the bug for now. Feel free to re-open if you can reproduce it with 2.28.1 or master.