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 658580 - Assertion in gee_hash_map_node_iterator_next with folks 0.6.2
Assertion in gee_hash_map_node_iterator_next with folks 0.6.2
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: general
0.6.x
Other Linux
: Normal normal
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2011-09-08 16:42 UTC by Kalev Lember
Modified: 2011-09-08 22:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Stack trace (6.02 KB, text/plain)
2011-09-08 16:42 UTC, Kalev Lember
Details

Description Kalev Lember 2011-09-08 16:42:11 UTC
Created attachment 196011 [details]
Stack trace

After updating from folks 0.6.1 to 0.6.2, gnome-shell crashes with the following in .xsession-errors:
ERROR:hashmap.c:2322:gee_hash_map_node_iterator_next: assertion failed: (self->_stamp == self->_map->priv->_stamp)

This is latest Fedora 16, with libgee 0.6.1.

The assertion appears to come from hashmap.vala:471:

                public bool next () {
                        assert (_stamp == _map._stamp);
                        if (!has_next ()) {
                                return false;
                        }
                        _node = _next;
                        _next = null;
                        return (_node != null);
                }

Attaching backtrace.
Comment 1 Raul Gutierrez Segales 2011-09-08 16:56:48 UTC
I've triggered this before from folks-inspect:

https://bugzilla.gnome.org/show_bug.cgi?id=657680

Was this with Empathy or Gnome Contacts? Where you doing anything special (i.e.: linking) ?
Comment 2 Alexander Larsson 2011-09-08 17:03:39 UTC
Thats not the same bug, that one iterates over persona sets, this is a list of stores in the backend that gets modified in a reentrant fashion.

IndividualAggregator._add_backend (Backend backend) loops:
   foreach (var persona_store in backend.persona_stores.values)
      this._backend_persona_store_added_cb (backend, persona_store);

this._backend_persona_store_added_cb calls store.prepare
and eds backend calls 

  E.BookClient.get_sources (out this._ab_sources);
  this._ab_sources.changed.connect (this._ab_source_list_changed_cb);
  this._ab_source_list_changed_cb (this._ab_sources);

which modifies the backend.persona_stores container
or something like that
Comment 3 Raul Gutierrez Segales 2011-09-08 17:41:57 UTC
Thanks for reporting this, we'll be pushing a new release with a fix in a bit.
Comment 4 Kalev Lember 2011-09-08 22:19:15 UTC
Thanks for dealing with this quickly. I can confirm that the new 0.6.2.1 fixes it.