mission-control doesn't answer EnsureChannel for already handled channels
@kakaroto
Submitted by Youness Alaoui Assigned to Telepathy bugs list
Description
Created attachment 31863 gabble log
Hi, From what I understood, calling EnsureChannel will create a channel for us, and if the channel already exists, it will give us the channel with yours=false. however, this does not seem to work. I've been struggling with this for a couple of days before realizing the bug comes from gabble. If I call EnsureChannel (on the Account), when a channel already exists, I will never get an answer from gabble. I'm attaching a log from gabble taken with GABBLE_DEBUG=all WOCKY_DEBUG=all. What I do is connect my account in empathy, then join a MUC in empathy, then I run teamgeist which tries to join the MUC by calling EnsureChannel. The request is never answered. Sometimes (didn't seem to happen in this particular case, even though I waited about 10 minutes), I get after a long timeout the signal Failed on the ChannelRequest with the message (the 'error' argument being empty) : "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken."
By the way, since I'm doing a lot of testing by launching teamgeist/ctrl-c/launch/ctrl-c/etc.. I can sometimes reproduce this bug without even opening the MUC in empathy, and with dbus-monitor I see the StatsChanged signal with ChannelCount reporting many channels (text or dbustube), which seem to mean that sometimes a channel is not destroyed even if the process that requested it got killed... so there's a channel leak here, and it prevents me from continuing without killing gabble.
Attachment 31863, "gabble log":
log