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 683386 - Crash in folks_persona_store_get_is_primary_store()
Crash in folks_persona_store_get_is_primary_store()
Status: RESOLVED INCOMPLETE
Product: folks
Classification: Platform
Component: libfolks
0.7.x
Other Linux
: Normal normal
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2012-09-05 08:01 UTC by Mardy
Modified: 2013-01-16 09:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mardy 2012-09-05 08:01:36 UTC
Testing empathy with UOA, libfolks 0.7.3. This bug happened when re-enabling the google account right after disabling it. BTW, the contact list was not cleared from google-talk contacts when the account was disabled, but I'm going to report that issue separately (against Empathy).

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

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4c62c09 in folks_persona_store_get_is_primary_store (self=0xa09120) at persona-store.c:694
694	persona-store.c: No such file or directory.
(gdb) bt
  • #0 folks_persona_store_get_is_primary_store
    at persona-store.c line 694
  • #1 _folks_individual_set_personas
    at individual.c line 6708
  • #2 folks_individual_set_personas
    at individual.c line 7908
  • #3 g_object_newv
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #4 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #5 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #6 folks_individual_construct
    at individual.c line 2748
  • #7 folks_individual_new
    at individual.c line 2754
  • #8 _folks_individual_aggregator_add_personas
    at individual-aggregator.c line 3870
  • #9 _folks_individual_aggregator_personas_changed_cb
    at individual-aggregator.c line 4939
  • #10 g_cclosure_user_marshal_VOID__OBJECT_OBJECT_STRING_OBJECT_ENUM
    at persona-store.c line 744
  • #11 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #12 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #13 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #14 g_signal_emit_by_name
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #15 _folks_persona_store_emit_personas_changed
    at persona-store.c line 432
  • #16 _tpf_persona_store_self_contact_changed_cb
    at tpf-persona-store.c line 3610
  • #17 _tpf_persona_store_notify_connection_cb_async_co
    at tpf-persona-store.c line 2734
  • #18 g_simple_async_result_complete
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #19 connection_get_alias_flags_cb
    at tp-lowlevel.c line 52
  • #20 _tp_cli_connection_interface_aliasing_invoke_callback_get_alias_flags
    at _gen/tp-cli-connection-body.h line 3638
  • #21 _tp_cli_connection_interface_aliasing_invoke_callback_get_alias_flags
    at _gen/tp-cli-connection-body.h line 3621
  • #22 tp_proxy_pending_call_idle_invoke
    at proxy-methods.c line 155
  • #23 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #24 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #25 g_main_context_iteration
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #26 g_application_run
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #27 main
    at empathy.c line 847

Comment 1 Guillaume Desmottes 2012-09-05 08:38:29 UTC
Related to bug #683093 ?
Comment 2 Philip Withnall 2012-09-08 23:07:27 UTC
(In reply to comment #1)
> Related to bug #683093 ?

I don’t think so.

I can’t figure out the cause of the crash from this. It looks like a refcounting issue (previously-finalised PersonaStore getting used again) but it could be anywhere.

Mardy, if you can reproduce the crash, can you get the following output from gdb please?
    frame 0
    print *self
    frame 1
    print *[whatever the variable name is for the persona]
    print *[as above]->priv
    call folks_debug_emit_print_status(folks_debug_dup())

The variable name for the persona can be found on line 6708 of individual.c. I don’t know what it is because my line numbers are different.

Also, it would be useful if you could do all this with the following environment variables set: FOLKS_DEBUG=all G_MESSAGES_DEBUG=all. The output could then either be attached here or e-mailed to me privately (if it contains personal information).

Thanks.
Comment 3 Tobias Mueller 2013-01-16 09:51:55 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!