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 683093 - Crash in __tpf_persona_store_self_contact_changed_cb_g_object_notify
Crash in __tpf_persona_store_self_contact_changed_cb_g_object_notify
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: Telepathy backend
git master
Other Linux
: Normal critical
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2012-08-31 11:29 UTC by Guillaume Desmottes
Modified: 2012-09-10 18:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Handle Telepathy connections disappearing during a ‘yield’ while connecting (5.48 KB, patch)
2012-09-08 22:59 UTC, Philip Withnall
accepted-commit_now Details | Review

Description Guillaume Desmottes 2012-08-31 11:29:47 UTC
I was testing some crazy new gabble branch ( https://bugs.freedesktop.org/show_bug.cgi?id=54287 ) and of course I made it crash.

Looks like Folks ( 2dcbc92fc2707a96ea10ac70204544b7df42b143 ) found it fun and followed its lead.

  • #0 g_logv
  • #1 g_log
  • #2 g_type_check_instance
    at gtype.c line 4083
  • #3 g_signal_connect_object
  • #4 _tpf_persona_store_notify_connection_cb_async_co
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona-store.vala line 811
  • #5 _tpf_persona_store_notify_connection_cb_async_ready
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona-store.vala line 721
  • #6 g_simple_async_result_complete
    at gsimpleasyncresult.c line 767
  • #7 connection_get_alias_flags_cb
    at tp-lowlevel.c line 52
  • #8 _tp_cli_connection_interface_aliasing_invoke_callback_get_alias_flags
    at _gen/tp-cli-connection-body.h line 3632
  • #9 tp_proxy_pending_call_idle_invoke
    at proxy-methods.c line 155
  • #10 g_idle_dispatch
    at gmain.c line 4777
  • #11 g_main_dispatch
    at gmain.c line 2691
  • #12 g_main_context_dispatch
    at gmain.c line 3195
  • #13 g_main_context_iterate
    at gmain.c line 3266
  • #14 g_main_context_iteration
    at gmain.c line 3327
  • #15 g_application_run
    at gapplication.c line 1607
  • #16 main
    at empathy.c line 847

Comment 1 Philip Withnall 2012-08-31 20:45:52 UTC
Well that’s interesting. Tpf.PersonaStore._conn appears to go from happy to null during the async FolksTpLowlevel.connection_get_alias_flags_async() call.

Guillaume, could you provide some debug output from folks to confirm this please? I’d feel hesitant writing a patch without being a bit more sure that this is the cause.

Assuming that is the problem, though, I guess the best solution would be to fix https://bugs.freedesktop.org/show_bug.cgi?id=14540 then. Once that’s fixed, folks can stop making an async call to get the alias flags (http://git.gnome.org/browse/folks/tree/backends/telepathy/lib/tpf-persona-store.vala#n775) and that would eliminate the possibility of the connection disappearing in the meantime.
Comment 2 Guillaume Desmottes 2012-09-03 09:48:07 UTC
I can't reproduce it unfortunatelly; I just happened once when doing some testing.
Comment 3 Guillaume Desmottes 2012-09-05 08:38:42 UTC
Related to bug #683386 ?
Comment 4 Philip Withnall 2012-09-08 22:59:08 UTC
Created attachment 223827 [details] [review]
Handle Telepathy connections disappearing during a ‘yield’ while connecting

https://www.gitorious.org/folks/folks/commits/683093-tp-disconnect-during-yield

How does this look?
Comment 5 Guillaume Desmottes 2012-09-10 07:22:10 UTC
Review of attachment 223827 [details] [review]:

++
Comment 6 Jeremy Whiting 2012-09-10 18:08:34 UTC
Philip,  thanks for the fix. 
Guillaume, thanks for testing it.
Pushed to master.