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 708462 - Adding Google or Facebook accounts adds a second Jabber account
Adding Google or Facebook accounts adds a second Jabber account
Status: RESOLVED FIXED
Product: gnome-online-accounts
Classification: Core
Component: Telepathy
3.9.x
Other Linux
: Normal normal
: ---
Assigned To: GNOME Online Accounts maintainer(s)
GNOME Online Accounts maintainer(s)
3.10.1
Depends on:
Blocks:
 
 
Reported: 2013-09-20 14:46 UTC by Martin Meyer
Modified: 2013-10-15 12:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Ensure that the factory is initialized before using the account manager (5.58 KB, patch)
2013-09-26 12:44 UTC, Debarshi Ray
committed Details | Review

Description Martin Meyer 2013-09-20 14:46:04 UTC
In the 3.9 series of goa, creating new accounts which include jabber services seems to create a second account just for the jabber portion. For example, I just added 2 Google accounts and a Facebook account (which doesn't work BTW), and ended up with 6 accounts in the Online Accounts account list.

This is confusing for a couple reasons:
1) There's a chat on/off selector in the properly branded account. Why is there also a separate account for the chat part?
2) Deleting the Jabber variant doesn't seem to stop Empathy from being able to connect, so why is it there?
3) My Facebook account uses my Gmail email address, so I appear to have two Jabber accounts for that email address.

Gnome Online Accounts should probably not expose these Jabber accounts to the user if it even needs them internally.

My gnome-online-accounts package is 3.9.92 from Fedora 20.
Comment 1 Debarshi Ray 2013-09-25 17:16:59 UTC
It is not supposed to expose those extra Jabber accounts in the UI anywhere, however there is a race in the code which causes this sometimes.

Sometimes we end up calling tp_account_manager_set_default after having called tp_account_manager_dup. This causes tp_account_manager_set_default to fail, which means we are not using our own custom account manager. Hence TpAccount:account-storage is NULL and everything falls apart.

Now we need to fix this.
Comment 2 Debarshi Ray 2013-09-26 12:44:48 UTC
Created attachment 255829 [details] [review]
Ensure that the factory is initialized before using the account manager

I am curious why the bug only occurs sometimes. I would expect it to break reliably. Anyway ...
Comment 3 Martin Meyer 2013-09-26 13:31:48 UTC
I got an SSD a couple weeks ago, and now I seem to have become a race condition magnet. I've fixed about a dozen race conditions in my own code this month as a result. Seems like I hit every possible one.
Comment 4 Debarshi Ray 2013-09-27 13:12:18 UTC
Comment on attachment 255829 [details] [review]
Ensure that the factory is initialized before using the account manager

Pushed to both master and gnome-3-10.