Logs back in when user has logged in somewhere else

Bug #560575 reported by Captain Chaos
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Empathy
Expired
Medium
empathy (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Binary package hint: empathy

When Empathy is running and online, gets kicked out because the user has signed in somewhere else, Empathy logs back into the accounts after a short while, kicking the user out where they have just logged in!

In case that wasn't clear: I have an MSN account, a Yahoo! account and an ICQ account. Say I'm working on machine A and am online there with Empathy. Say I move to machine B and log in there. Empathy starts on machine B so that I am online and reachable there, and the instance of Empathy on machine A is automatically logged out of its accounts. This is exactly how it should work. This way I am always reachable on the machine I'm working on, without tediously having to log out explicitly every time on the machine I'm leaving.

However, when I do this, the Empathy instance on machine A logs back into its accounts after a short while, kicking me out of my accounts on machine B! It seems that Empathy just assumes the disconnect was due to network problems and keeps trying to reconnect. Obviously this is very annoying, and not how it should work. Empathy should recognize that the disconnect is permanent, and not try to log back in again until explicitly told to by me.

I know this is possible, because this is what Pidgin does. When I get logged out because I log in somewhere else, Pidgin shows a very nice message saying "3 accounts were disabled because you signed on from another location:" and then lists the accounts, together with a "re-enable" button so I can quickly log in again when I'm back. So apparently for all three account types it's possible to tell that the disconnect was due to logging in somewhere else, and Empathy should be able to provide the same functionality as Pidgin.

ProblemType: Bug
Architecture: amd64
Date: Sun Apr 11 11:13:49 2010
DistroRelease: Ubuntu 9.10
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
NonfreeKernelModules: nvidia
Package: empathy 2.28.1.1-0ubuntu1
ProcVersionSignature: Ubuntu 2.6.31-20.58-generic
SourcePackage: empathy
Uname: Linux 2.6.31-20-generic x86_64

Revision history for this message
Captain Chaos (launchpad-chaos) wrote :
description: updated
description: updated
Revision history for this message
Omer Akram (om26er) wrote :

Thanks for taking time to report this bug. Can you please tell how long I have to wait for this to happen. I oepned pidgin and empathy logged into empathy and then logged into pidgin with the same account. pidgin empathy disconnected and now it has been 30minutes since I am waiting for empathy to reconnect automatically.

Changed in empathy (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

It happens in five minutes on my system.

I think I know what's going on, because I just happened to witness it: I think Empathy logs back in when it goes Away!

In the scenario I described above machine A is my laptop and machine B is my workstation. I neglected to mention that on machine B I'm actually using Pidgin, but I don't think that matters. I observed that when I logged in on my workstation, Empathy on the laptop neatly listed the three accounts as "Name in use". But five minutes later, when the screensaver on the laptop kicked in, Pidgin on my workstation got kicked out. When I then looked at what happened on the laptop Empathy had gone to Away status, and had logged back in to all accounts.

Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

OK, I have more data:

1. It only happens when there are also accounts in Empathy which are not logged out. In my case, a Google Talk account, which supports multiple locations. I should have mentioned that, as it now turns out to be relevant. Sorry. In this case Empathy stays on Available status, and when the idle period expires it goes to Away status, logging back in to all accounts.

1b. I've tested this by disabling those accounts, so that *all* active accounts are logged off in Empathy when I start Pidgin. In that case Empathy goes to Offline status, and stays there even when the idle period expires.

2. You can simulate the problem by manually setting Empathy to Away when there are accounts listed as "Name in use" and observing that it logs back in to all accounts.

Changed in empathy (Ubuntu):
status: Incomplete → New
Revision history for this message
Omer Akram (om26er) wrote :

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

Revision history for this message
Omer Akram (om26er) wrote :

Captain Chaos, can you please check bug 392747 and see if that is the one you are facing. That will be really helpful.

Omer Akram (om26er)
Changed in empathy (Ubuntu):
status: New → Incomplete
Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

It's hard to tell if that's the same bug as the description if not very clear. But I don't think so. They seem to be talking about a similar but MSN-specific bug in the underlying MSN protocol library (telepathy-butterfly). But my bug applies to all protocols, so it must be a bug in Empathy itself, not in an individual protocol implementation. I'll file a GNOME bug for it.

Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

I've filed GNOME bug 616030 for this.

Changed in empathy (Ubuntu):
status: Incomplete → New
Changed in empathy:
status: Unknown → New
Revision history for this message
Omer Akram (om26er) wrote :

Have you read comment#4 on bug 392747 ? Do you change your status from MeMenu?

Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

That's a totally different bug. It only applies to MSN and it's about telepathy-butterfly logging back in immediately, instead of all protocols and only after a while.

It's pretty clear what the bug is: when the Empathy status is changed (no matter which way) it re-enables all accounts, without checking whether the account was disabled because you logged in somewhere else. It should check for that and leave those accounts alone.

Revision history for this message
Omer Akram (om26er) wrote :

Its quite difficult to understand a big bug report. can you please tell simple steps to reproduce the issue so that we could open an upstream bug for this and try to get it fixed

Changed in empathy (Ubuntu):
status: New → Incomplete
Revision history for this message
Omer Akram (om26er) wrote :

Sorry the upstream bug is already there but still can you please make it precise.

Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

Here is the text of the Gnome bug. It's describes the problem very precisely and I really cannot make it any simpler, as it is a complex problem.

Also please re-read the second paragraph of comment #10, as I state what I think the bug is there as clearly as I can.

If you still don't understand it perhaps it would be better if you asked specific questions so I could answer those.

"When Empathy is running, with one or more accounts logged in and in Available
status, and one or more accounts off-line and listed as "name in use" because
the user has logged in elsewhere; when the idle time-out expires Empathy goes
to Away status and logs back in to all the "name in use" accounts, kicking the
user out wherever else they had logged in!

There are reports that the same thing happens when the computer is no longer
idle and Empathy automatically goes back to Available.

When *all* accounts are listed as "name in use" Empathy automatically goes to
Offline status, and then the problem does not occur. Apparently it only happens
when Empathy is still in Available status because not all accounts are
off-line.

The problem can be simulated by manually setting Empathy to Away status when it
is Available and there are off-line accounts listed as "name in use", and
observing that all accounts are re-enabled.

The correct behaviour would be that Empathy never automatically logs back in to
"name in use" accounts, but only does so when explicitly directed to by the
user, preferably with one click of a button like Pidgin does."

Changed in empathy:
importance: Unknown → Medium
Omer Akram (om26er)
Changed in empathy (Ubuntu):
status: Incomplete → Triaged
Changed in empathy:
status: New → Expired
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.