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 654447 - Incoming 1-1 text channels from Salut are neither logged nor dispatched.
Incoming 1-1 text channels from Salut are neither logged nor dispatched.
Status: RESOLVED NOTGNOME
Product: empathy
Classification: Core
Component: Chat
3.1.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
Depends on:
Blocks:
 
 
Reported: 2011-07-12 09:45 UTC by Rob
Modified: 2011-07-12 14:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Debug log (83.06 KB, text/x-log)
2011-07-12 09:45 UTC, Rob
Details

Description Rob 2011-07-12 09:45:04 UTC
Created attachment 191797 [details]
Debug log

Preconditions: No chat open with a user in people nearby and not running empathy after logging into  the system.

Steps to reproduce: Log in to the system and have a user in people nearby (or possibly any user) send you a message. The message appears in a bubble at the top right of the screen and you are given an option to reply to the message. Click on reply to message.

Expected result: When reply to message is clicked, an empathy chat with the user who messaged you should open.

Actual result: Nothing happens.

Extra information: The attachment is a debug log showing actions from logging into the system up until the bug occurred.
Comment 1 Will Thompson 2011-07-12 09:57:15 UTC
This is interesting:

mcd-DEBUG: 12/07/11 11:09:29.210206: observe_channels_cb: Observer /org/freedesktop/Telepathy/Client/Logger returned error: 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.

So is this:

mcd-DEBUG: 12/07/11 11:09:29.210338: _mcd_client_proxy_handle_channels: calling HandleChannels on org.freedesktop.Telepathy.Client.Empathy.Chat

...

mcd-DEBUG: 12/07/11 11:09:54.217051: _mcd_dispatch_operation_handle_channels_cb: error: 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.
mcd-DEBUG: 12/07/11 11:09:54.217381: _mcd_dispatch_operation_set_handler_failed: All possible handlers failed: failing with the last error

Could you post the versions of the logger, mission control and the empathy package? In a terminal, run:

  dpkg -l telepathy-logger telepathy-mission-control-5 empathy | cat

and paste the output to this bug.
Comment 2 Rob 2011-07-12 10:02:05 UTC
ii  empathy                                        3.1.3-1                           GNOME multi-protocol chat and call client
ii  telepathy-logger                               0.2.10-1                          Telepathy logger service - Daemon
ii  telepathy-mission-control-5                    1:5.9.0-1                         management daemon for Telepathy real-time communication framework
Comment 3 Will Thompson 2011-07-12 10:06:22 UTC
I can reproduce something like this on my system (using Gnome 3 rather than Gnome 2, so it's a little different, but with the same versions of Empathy, MC and logger):

• Rob sends me a message on People Nearby;
• I'd expect to see a bubble for the new message, but I don't;
• In the contact list, his icon flashes, and the tray icon flashes;
• Clicking either one has no result; after a while the logger times out and the window is displayed.

So I only see half the problem: eventually, for me, the window does show up containing the message, but it is not logged: if I close and re-open the window the message is gone.
Comment 4 Will Thompson 2011-07-12 13:28:51 UTC
I'm pretty sure this is a bug in TpTextChannel, specifically in the fallback path for the CM not including message-sender-id in its messages.

The Logger's ObserveChannels() implementation is never called. tp-glib gets the call, and tries to introspect the channel; we get this:

(telepathy-logger:22455): tp-glib/channel-DEBUG: get_sender: Message received on /org/freedesktop/Telepathy/Connection/salut/local_xmpp/wjt/IMChannel/3 doesn't include message-sender-id, please fix CM
(telepathy-logger:22455): tp-glib/channel-DEBUG: get_pending_messages_cb: Pending messages may be re-ordered, please fix CM (/org/freedesktop/Telepathy/Connection/salut/local_xmpp/wjt)

and then TpTextChannel calls one of tp_connection_get_contacts_by_id or tp_connection_get_contacts_by_handle (depending on some logic that I can't follow) and the callback is never called! As far as I can tell, no method call is ever sent over D-Bus.

So channel introspection never finishes, and eventually MC gives up. What I don't understand is: sometimes introspection seems to finish in Empathy, but not in the Logger; other times, neither works.
Comment 5 Will Thompson 2011-07-12 14:26:59 UTC
Jonny and I have confirmed that this is a regression in telepathy-glib, not a bug in Empathy. I've filed a bug against telepathy-glib at <https://bugs.freedesktop.org/show_bug.cgi?id=39172>, and am closing this one.