Bug 345311 - Added Google account not recognized as a chat account.
Summary: Added Google account not recognized as a chat account.
Status: RESOLVED FIXED
Alias: None
Product: KAccounts
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Telepathy Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-18 16:51 UTC by Ivan Čukić
Modified: 2015-03-18 20:34 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Čukić 2015-03-18 16:51:46 UTC
This is a problem I had since I first tried to use KAccounts-based KTp (and according to some posts, I'm not the only one). Since the new KTp is becoming stable, I decided to try again, but to no avail.

Namely, after following the instructions at [1] I'm able to set up the Google account, and the KCM shows up the 'Contacts', 'Calendars and Tasks' and 'Hangouts' checkboxes, all checked.

ktp-contactlist still does not recognize that account as IM account. It shows up the 'You have no IM accounts configured. Would you like to do that now?' message box.

The signond is running, but it does not register a socket at /tmp/runtime-ivan/signond/socket (as can be seen below).

[1] https://community.kde.org/KTp/Setting_up_KAccounts

ktp-contactlist debugging output:

QCoreApplication::arguments: Please instantiate the QApplication object first
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QCoreApplication::arguments: Please instantiate the QApplication object first
QCoreApplication::arguments: Please instantiate the QApplication object first
kf5.kiconthemes: "Theme tree: (Breeze Dark)"
ktp-models: invalid index data requested QModelIndex(-1,-1,0x0,QObject(0x0) )
ktp-models: Built with kpeople support, using kpeople model
kf5.kservice.sycoca: Trying to open ksycoca from "/home/ivan/.cache/ksycoca5"
ktp-people: Account manager ready
ktp-common-internals: Current presence changed
ktp-common-internals: Current presence changed
Calling notify on "Sound"
AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
Changing audio state from  Phonon::LoadingState  to  Phonon::StoppedState 
Calling notify on "Taskbar"
0 115343374
Changing audio state from  Phonon::LoadingState  to  Phonon::StoppedState 
Changing audio state from  Phonon::StoppedState  to  Phonon::PausedState 
Changing audio state from  Phonon::PausedState  to  Phonon::PlayingState 
Changing audio state from  Phonon::PlayingState  to  Phonon::StoppedState

kcmshell5 kcm_kaccounts debugging output (while adding the google account)

kf5.kservice.sycoca: Trying to open ksycoca from "/home/ivan/.cache/ksycoca5"
kf5.kiconthemes: "Theme tree: (Breeze Dark)"
"Trying to convert empty KLocalizedString to QString."
"Trying to convert empty KLocalizedString to QString."
"google"
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-ivan'
connection-manager.cpp 106 setupSocketConnection p2p error: QDBusError("org.freedesktop.DBus.Error.FileNotFound", "Failed to connect to socket /tmp/runtime-ivan/signond/socket: No such file or directory") 1
connection-manager.cpp 132 init Peer connection unavailable, activating service
identityimpl.cpp 96 updateState Updating state:  "PendingRegistration" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 172 storeCredentials Storing credentials
authsessionimpl.cpp 94 initInterface
authsessionimpl.cpp 94 initInterface
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-ivan'
connection-manager.cpp 106 setupSocketConnection p2p error: QDBusError("org.freedesktop.DBus.Error.FileNotFound", "Failed to connect to socket /tmp/runtime-ivan/signond/socket: No such file or directory") 1
connection-manager.cpp 150 init Connected to "qt_default_session_bus"
identityimpl.cpp 96 updateState Updating state:  "Ready" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 96 updateState Updating state:  "NeedsUpdate" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 96 updateState Updating state:  "PendingUpdate" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 442 infoUpdated SERVER INFO UPDATED. NeedsUpdate " 0 "
identityimpl.cpp 345 storeCredentialsReply stored id: 9 old id: 0
identityimpl.cpp 381 getInfoReply QMap(("ACL", QVariant(QStringList, ("*")) ) ( "AuthMethods" ,  QVariant(QDBusArgument, ) ) ( "Caption" ,  QVariant(QString, "google") ) ( "Id" ,  QVariant(uint, 9) ) ( "Owner" ,  QVariant(QStringList, ()) ) ( "Realms" ,  QVariant(QStringList, ()) ) ( "RefCount" ,  QVariant(int, 0) ) ( "StoreSecret" ,  QVariant(bool, true) ) ( "Type" ,  QVariant(int, 1) ) ( "UserName" ,  QVariant(QString, "") ) ( "UserNameSecret" ,  QVariant(bool, false) ) ( "Validated" ,  QVariant(bool, false) ) ) 
identityimpl.cpp 96 updateState Updating state:  "Ready" SignOn::IdentityImpl(0x2816cc0)
Info:
        Id: 9
        accessControl: ("*")
        caption: "google"
        id: 9
        storingSecret: true
        owner: ""
        userName: ""
identityimpl.cpp 576 remoteObjectDestroyed
identityimpl.cpp 96 updateState Updating state:  "NeedsRegistration" SignOn::IdentityImpl(0x2816cc0)
Response:
        Token: QVariant(QString, "ya29.OgEl9m9oU3dXju2vbwUMRE7E86ALhem4RfFwoA1ruHJri9N3Yu1wQ8GJmcW728rlyQQqv-m0PPK8OQ")
        Expires: QVariant(int, 3600)
        Caption: ""
        ControlTokens: ()
        PropertyNames: ("AccessToken", "ExpiresIn", "RefreshToken")
        Proxy: ""
        Realm: ""
        Secret: ""
        Username: ""
        : QVariant(Invalid)
identityimpl.cpp 242 queryInfo Querying info.
identityimpl.cpp 96 updateState Updating state:  "PendingRegistration" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 96 updateState Updating state:  "PendingUpdate" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 96 updateState Updating state:  "Ready" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 381 getInfoReply QMap(("ACL", QVariant(QStringList, ("*")) ) ( "AuthMethods" ,  QVariant(QDBusArgument, ) ) ( "Caption" ,  QVariant(QString, "google") ) ( "Id" ,  QVariant(uint, 9) ) ( "Owner" ,  QVariant(QStringList, ()) ) ( "Realms" ,  QVariant(QStringList, ()) ) ( "RefCount" ,  QVariant(int, 0) ) ( "StoreSecret" ,  QVariant(bool, true) ) ( "Type" ,  QVariant(int, 1) ) ( "UserName" ,  QVariant(QString, "XXXXXXXXX@gmail.com") ) ( "UserNameSecret" ,  QVariant(bool, false) ) ( "Validated" ,  QVariant(bool, true) ) ) 
identityimpl.cpp 96 updateState Updating state:  "Ready" SignOn::IdentityImpl(0x2816cc0)
Info:
        Id: 9
        accessControl: ("*")
        caption: "google"
        id: 9
        storingSecret: true
        owner: ""
        userName: "XXXXXXXXX@gmail.com"
account-service.cpp: 162 onEnabled
account-service.cpp: 169 onChanged
AccountsModel::accountCreated:  5
account.cpp: 626 account_store_cb Saved accunt ID: 5
identityimpl.cpp 96 updateState Updating state:  "NeedsUpdate" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 96 updateState Updating state:  "PendingUpdate" SignOn::IdentityImpl(0x2816cc0)
identityimpl.cpp 442 infoUpdated SERVER INFO UPDATED. NeedsUpdate " 9 "
identityimpl.cpp 381 getInfoReply QMap(("ACL", QVariant(QStringList, ("*")) ) ( "AuthMethods" ,  QVariant(QDBusArgument, ) ) ( "Caption" ,  QVariant(QString, "google") ) ( "Id" ,  QVariant(uint, 9) ) ( "Owner" ,  QVariant(QStringList, ()) ) ( "Realms" ,  QVariant(QStringList, ()) ) ( "RefCount" ,  QVariant(int, 0) ) ( "StoreSecret" ,  QVariant(bool, true) ) ( "Type" ,  QVariant(int, 1) ) ( "UserName" ,  QVariant(QString, "XXXXXXXXX@gmail.com") ) ( "UserNameSecret" ,  QVariant(bool, false) ) ( "Validated" ,  QVariant(bool, true) ) ) 
identityimpl.cpp 96 updateState Updating state:  "Ready" SignOn::IdentityImpl(0x2816cc0)



Reproducible: Always




KF, Plasma, KTp master
Comment 1 Martin Klapetek 2015-03-18 17:01:55 UTC
Thanks for the report

First of all you seem to have some old files around as Google should offer you only "Hangouts" but that shouldn't be a problem.

The actual account creation is happening in a kded module. Can you please restart kded from konsole, add new Google account and post the output from kded?

Also, do you have ktp-accounts-kcm installed? That is essential.
Comment 2 Ivan Čukić 2015-03-18 19:01:52 UTC
First of all, WOW! for the fast response :)

I did a clean install, this time without kwallet integration. (I'm creating .debs for installation, so I purged everything related to accounts and signon)

The situation has improved, but not much. The UI now shows only the 'hangouts', the ktp-contactlist now thinks it does have an account, but fails to connect (it lies and says 'Available').

Is it possible that this is because of the two-level identification? (should not be since it is oauth, but...)

Another thing that happens, which might be related (though I do not see how), when trying to add facebook account, it says 'there was an error while trying to process the request: Access token not present'.

I'll try again with kwallet and report.

p.s. What do you think about adding the kaccount-related things to kdesrc-build?
Comment 3 Martin Klapetek 2015-03-18 19:06:45 UTC
> Is it possible that this is because of the two-level identification? (should not be since it is oauth, but...)

No, I've heard people have it working even with two-factor auth.

> Facebook

Forget Facebook, it's going away in couple weeks (they're deprecating the Chat API in April).

> p.s. What do you think about adding the kaccount-related things to kdesrc-build?

Yes, if it isn't already. Feel free to btw.
Comment 4 Ivan Čukić 2015-03-18 19:45:02 UTC
I've also tried adding google as a jabber account. Still nothing. I guess something is more seriously broken on my setup. (kadu connects successfully, so I guess the problem is not the connection)

Will report if I find anything useful.

> Forget Facebook, it's going away in couple weeks (they're deprecating the Chat API in April).

Ah, for the love of God...
Comment 5 Martin Klapetek 2015-03-18 19:50:11 UTC
Do this:

 - add a Google account (make sure you put in whole email address)
 - run $ mc-tool list -> you should see your google account
 - run $ ktp-auth-handler --persist (you may need to locate it first)
 - go online in contact list
 - if nothing happens, run $ mc-tool dump

Now post the output of the ktp-auth-handler and mc-tool dump.
Comment 6 Ivan Čukić 2015-03-18 20:09:03 UTC
ktp-auth-handler was also missing from kdesrc-build/kf5-applications-build-include

It seems to work. Closing.
Comment 7 Martin Klapetek 2015-03-18 20:34:18 UTC
Awesome, thanks for adding it to kdesrc-build (you missed one package but I've fixed it ;)