Initial message not visible when conversation logs contain an escape character

Bug #1506834 reported by IT man
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
empathy (Ubuntu)
New
High
Unassigned

Bug Description

*** Issue

When user X has a message containing en escape character in her/his Empathy conversation logs, the following error happens:

When user Y sends a chat message to Empathy user X, user X cannot open the message window.
User X must open the message history or select Y in the contact list to be able to see the message.

*** Tested versions

Ubuntu 14.04.1 LTS 64-bit with all package updates (advertised as 14.04.3).
Empathy 3.8.6 (package shipped with Ubuntu)

*** Steps to reproduce

- User X has Empathy configured on an XMPP (Jabber) server.

- Produce a dummy XML conversation log file (say 20150619.log) which contains an Escape character (ASCII 27).
Note: the Escape character is encoded as:


In our case, this character was produced by copy-pasting text which included escape sequences into a conversation.

- On user X's machine, copy dummy log file 20150619.log to X's Empathy conversation log tree under ~/.local/share/TpLogger/logs , in the subdirectory which stores conversations with Y (the directory is named "Y@<Jabber server FQDN>").

- In this same directory, remove the current day's log file.

- Have Y send a message to X.

On X's computer, a blue envelope icon shows in the notification area (top right of the screen).

- X clicks on the blue envelope.
This opens a menu.

- In this menu, under "Empathy", X clicks on Y's name.

*** Expected result

A window opens with Y's message plus any earlier messages.

*** Actual result

Nothing happens. No window opens.
In other cases, the window opens with any earlier messages from Y, but not the message just sent.

*** Tested workarounds

1. Immediate workaround

The missing message can be found by looking at the conversation log in Empathy or by clicking on Y's name in the contact list.

2. Long-term workaround

By using "xmllint" on the whole ~/.local/share/TpLogger/logs directory tree, the file(s) in error can be found.
Then they can be either removed or fixed with "xmllint -recover". The latter method invoves the use of a temporary file because the command does not work in place.

As soon as another message with an incorrect character is received, however, the workaround must be performed again.

*** Impact and comments

Inexperienced users having this defect may miss (potentially many) chat messages.
This is to be balanced with the frequency of the error, i.e. the frequency of its trigger.
It is quite possible that the error is not limited to the escape character but present with any syntax error in the XML conversation logs.
Also, the error is probably not limited to XMPP servers either.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at https://wiki.ubuntu.com/Bugs/Upstream/GNOME. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a bugwatch that will inform us about its status. Thanks in advance.

Changed in empathy (Ubuntu):
importance: Undecided → High
Revision history for this message
IT man (banaschar2) wrote :

I just opened the corresponding upstream bug here:

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

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.