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 683319 - Crash in individual-aggregator: _personas_changed_cb
Crash in individual-aggregator: _personas_changed_cb
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: general
git master
Other Linux
: Normal critical
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2012-09-04 08:49 UTC by Guillaume Desmottes
Modified: 2012-09-05 20:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix a crash when notifying about the Telepathy self persona disappearing (2.48 KB, patch)
2012-09-04 23:43 UTC, Philip Withnall
committed Details | Review

Description Guillaume Desmottes 2012-09-04 08:49:53 UTC
I resumed my laptop from suspend and Empathy crashed.

Looks like the aggregator is calling is_user() on a NULL persona.

(lt-empathy:10394): folks-CRITICAL **: folks_persona_get_is_user: assertion `self != NULL' failed



  • #0 g_logv
    at gmessages.c line 967
  • #1 g_log
    at gmessages.c line 1003
  • #2 g_return_if_fail_warning
    at gmessages.c line 1012
  • #3 folks_persona_get_is_user
    at /home/cassidy/gnome/folks/folks/persona.vala line 131
  • #4 _folks_individual_aggregator_personas_changed_cb
    at /home/cassidy/gnome/folks/folks/individual-aggregator.vala line 1366
  • #5 __folks_individual_aggregator_personas_changed_cb_folks_persona_store_personas_changed
    at /home/cassidy/gnome/folks/folks/individual-aggregator.vala line 808
  • #6 g_cclosure_user_marshal_VOID__OBJECT_OBJECT_STRING_OBJECT_ENUM
    at /home/cassidy/gnome/folks/folks/persona-store.vala line 316
  • #7 g_closure_invoke
    at gclosure.c line 777
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3551
  • #9 g_signal_emit_valist
    at gsignal.c line 3300
  • #10 g_signal_emit_by_name
    at gsignal.c line 3393
  • #11 _folks_persona_store_emit_personas_changed
    at /home/cassidy/gnome/folks/folks/persona-store.vala line 439
  • #12 _tpf_persona_store_self_contact_changed_cb
  • #13 _tpf_persona_store_notify_connection_cb_async_co
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona-store.vala line 812
  • #14 _tpf_persona_store_notify_connection_cb_async_ready
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona-store.vala line 721
  • #15 g_simple_async_result_complete
    at gsimpleasyncresult.c line 775
  • #16 connection_get_alias_flags_cb
    at tp-lowlevel.c line 52
  • #17 _tp_cli_connection_interface_aliasing_invoke_callback_get_alias_flags
    at _gen/tp-cli-connection-body.h line 3638
  • #18 tp_proxy_pending_call_idle_invoke
    at proxy-methods.c line 155
  • #19 g_idle_dispatch
    at gmain.c line 4806
  • #20 g_main_dispatch
    at gmain.c line 2715
  • #21 g_main_context_dispatch
    at gmain.c line 3219
  • #22 g_main_context_iterate
    at gmain.c line 3290
  • #23 g_main_context_iteration
    at gmain.c line 3351
  • #24 g_application_run
    at gapplication.c line 1607
  • #25 main
    at empathy.c line 847

Comment 1 Philip Withnall 2012-09-04 23:43:36 UTC
Created attachment 223484 [details] [review]
Fix a crash when notifying about the Telepathy self persona disappearing

https://www.gitorious.org/folks/folks/commits/683319-tpf-self-persona
Comment 2 Guillaume Desmottes 2012-09-05 07:24:49 UTC
Review of attachment 223484 [details] [review]:

++
Comment 3 Philip Withnall 2012-09-05 19:58:09 UTC
Comment on attachment 223484 [details] [review]
Fix a crash when notifying about the Telepathy self persona disappearing

commit b6cd964139abb85e09fff26dce1992f4f9895f19
Author: Philip Withnall <philip@tecnocode.co.uk>
Date:   Wed Sep 5 00:41:22 2012 +0100

    Bug 683319 — Crash in individual-aggregator: _personas_changed_cb
    
    Keep a reference to the Tpf.PersonaStore’s self persona when emitting
    a ‘personas changed’ notification about it, so that it doesn’t get unset
    in the store’s member variable in the mean time, resulting in a null persona
    being emitted in the ‘personas changed’ signal.
    
    Closes: https://bugzilla.gnome.org/show_bug.cgi?id=683319

 NEWS                                          |  1 +
 backends/telepathy/lib/tpf-persona-store.vala | 14 +++++++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)