"As soon as I try to connect with my jabber.org account in Empathy,
telepathy-gabble crashes. My gmail account on the other hand seems to
I'm adding a backtrace below, I can also provide DEBUG output if needed."
Backtrace is in the Debian BTS, <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446259>. Looks like a bug in roster group handling.
This bug is still here in version 0.7.1. Is there anything else I can add to make it easier to fix this?
I couldn't see what was going on here when I looked at this bug before, but I think I can see what the problem is now. I'll see whether I can reproduce it in a regression test.
OK, I believe I have reproduced this crash. I've reproduced something closely related, anyway. I think there's something odd in your jabber.org roster, perhaps a duplicate entry for the same contact with different groups.
To verify that the problem I'm fixing is the same one you encountered, please try reproducing the assertion when you have run (the current version of) Gabble like this:
LM_DEBUG=net GABBLE_PERSIST=1 GABBLE_DEBUG=all /usr/lib/telepathy/telepathy-gabble 2>&1 | tee gabble.log
The resulting logfile will contain a complete network activity trace (including all the JIDs on your roster). If you don't want to post this to a publically archived location, you can send it to email@example.com privately.
I'll use the roster from your debug log as the basis for a regression test to make sure we don't get this bug recurring (anonymizing all JIDs, obviously).
Created attachment 16140 [details]
I'm attaching the log from version 0.7.3, is this current enough or do I need to grab it directly from the darcs repository?
I have mostly been using this account to try out different applications and settings, so it's no surprise if something odd may have occured. Anyway, thanks for looking into this!
OK, here's the problem (I've added whitespace):
<item subscription='both' name='ingaa' firstname.lastname@example.org'>
<item ask='subscribe' subscription='none' email@example.com/Gaim'/>
We normalize the full JID (with the /Gaim) to the same thing as the bare JID, meaning there appears to be a duplicate <item>. The first of the duplicate <item>s has more groups than the second, which is exactly the situation needed to trigger this bug.
I have a fix for the assertion, on a branch awaiting code review - it should land in 0.7.4.
(As it stands at the moment, even with my patch applied you'll get odd behaviour with this roster. I didn't know servers would let you do this... I'll have to go and re-read the RFC to work out how we should be interpreting it.)
A better version of my patch has been reviewed and merged into darcs; it will be included in the next release. Thank you for your bug report.