GNOME Bugzilla – Bug 708462
Adding Google or Facebook accounts adds a second Jabber account
Last modified: 2013-10-15 12:06:37 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.
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.
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 ...
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 on attachment 255829 [details] [review] Ensure that the factory is initialized before using the account manager Pushed to both master and gnome-3-10.