I tried to reproduce the bug while keeping the following command running on the
terminal:
OAU_LOGGING_LEVEL=2 OAU_DAEMON_TIMEOUT=9999 U1_DEBUG=1
online-accounts-service
And here's the output:
===============
ui-server.cpp 103 onDataReady QMap(("code", QVariant(QString, "process") ) (
"data" , QVariant(QVariantMap, QMap(("pid", QVariant(uint, 2973) ) (
"provider" , QVariant(QString, "ubuntuone") ) ( "serviceType" ,
QVariant(QString, "ubuntuone") ) ( "windowId" , QVariant(uint, 2973) ) ) ) ) (
"id" , QVariant(int, 0) ) ( "interface" , QVariant(QString,
"com.ubuntu.OnlineAccountsUi") ) ( "profile" , QVariant(QString, "unconfined")
) )
file not found: "/home/phablet/.local/share/accounts/applications/.application"
qml: Page_QMLTYPE_24(0xe644f0)"Ubuntu One": In Ubuntu.Components 1.3, the use
of Page.title, Page.flickable and Page.head is deprecated. Use Page.header and
the PageHeader component instead.
file:///home/phablet/.local/share/accounts/qml-plugins/ubuntuone/Main.qml: File
not found
2016-03-30 11:37:04,179 - DEBUG - request.cpp 115 setWindow Requesting window
reparenting
2016-03-30 11:37:04,180 - WARNING - QWindow::fromWinId(): platform plugin does
not support foreign windows.
2016-03-30 11:37:04,556 - WARNING - Got invalid serialized mime data. Ignoring
it.
2016-03-30 11:37:36,558 - DEBUG - Network::OnReply from QUrl(
"https://login.ubuntu.com/api/v2/tokens/oauth" ) status: 401
2016-03-30 11:37:36,625 - DEBUG - Network::OnReply from QUrl(
"https://login.ubuntu.com/api/v2/tokens/oauth" ) status: 401
2016-03-30 11:37:36,629 - CRITICAL - Error occurred creating token: 0
(Network::OnReply: empty payload, giving up.)
2016-03-30 11:38:20,984 - DEBUG - Network::OnReply from QUrl(
"https://login.ubuntu.com/api/v2/tokens/oauth" ) status: 200
2016-03-30 11:38:20,990 - WARNING - OAuth token received for "Ubuntu One @
ubuntu-phablet"
2016-03-30 11:38:21,003 - DEBUG - in storeToken(): no accounts found in
accountList, creating new
2016-03-30 11:38:21,008 - DEBUG - storeToken() : creating new Identity for
account 0
2016-03-30 11:38:21,239 - DEBUG - in
UbuntuOneCredentialsService::handleCredentialsStored
2016-03-30 11:38:21,243 - DEBUG - ====== PLUGIN FINISHED ======
2016-03-30 11:38:21,244 - DEBUG - provider-request.cpp 176 onDenied
2016-03-30 11:38:21,262 - WARNING - Attempted to deliver an event to a
non-existent window, ignoring.
2016-03-30 11:38:21,262 - WARNING - Attempted to deliver an event to a
non-existent window, ignoring.
2016-03-30 11:38:21,266 - DEBUG - ui-server.cpp 86 ~UiServerPrivate
ui-proxy.cpp 377 ~UiProxy
mir-helper.cpp 151 session_event_callback Prompt Session state updated to 0
QProcess: Destroyed while process ("/usr/bin/online-accounts-ui") is still
running.
===============
So, in this case (and this is different from Victor's logs, so there might
actually be several different issues here), the plugin correctly emits the
finished() signal. However, the "onDenied" message shows that the account
creation was not completed successfully.
The creation is considered to be successful if the value of "account.accountId"
(where "account" is the object passed by online-accounts-ui to the plugin) is
greater than 0. Looking at the code in the UbuntuOne credentials, I see that
Keyring::storeToken() creates a completely new account, without using the same
account object provided by online-accounts-ui. So, while an account has been
successfully created, it's not the account expected by online-accounts-ui.
It's a mystery why this ever worked. I cannot see any recent changes in
ubuntuone-credentials or online-accounts-ui touching this part of the
code.
Anyway, about how to fix this:
1) the proper solution is to add an account property to
UbuntuOneCredentialsService, which in turn propagates it to the Keyring, which
should then operate on the provided account object instead of creating a new
one.
2) the quick & dirty way is for the QML plugin to call account.store() before
using the Keyring, so that the Keyring will pick up the freshly stored account.
However, in this way we'll be left with a semi-created account in case the
account plugin crashes or aborts the creation, which is likely to cause even
more problems. So, I suggest not going down this road.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1563007
Title:
App is not installed after credentials are introduced
To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1563007/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs