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 656654 - Empathy aborts when system wakes up
Empathy aborts when system wakes up
Status: RESOLVED DUPLICATE of bug 653599
Product: empathy
Classification: Core
Component: Meta Contacts
unspecified
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
: 656820 (view as bug list)
Depends on:
Blocks: 656896
 
 
Reported: 2011-08-16 14:03 UTC by Raul Gutierrez Segales
Modified: 2011-08-22 09:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Raul Gutierrez Segales 2011-08-16 14:03:55 UTC
Running master as of date. When my system wakes up Empathy exits with:

ERROR:empathy-individual-store.c:1426:individual_store_contact_sort: assertion failed: (account_a != NULL)

Program received signal SIGABRT, Aborted.

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 __GI_abort
    at abort.c line 93
  • #2 g_assertion_message
  • #3 g_assertion_message_expr
    at gtestutils.c line 1436
  • #4 individual_store_contact_sort
    at empathy-individual-store.c line 1426
  • #5 individual_store_state_sort_func
    at empathy-individual-store.c line 1505
  • #6 gtk_tree_store_sort_iter_changed
    at gtktreestore.c line 3131
  • #7 gtk_tree_store_insert_with_values
    at gtktreestore.c line 1556
  • #8 add_individual_to_store
  • #9 individual_store_add_individual
    at empathy-individual-store.c line 473
  • #10 individual_store_add_individual_and_connect
    at empathy-individual-store.c line 950
  • #11 individual_store_members_changed_cb
    at empathy-individual-store.c line 1009
  • #12 g_closure_invoke
    at gclosure.c line 773
  • #13 signal_emit_unlocked_R
    at gsignal.c line 3256
  • #14 g_signal_emit_valist
    at gsignal.c line 2987
  • #15 g_signal_emit
    at gsignal.c line 3044
  • #16 individual_notify_personas_cb
    at empathy-individual-manager.c line 157


Maybe individual_store_contact_sort() should just return 0 instead of g_asserting the accounts? Or, maybe there is a way to make empathy_contact_get_account when off-line?
Comment 1 Guillaume Desmottes 2011-08-17 08:24:24 UTC
Could you please add some debug to print the individual ID of the faulty contact?
Comment 2 Maciej (Matthew) Piechotka 2011-08-17 19:08:42 UTC
I have the same problem when I try to go offline:

Starting program: /usr/bin/empathy 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffde2cf700 (LWP 2302)]
[New Thread 0x7fffddace700 (LWP 2303)]
[New Thread 0x7fffdd2cd700 (LWP 2304)]
[New Thread 0x7fffdcacc700 (LWP 2305)]
[New Thread 0x7fffdc2cb700 (LWP 2306)]
[New Thread 0x7fffda96c700 (LWP 2307)]

(empathy:2177): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to underallocate toplevel GtkTrayIcon 0x1b92000. Allocation is 24x24, but minimum required size is 48x48.

(empathy:2177): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to underallocate GtkTrayIcon's child GtkImage 0x1a87c60. Allocation is 24x24, but minimum required size is 48x48.

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): GLib-GIO-CRITICAL **: g_file_load_partial_contents_async: assertion `G_IS_FILE (file)' failed

(empathy:2177): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to underallocate toplevel GtkTrayIcon 0x1b92000. Allocation is 24x24, but minimum required size is 48x48.

(empathy:2177): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to underallocate GtkTrayIcon's child GtkImage 0x1a87c60. Allocation is 24x24, but minimum required size is 48x48.

(empathy:2177): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to underallocate toplevel GtkTrayIcon 0x1b92000. Allocation is 24x24, but minimum required size is 48x48.

[New Thread 0x7fffd8bbe700 (LWP 2312)]
[New Thread 0x7fffd025e700 (LWP 2313)]
[New Thread 0x7fffcfa5d700 (LWP 2314)]

(empathy:2177): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): empathy-CRITICAL **: empathy_contact_dup_from_tp_contact: assertion `TP_IS_CONTACT (tp_contact)' failed

(empathy:2177): empathy-CRITICAL **: empathy_contact_set_persona: assertion `EMPATHY_IS_CONTACT (contact)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_set_data: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(empathy:2177): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(empathy:2177): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(empathy:2177): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(empathy:2177): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
**
ERROR:empathy-individual-store.c:1426:individual_store_contact_sort: assertion failed: (account_a != NULL)

Program received signal SIGABRT, Aborted.
0x00007ffff08bf8e5 in __GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c

Thread 1 (Thread 0x7ffff7f82980 (LWP 2177))

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 __GI_abort
    at abort.c line 92
  • #2 g_assertion_message
    at gtestutils.c line 1425
  • #3 g_assertion_message_expr
    at gtestutils.c line 1436
  • #4 individual_store_contact_sort
    at empathy-individual-store.c line 1426
  • #5 individual_store_state_sort_func
    at empathy-individual-store.c line 1505
  • #6 gtk_tree_store_sort_iter_changed
    at gtktreestore.c line 3132
  • #7 gtk_tree_store_insert_with_values
    at gtktreestore.c line 1557
  • #8 add_individual_to_store
    at empathy-individual-store.c line 218
  • #9 individual_store_add_individual
    at empathy-individual-store.c line 489
  • #10 individual_store_add_individual_and_connect
    at empathy-individual-store.c line 950
  • #11 individual_store_members_changed_cb
    at empathy-individual-store.c line 1009
  • #12 g_closure_invoke
    at gclosure.c line 773
  • #13 signal_emit_unlocked_R
    at gsignal.c line 3271
  • #14 g_signal_emit_valist
    at gsignal.c line 3002
  • #15 g_signal_emit
    at gsignal.c line 3059
  • #16 individual_notify_personas_cb
    at empathy-individual-manager.c line 157
  • #17 g_closure_invoke
    at gclosure.c line 773
  • #18 signal_emit_unlocked_R
    at gsignal.c line 3271
  • #19 g_signal_emit_valist
    at gsignal.c line 3002
  • #20 g_signal_emit
    at gsignal.c line 3059
  • #21 g_object_dispatch_properties_changed
    at gobject.c line 925
  • #22 g_object_notify_queue_thaw
    at gobjectnotifyqueue.c line 132
  • #23 g_object_notify_by_spec_internal
    at gobject.c line 983
  • #24 g_object_notify
    at gobject.c line 1024
  • #25 _folks_individual_aggregator_personas_changed_cb
    at individual-aggregator.c line 3493
  • #26 __folks_individual_aggregator_personas_changed_cb_folks_persona_store_personas_changed
    at individual-aggregator.c line 2041
  • #27 g_cclosure_user_marshal_VOID__OBJECT_OBJECT_STRING_OBJECT_ENUM
    at persona-store.c line 632
  • #28 g_closure_invoke
    at gclosure.c line 773
  • #29 signal_emit_unlocked_R
    at gsignal.c line 3271
  • #30 g_signal_emit_valist
    at gsignal.c line 3002
  • #31 g_signal_emit_by_name
    at gsignal.c line 3096
  • #32 _folks_persona_store_emit_personas_changed
    at persona-store.c line 388
  • #33 _tpf_persona_store_load_cache_co
    at tpf-persona-store.c line 2280
  • #34 g_simple_async_result_complete
    at gsimpleasyncresult.c line 749
  • #35 folks_object_cache_load_objects_co
    at object-cache.c line 959
  • #36 g_simple_async_result_complete
    at gsimpleasyncresult.c line 749
  • #37 load_contents_close_callback
    at gfile.c line 6264
  • #38 async_ready_close_callback_wrapper
    at ginputstream.c line 484
  • #39 g_simple_async_result_complete
    at gsimpleasyncresult.c line 749
  • #40 complete_in_idle_cb_for_thread
    at gsimpleasyncresult.c line 816
  • #41 g_main_dispatch
    at gmain.c line 2439
  • #42 g_main_context_dispatch
    at gmain.c line 3008
  • #43 g_main_context_iterate
    at gmain.c line 3086
  • #44 g_main_loop_run
    at gmain.c line 3294
  • #45 gtk_main
    at gtkmain.c line 1362
  • #46 g_application_run
    at gapplication.c line 1325
  • #47 main
    at empathy.c line 728

	Inferior 1 [process 2177] will be killed.

PS. Shouldn't it be critical bug?
Comment 3 Cristian Aravena Romero 2011-08-18 12:18:12 UTC
*** Bug 656820 has been marked as a duplicate of this bug. ***
Comment 4 Emilio Pozuelo Monfort 2011-08-18 12:41:14 UTC
I'm getting the same, with empathy master and folks 0.6.0


empathy-CRITICAL **: empathy_contact_get_account: assertion `EMPATHY_IS_CONTACT (contact)' failed
aborting...

Program received signal SIGABRT, Aborted.
0x00007fffed8da405 in raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 abort
    at abort.c line 92
  • #2 g_logv
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmessages.c line 557
  • #3 g_log
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmessages.c line 577
  • #4 empathy_contact_get_account
    at empathy-contact.c line 932
  • #5 individual_store_contact_sort
    at empathy-individual-store.c line 1424
  • #6 individual_store_state_sort_func
    at empathy-individual-store.c line 1505
  • #7 gtk_tree_store_sort_iter_changed
  • #5 individual_store_contact_sort
    at empathy-individual-store.c line 1424
$1 = (EmpathyContact *) 0x0
(gdb) p individual_b
$2 = (FolksIndividual *) 0xb4e7e0
(gdb) p *individual_b
$3 = {parent_instance = {g_type_instance = {g_class = 0xb4bbe0}, 
    ref_count = 3, qdata = 0xbbb3a0}, priv = 0xb4e800}
(gdb) p individual_b->priv
$4 = (FolksIndividualPrivate *) 0xb4e800
(gdb) p *individual_b->priv
$5 = {_is_favourite = 0, _alias = 0xbbd720 "Emilio Pozuelo Monfort", 
  _groups = 0xbbd980, _groups_ro = 0xbbced0, _persona_set = 0xbb4020, 
  _persona_set_ro = 0xbb92c0, _stores = 0xbbc110, _persona_user_count = 0, 
  _im_addresses = 0xbabd00, _web_service_addresses = 0xbabdb0, 
  _nickname = 0xbb4be0 "", _trust_level = FOLKS_TRUST_LEVEL_PERSONAS, 
  _avatar = 0xb9d8a0, _presence_type = FOLKS_PRESENCE_TYPE_AVAILABLE, 
  _presence_status = 0xbbe5e0 "available", _presence_message = 0xbbe2f0 "", 
  _is_user = 0, 
  _id = 0x7fffd8027cc0 "74b5fd2f13f76dad28bcbbe4848344593a2c2745", 
  _structured_name = 0x0, _full_name = 0x0, 
  _gender = FOLKS_GENDER_UNSPECIFIED, _urls = 0xbb8d50, _urls_ro = 0xbb9330, 
  _phone_numbers = 0xbb8e10, _phone_numbers_ro = 0xbb9090, 
  _email_addresses = 0xbb98f0, _email_addresses_ro = 0xbb9100, 
  _roles = 0xbb8ed0, _roles_ro = 0xbbcc30, _local_ids = 0xbb9cb0, 
  _local_ids_ro = 0xbbcca0, _birthday = 0x0, _calendar_event_id = 0x0, 
  _notes = 0xbb9e30, _notes_ro = 0xbbcd80, _postal_addresses = 0xbb9d70, 
  _postal_addresses_ro = 0xbbcd10}
(gdb)
Comment 5 Guillaume Desmottes 2011-08-19 08:28:43 UTC
I managed to reproduce this issue, folks_individual_get_personas() returns a set of 0 persona.

Travis: is that supposed to happen or is it a bug in folks?
Comment 6 Raul Gutierrez Segales 2011-08-19 12:42:44 UTC
(In reply to comment #5)
> I managed to reproduce this issue, folks_individual_get_personas() returns a
> set of 0 persona.
> 
> Travis: is that supposed to happen or is it a bug in folks?

I think this might be related to a known-but-not-reported bug in which all the personas of an Individual might be nuked when only one PersonaStore goes away. I'll look into it.

Btw, could you run folks-inspect and then the command persona-stores, I'd like to know how many stores you are running..
Comment 7 Raul Gutierrez Segales 2011-08-19 13:49:08 UTC
(In reply to comment #1)
> Could you please add some debug to print the individual ID of the faulty
> contact?

Individual with id 5ed580034d78b523a3dbc0e0c2dc05ac79aa7282 doesn't have an account

Individual with id 86e8a8dcf646cb7a8bafde5b7a539dead774774d doesn't have an account
Comment 8 Guillaume Desmottes 2011-08-22 09:33:33 UTC
I'm pretty sure that's a bug of bug #653599. Please re-open if you can reproduce once this bug has been fixed.

*** This bug has been marked as a duplicate of bug 653599 ***