[Bug 45537] version == hash_table->version assertion failure when disposing the vCard manager

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Feb 2 19:14:32 CET 2012


https://bugs.freedesktop.org/show_bug.cgi?id=45537

Will Thompson <will.thompson at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW

--- Comment #2 from Will Thompson <will.thompson at collabora.co.uk> 2012-02-02 10:14:32 PST ---
Can't figure out how to reproduce it, sorry.

This line in the backtrace:

#15 0x08098972 in connection_force_close_cb (source=0x9d0b560, res=0x9d236f0,
user_data=0x9910c10) at wocky-c2s-porter.c:1257

tells us that this was an unclean disconnection. My thinking was that we need a
vcard cache entry with ->vcard_node, ->pipeline_item, and ->pending_requests to
be NULL in order for the code in cache_entry_attempt_to_free() which modifies
the hash table to fire, so I tried requesting a vCard, sending back an error of
type='wait' to tell it to try again later, and then uncleanly disconnecting the
connection in a variety of ways… but no dice.

I did make the surprising discovery that if I change connect/stream-closed.py
to send a spurious stanza right before the </stream:stream>:


-    # server closes its stream
+    # server tells us it hates us then closes the stream cleanly.
+    stream.send(
+        elem('message', from_='lol at localhost')(
+          elem('body')(u'piss off')
+        ))
     stream.sendFooter()

then the test fails! Gabble never sends the corresponding </stream:stream>. The
issue seems to be related to the state transitions of WockyXmppConnection at
the end of a stream when it gets a blob of data containing both a stanza and
the </stream:stream> — if you stick a q.expect('dbus-signal',
signal='MessageReceived') before sendFooter(), the test passes. But I couldn't
track it down further. :(

So I am donating these bugs back to the public domain.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the telepathy-bugs mailing list