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 679618 - Crash when unsetting all groups
Crash when unsetting all groups
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: Telepathy backend
git master
Other Linux
: Normal normal
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks: 678873
 
 
Reported: 2012-07-09 10:40 UTC by Guillaume Desmottes
Modified: 2012-07-09 20:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Guillaume Desmottes 2012-07-09 10:40:31 UTC
I get this crash when calling this piece of code to remove an individual from all his groups:


          GeeSet *empty;

          empty = gee_set_empty (G_TYPE_STRING, NULL, NULL);

          folks_group_details_change_groups (FOLKS_GROUP_DETAILS (individual),
              empty, NULL, NULL);

          g_object_unref (empty);



ERROR:hashset.c:944:gee_hash_set_iterator_real_next: assertion failed: (_tmp0_ == _tmp2_)


  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 __GI_abort
    at abort.c line 91
  • #2 g_assertion_message
  • #3 g_assertion_message_expr
    at gtestutils.c line 1872
  • #4 gee_hash_set_iterator_real_next
    at hashset.c line 944
  • #5 gee_hash_set_iterator_real_next
    at hashset.c line 931
  • #6 tpf_persona_real_change_groups_co
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona.vala line 556
  • #7 tpf_persona_change_groups_ready
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona.vala line 553
  • #8 g_simple_async_result_complete
    at gsimpleasyncresult.c line 767
  • #9 _tpf_persona_change_group_membership_co
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona.vala line 485
  • #10 _tpf_persona_change_group_membership_ready
    at /home/cassidy/gnome/folks/backends/telepathy/lib/tpf-persona.vala line 492
  • #11 g_simple_async_result_complete
    at gsimpleasyncresult.c line 767
  • #12 complete_in_idle_cb
    at gsimpleasyncresult.c line 779
  • #13 g_idle_dispatch
    at gmain.c line 4777
  • #14 g_main_dispatch
    at gmain.c line 2691
  • #15 g_main_context_dispatch
    at gmain.c line 3195
  • #16 g_main_context_iterate
    at gmain.c line 3266
  • #17 g_main_context_iteration
    at gmain.c line 3327
  • #18 g_application_run
    at gapplication.c line 1607
  • #19 main
    at empathy.c line 845

Comment 1 Philip Withnall 2012-07-09 20:20:03 UTC
commit 0ab719394bd763554dfd534b389728d4dbd040e0
Author: Philip Withnall <philip@tecnocode.co.uk>
Date:   Mon Jul 9 21:18:41 2012 +0100

    Bug 679618 — Crash when unsetting all groups
    
    Rework the group changing code in Tpf.Persona so that:
     1. change_groups() no longer changes the set of groups while iterating
        over it; and
     2. batch Telepathy calls are made where possible, rather than one call per
        group change.
    
    Closes: https://bugzilla.gnome.org/show_bug.cgi?id=679618

 NEWS                                    |    1 +
 backends/telepathy/lib/tpf-persona.vala |   30 ++++++++++--------------------
 2 files changed, 11 insertions(+), 20 deletions(-)