Bug 349145 - KTelepathy 15.04 - I cannot add Google account
Summary: KTelepathy 15.04 - I cannot add Google account
Status: RESOLVED DUPLICATE of bug 344812
Alias: None
Product: telepathy
Classification: Frameworks and Libraries
Component: accounts-kcm (show other bugs)
Version: 15.04.1
Platform: openSUSE Linux
: NOR normal
Target Milestone: Future
Assignee: Telepathy Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-14 11:59 UTC by 7c0.000
Modified: 2015-07-31 13:36 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Debug output patch (891 bytes, patch)
2015-07-31 12:34 UTC, Martin Klapetek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 7c0.000 2015-06-14 11:59:27 UTC
Using Ktp version 15.04 I cannot add Google account, neither via systemsettings5 and contact-list module. I could add Google account using Ktp version 0.9. I am using openSUSE 13.2 and Plasma5. 

Reproducible: Always

Steps to Reproduce:
1. Open "System Settings" (systemsettings5)
2. Go to "Online Accounts"
3. Click "Create" and then "Google"
4. See error message.

Actual Results:  
Error message: "There was an error while trying to process the request: plugin processed crashed". 

Expected Results:  
Adding and setting Google (GTalk) account.

Console log:

systemsettings5
kf5.kservice.sycoca: Trying to open ksycoca from "/home/karol/.cache/ksycoca5"
Could not resolve property : linearGradient4538
Could not resolve property : linearGradient4588
Could not resolve property : linearGradient4554
Could not resolve property : linearGradient4572
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
"google"
connection-manager.cpp 106 setupSocketConnection p2p error: QDBusError("org.freedesktop.DBus.Error.FileNotFound", "Failed to connect to socket /run/user/1000/signond/socket: Nie ma takiego pliku ani katalogu") 1
connection-manager.cpp 132 init Peer connection unavailable, activating service
identityimpl.cpp 96 updateState Updating state:  "PendingRegistration" SignOn::IdentityImpl(0xf59e90)
identityimpl.cpp 172 storeCredentials Storing credentials
authsessionimpl.cpp 94 initInterface
authsessionimpl.cpp 94 initInterface
connection-manager.cpp 106 setupSocketConnection p2p error: QDBusError("org.freedesktop.DBus.Error.FileNotFound", "Failed to connect to socket /run/user/1000/signond/socket: Nie ma takiego pliku ani katalogu") 1
connection-manager.cpp 150 init Connected to "qt_default_session_bus"
identityimpl.cpp 96 updateState Updating state:  "Ready" SignOn::IdentityImpl(0xf59e90)
identityimpl.cpp 96 updateState Updating state:  "NeedsUpdate" SignOn::IdentityImpl(0xf59e90)
identityimpl.cpp 96 updateState Updating state:  "PendingUpdate" SignOn::IdentityImpl(0xf59e90)
identityimpl.cpp 442 infoUpdated SERVER INFO UPDATED. NeedsUpdate " 0 "
identityimpl.cpp 345 storeCredentialsReply stored id: 40 old id: 0
identityimpl.cpp 381 getInfoReply QMap(("ACL", QVariant(QStringList, ("*")) ) ( "AuthMethods" ,  QVariant(QDBusArgument, ) ) ( "Caption" ,  QVariant(QString, "google") ) ( "Id" ,  QVariant(uint, 40) ) ( "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(0xf59e90)
Info:
        Id: 40
        accessControl: ("*")
        caption: "google"
        id: 40
        storingSecret: true
        owner: ""
        userName: ""
authsessionimpl.cpp 184 errorSlot QDBusError("com.google.code.AccountsSSO.SingleSignOn.Error.Unknown", "plugin processed crashed")
Error:
         "plugin processed crashed"

Installed related packages (zypper output):

zypper se -i -s ktp kaccount kpeople

S | Name                       | Type   | Version     | Arch   | Repository         
--+----------------------------+--------+-------------+--------+--------------------
i | kaccounts-integration      | pakiet | 15.04.2-8.1 | x86_64 | KDE:Applications   
i | kaccounts-providers        | pakiet | 15.04.2-8.1 | x86_64 | KDE:Applications   
i | ktp-accounts-kcm           | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-approver               | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-auth-handler           | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-common-internals       | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-contact-list           | pakiet | 15.04.2-2.1 | x86_64 | KDE:Applications   
i | ktp-contact-runner         | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-desktop-applets        | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-filetransfer-handler   | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-icons                  | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-kded-module            | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-send-file              | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | ktp-text-ui                | pakiet | 15.04.2-9.3 | x86_64 | KDE:Applications   
i | libktpaccountskcminternal9 | pakiet | 15.04.2-1.1 | x86_64 | KDE:Applications   
i | libkpeople                 | pakiet | 0.3.0-30.5  | x86_64 | KDE - Extra        
i | libktpaccountskcminternal4 | pakiet | 0.9.0-19.4  | x86_64 | KDE - Extra        
i | kpeople5                   | pakiet | 5.10.0-21.1 | x86_64 | (Pakiety systemowe)
i | kpeople5-lang              | pakiet | 5.10.0-21.1 | noarch | (Pakiety systemowe)

zypper se -i -s signon

S | Name                     | Type   | Version     | Arch   | Repository      
--+--------------------------+--------+-------------+--------+-----------------
i | libsignon-qt5-1          | pakiet | 8.57-3.5    | x86_64 | KDE:Applications
i | signon-kwallet-extension | pakiet | 15.04.2-8.1 | x86_64 | KDE:Applications
i | signon-plugin-oauth2     | pakiet | 0.20-3.2    | x86_64 | KDE:Applications
i | signon-plugins           | pakiet | 8.57-3.5    | x86_64 | KDE:Applications
i | signon-ui                | pakiet | 0.15-3.2    | x86_64 | KDE:Applications
i | signond                  | pakiet | 8.57-3.5    | x86_64 | KDE:Applications
i | signond-libs             | pakiet | 8.57-3.5    | x86_64 | KDE:Applications
Comment 1 Joffroy Urbain 2015-07-20 19:12:00 UTC
Same issue for me with openSUSE 13.2 and Plasma5. The issue was also present in previous versions.
Comment 2 Martin Klapetek 2015-07-21 08:45:48 UTC
What happens if you guys remove signon-kwallet-extension package or if you can't, 

$ sudo rm /usr/lib/signon/extensions/libkeyring-kwallet.so (or find the file somewhere)

Does it work then?

Also, there will be a 15.08 beta next week and that has completely reworked the accounts integration, can you please test it on the beta once it is available in your distro?
Comment 3 Joffroy Urbain 2015-07-26 10:52:30 UTC
(In reply to Martin Klapetek from comment #2)
> What happens if you guys remove signon-kwallet-extension package or if you
> can't, 
> 
> $ sudo rm /usr/lib/signon/extensions/libkeyring-kwallet.so (or find the file
> somewhere)
> 
> Does it work then?
> 
> Also, there will be a 15.08 beta next week and that has completely reworked
> the accounts integration, can you please test it on the beta once it is
> available in your distro?

Martin,

Thanks for following up! I have removed the signon-kwallet-extension package from my installation but the result is the same: an error message saying that 'plugin processed crashed'.

Joffroy
Comment 4 Ondrej Holecek 2015-07-31 06:48:30 UTC
I have two machines, both running current openSUSE Tumbleweed. One was recently installed directly with Plasma5, the other upgraded to Plasma 5 from KDE 4 some months ago.

On the newly installed one the google provider works (the signon-kwallet-extension package was not installed).
On the upgraded one google provider crashes (signon-kwallet-extension package was installed, I removed it, but didn't solve the issue).
So there may be some other packaging issues. Any hints how can I debug this?
Comment 5 Martin Klapetek 2015-07-31 10:01:58 UTC
First thing would be to find out which process is the crashy one. Please run
signon-ui from konsole like this:

$ SSOUI_LOGGING_LEVEL=2 SSOUI_DAEMON_TIMEOUT=900 signon-ui

Then try adding a google account and see if that signon-ui crashes or not.
You might also try running it in gdb if you're unsure if it crashes or not.

If that doesn't crash, then it can only be signond that would be crashy.
So run signond from konsole like this:

$ SSO_LOGGING_LEVEL=2 SSO_LOGGING_OUTPUT=stdout SSO_DAEMON_TIMEOUT=900 signond

and see if that crashes when adding the google account.

If neither one crashes, please posts the outputs of both signon-ui and signond (be sure to check for sensitive data first).

Finally, it would be awesome if you could try the KDE Applications 15.08beta KAccounts and all of KTp. It has been totally overworked and needs more testing. There will be no updates to this current code you're having troubles with, so it's better to try out the newer stuff.
Comment 6 Ondrej Holecek 2015-07-31 11:42:56 UTC
Thanks for reply, sure I'll move to new KDE App ASAP :)

From this issue, signon-ui does not crash, nor gdb reports anything wrong.
signond output is below. What caught my attention is missing various managers (Cryptomanager, ACL, Secret store). Can't access the other machine where it works to crosscheck. I'm still hoping for some missing dependency, but if not, I have no problem with waiting a week for 15.08b


SSO_LOGGING_LEVEL=2 SSO_LOGGING_OUTPUT=stdout SSO_DAEMON_TIMEOUT=900 signond
signondaemon.cpp 388 init Failed to SUID root. Secure storage will not be available.                                                                                                                                                               
credentialsaccessmanager.cpp 164 finalize Enter                                                                                                                                                                                                    
credentialsaccessmanager.cpp 187 init Initializing CredentialsAccessManager with configuration:  "                                                                                                                                                 
                                                                                                                                                                                                                                                   
====== Credentials Access Manager Configuration ======                                                                                                                                                                                             
                                                                                                                                                                                                                                                   
Using encryption: true                                                                                                                                                                                                                             
Metadata DB path: /home/aaannz/.config/signond/signon.db                                                                                                                                                                                           
Cryptomanager name:                                                                                                                                                                                                                                
ACL manager name:                                                                                                                                                                                                                                  
Secrets storage name:                                                                                                                                                                                                                              
======================================================                                                                                                                                                                                             
                                                                                                                                                                                                                                                   
"                                                                                                                                                                                                                                                  
credentialsaccessmanager.cpp 200 init No SecretsStorage set, using default (dummy)                                                                                                                                                                 
credentialsaccessmanager.cpp 210 init No AccessControlManager set, using default (dummy)                                                                                                                                                           
credentialsaccessmanager.cpp 225 init No CryptoManager set, using default (dummy)                                                                                                                                                                  
credentialsaccessmanager.cpp 653 onEncryptedFSMounted                                                                                                                                                                                              
credentialsaccessmanager.cpp 239 init No key authorizer set, using default                                                                                                                                                                         
key-handler.cpp 89 initialize No key manager has been registered                                                                                                                                                                                   
credentialsaccessmanager.cpp 267 init CredentialsAccessManager successfully initialized...                                                                                                                                                         
credentialsdb.cpp 133 SqlDatabase Supported Drivers: ("QSQLITE", "QMYSQL", "QMYSQL3")                                                                                                                                                              
credentialsdb.cpp 134 SqlDatabase DATABASE NAME [ "/home/aaannz/.config/signond/signon.db" ]                                                                                                                                                       
credentialsdb.cpp 150 init Database connection succeeded.                                                                                                                                                                                          
credentialsdb.cpp 161 init SQL table structure already created...                                                                                                                                                                                  
credentialsaccessmanager.cpp 399 openSecretsDB Database name: [ "/home/aaannz/.config/signond/signon-secrets.db" ]
credentialsdb.cpp 133 SqlDatabase Supported Drivers: ("QSQLITE", "QMYSQL", "QMYSQL3")
credentialsdb.cpp 134 SqlDatabase DATABASE NAME [ "/home/aaannz/.config/signond/signon-secrets.db" ]
credentialsdb.cpp 150 init Database connection succeeded.
credentialsdb.cpp 161 init SQL table structure already created...
signondaemon.cpp 500 init Signond SUCCESSFULLY initialized.
signondaemon.cpp 592 registerNewIdentity Registering new identity:
signondaemonadaptor.cpp 188 getAuthSessionObjectPath ACM passed, creating AuthSession object
signonauthsession.cpp 60 createAuthSession
signonauthsession.cpp 37 SignonAuthSession
signonauthsession.cpp 44 SignonAuthSession "/com/google/code/AccountsSSO/SingleSignOn/AuthSession_0"
pluginproxy.cpp 75 PluginProxy
pluginproxy.cpp 470 queryType
pluginproxy.cpp 492 queryMechanisms
pluginproxy.cpp 515 queryMechanisms ("HMAC-SHA1", "PLAINTEXT", "web_server", "user_agent")
pluginproxy.cpp 172 createNewPluginProxy The process is started
signonsessioncore.cpp 135 sessionCore The new session is created : "0+oauth2"
signonauthsession.cpp 75 createAuthSession SignonAuthSession created successfully: "/com/google/code/AccountsSSO/SingleSignOn/AuthSession_0"
accesscontrolmanagerhelper.cpp 141 appIdOfPeer ""
credentialsdb.cpp 1204 updateCredentials INSERT: 0
signonidentity.cpp 548 storeCredentials FRESH, JUST STORED CREDENTIALS ID: 28
signonauthsessionadaptor.cpp 76 process "web_server"
signonsessioncore.cpp 912 startNewRequest Starting the authentication process
signonsessioncore.cpp 330 startProcess the number of requests is 1
signonauthsession.cpp 142 stateChangedSlot
accesscontrolmanagerhelper.cpp 81 isPeerAllowedToUseIdentity "Access control list of identity: 28: [*].Tokens count: 1  "
signonidentity.cpp 255 getInfo QUERYING INFO
credentialsdb.cpp 1374 credentials id: 28 queryPassword: false
accesscontrolmanagerhelper.cpp 81 isPeerAllowedToUseIdentity "Access control list of identity: 3: [].Tokens count: 0    "
signondaemon.cpp 624 getIdentity Registering identity: 3
credentialsdb.cpp 1374 credentials id: 3 queryPassword: false
signondaemon.cpp 650 getIdentity DONE REGISTERING IDENTITY
signonauthsessionadaptor.cpp 138 setId
accesscontrolmanagerhelper.cpp 81 isPeerAllowedToUseIdentity "Access control list of identity: 28: [*].Tokens count: 1  "
accesscontrolmanagerhelper.cpp 81 isPeerAllowedToUseIdentity "Access control list of identity: 3: [].Tokens count: 0    "
signonidentity.cpp 255 getInfo QUERYING INFO
pluginproxy.cpp 465 onError Error:  1
pluginproxy.cpp 448 onExit Plugin process exit with code  0  :  1
Challenge produces CRASH!
signonsessioncore.cpp 774 processError
signonsessioncore.cpp 411 replyError Deprecated error code: 2
Comment 7 Martin Klapetek 2015-07-31 11:58:06 UTC
Interesting. Can you please list all available packages with "signon" in the name?
Comment 8 Ondrej Holecek 2015-07-31 12:03:43 UTC
installed:
> rpm -qa *signon*
libsignon-qt5-1-8.57-1.3.x86_64
signond-libs-8.57-1.3.x86_64
signon-ui-0.15-1.2.x86_64
signon-plugins-8.57-1.3.x86_64
signon-plugin-oauth2-0.20-1.2.x86_64
signond-8.57-1.3.x86_64

available:
> sudo zypper se -u signon | cut -d\| -f 2
 libsignon-qt5-1-debuginfo            
 libsignon-qt5-devel                  
 libsignon-qt5-docs                   
 signon-debugsource                   
 signon-kwallet-extension             
 signon-kwallet-extension-debuginfo   
 signon-kwallet-extension-debugsource 
 signon-plugin-oauth2-debuginfo       
 signon-plugin-oauth2-debugsource     
 signon-plugin-oauth2-devel           
 signon-plugins-debuginfo             
 signon-plugins-devel                 
 signon-plugins-docs                  
 signon-ui-debuginfo                  
 signon-ui-debugsource                
 signond-debuginfo                    
 signond-docs                         
 signond-libs-debuginfo               
 signond-libs-devel
Comment 9 Martin Klapetek 2015-07-31 12:21:38 UTC
Are you able to test patches? I'd like to add a name of the crashing plugin to the debug output, that should help.
Comment 10 Ondrej Holecek 2015-07-31 12:23:54 UTC
Sure, hit me with the patch, I'll rebuild it in buildservice.
Comment 11 Martin Klapetek 2015-07-31 12:34:43 UTC
Created attachment 93813 [details]
Debug output patch

Cool, here's the patch then. It's against signond.

Btw. you can also ping me on irc - mck182 @ #kde-devel or @ #kde-telepathy - might go faster and less noisy for the bug report ^_-
Comment 12 Ondrej Holecek 2015-07-31 13:23:01 UTC
After some IRC collaboration we found the culprit to be 'libproxy1-config-kde4' package which is not compatible with plasma5. Removing it solved the issue for me.

Thanks
Comment 13 Martin Klapetek 2015-07-31 13:25:24 UTC
Thanks a lot for investigating, helped a lot!

Anyone affected, please remove any libproxy-*kde* package and retry. This plugin for libproxy is using kdelibs4 which it then loads and while qt4/kdelibs4 and qt5/kf5 code meets in the same process, it just explodes.

Bug 344812 has some tips on how to set up your proxy without it.

*** This bug has been marked as a duplicate of bug 344812 ***
Comment 14 Unknown 2015-07-31 13:36:18 UTC
(In reply to Ondrej Holecek from comment #12)
> After some IRC collaboration we found the culprit to be
> 'libproxy1-config-kde4' package which is not compatible with plasma5.
> Removing it solved the issue for me.
> 
> Thanks

I can confirm that removing the package solved the problem.