Web app requiring account, and "Online Accounts" account screen, disappear without explanation

Bug #1380683 reported by Matthew Paul Thomas
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qtbase-opensource-src (Ubuntu)
Fix Released
High
Unassigned
qtbase-opensource-src (Ubuntu RTM)
Fix Released
High
Unassigned
ubuntu-system-settings-online-accounts (Ubuntu)
Fix Released
High
Alberto Mardegan
ubuntu-system-settings-online-accounts (Ubuntu RTM)
Fix Released
High
Alberto Mardegan

Bug Description

Ubuntu 14.10 r279

1. Launch a Web app that requires an online account, e.g. Twitter or Facebook.
2. Launch System Settings, and choose an account type.

What happens:
1. The app opens, shows an Online Accounts prompt with a spinner for a few seconds, then disappears.
2. An account screen appears for a few seconds, then you're returned to Online Accounts.

What should happen:
1. You see the sign-in page.
2. You see the sign-in page.

[Originally reported by Patricia Davila.]

Revision history for this message
Matthew Paul Thomas (mpt) wrote :
description: updated
Revision history for this message
Alberto Mardegan (mardy) wrote :

I cannot reproduce it here, so I need to ask you for some information. Could you please log into the device from a PC (for example via phablet-shell or ssh), and type the following commands:

    export OAU_LOGGING_LEVEL=2
    export OAU_DAEMON_TIMEOUT=9999
    online-accounts-service

after you type the last line, the command prompt will not return. You should take your phone and try to create the accounts again, as you did in the video. In the terminal, some debugging output will appear; I would need you to copy it and attach it to this bug report.

Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: New → Incomplete
assignee: nobody → Alberto Mardegan (mardy)
Revision history for this message
Matthew Paul Thomas (mpt) wrote :
Download full text (7.0 KiB)

phablet@ubuntu-phablet:~$ online-accounts-service
service.cpp 42 requestAccess Got request: QMap(("application", QVariant(QString, "com.ubuntu.developer.webapps.webapp-twitter_webapp-twitter") ) ( "pid" , QVariant(uint, 22142) ) ( "provider" , QVariant(QString, "twitter") ) ( "windowId" , QVariant(uint, 22142) ) )
request.cpp 110 findClientApparmorProfile App ID: "com.ubuntu.developer.webapps.webapp-twitter_webapp-twitter_1.0.21"
request-manager.cpp 113 runQueue Head: OnlineAccountsUi::Request(0xe6e5b0)
mir-helper.cpp 148 session_event_callback Prompt Session state updated to 1
/usr/bin/online-accounts-ui: unrecognized option '--socket'
ui-server.cpp 94 onDataReady QMap(("code", QVariant(QString, "process") ) ( "data" , QVariant(QVariantMap, QMap(("application", QVariant(QString, "com.ubuntu.developer.webapps.webapp-twitter_webapp-twitter") ) ( "pid" , QVariant(uint, 22142) ) ( "provider" , QVariant(QString, "twitter") ) ( "windowId" , QVariant(uint, 22142) ) ) ) ) ( "id" , QVariant(int, 0) ) ( "interface" , QVariant(QString, "com.ubuntu.OnlineAccountsUi") ) ( "profile" , QVariant(QString, "com.ubuntu.developer.webapps.webapp-twitter_webapp-twitter_1.0.21") ) )
virtual void OnlineAccounts::Plugin::registerTypes(const char*) Ubuntu.OnlineAccounts
account-service.cpp 100 setObjectHandle QObject(0x0)
account-service-model.cpp 292 update
account-service-model.cpp 292 update
account.cpp 60 setObjectHandle Accounts::Account(0x1527728)
file:///home/phablet/.local/share/accounts/qml-plugins/twitter/Main.qml: File not found
ui-proxy.cpp 149 onDataReady QMap(("code", QVariant(QString, "newHandler") ) ( "handlerId" , QVariant(QString, "22220-1") ) )
account-service.cpp 100 setObjectHandle Accounts::AccountService(0x1526198)
account-service-model.cpp 292 update
qml: Authenticating...
../../../../lib/SignOn/connection-manager.cpp 106 setupSocketConnection p2p error: QDBusError("org.freedesktop.DBus.Error.FileNotFound", "Failed to connect to socket /run/user/32011/signond/socket: No such file or directory") 1
../../../../lib/SignOn/connection-manager.cpp 132 init Peer connection unavailable, activating service
../../../../lib/SignOn/identityimpl.cpp 96 updateState Updating state: "PendingRegistration" SignOn::IdentityImpl(0x15a5650)
../../../../lib/SignOn/identityimpl.cpp 172 storeCredentials Storing credentials
request.cpp 113 setWindow Requesting window reparenting
QWindow::fromWinId(): platform plugin does not support foreign windows.
UbuntuWindow - regular geometry
../../../../lib/SignOn/connection-manager.cpp 106 setupSocketConnection p2p error: QDBusError("org.freedesktop.DBus.Error.FileNotFound", "Failed to connect to socket /run/user/32011/signond/socket: No such file or directory") 1
../../../../lib/SignOn/connection-manager.cpp 150 init Connected to "qt_default_session_bus"
UbuntuWindow::handleSurfaceResize(width=768, height=1226)
../../../../lib/SignOn/identityimpl.cpp 96 updateState Updating state: "Ready" SignOn::IdentityImpl(0x15a5650)
../../../../lib/SignOn/identityimpl.cpp 96 updateState Updating state: "NeedsUpdate" SignOn::IdentityImpl(0x15a5650)
../../../../lib/SignOn/identityimpl.cpp 96 updateState Updating state: "Pe...

Read more...

Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Incomplete → New
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

This is what gets logged to /var/log/syslog, with LoggingLevel=2, while Twitter is launching then closing.

Revision history for this message
Alberto Mardegan (mardy) wrote :

This is a very interesting bug. It happened on David's device as well, and I could finally debug the situation.

The problem is that constructing a QNetworkAccessManager takes 10 seconds.

I'm attaching a trace log (with timestamp, and 256 bytes of string data) which is taken from a minimal test application.

Revision history for this message
Alberto Mardegan (mardy) wrote :
David Barth (dbarth)
Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: New → Confirmed
Changed in qtbase-opensource-src (Ubuntu):
status: New → Confirmed
importance: Undecided → High
Changed in ubuntu-system-settings-online-accounts (Ubuntu):
importance: Undecided → High
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

I only understand certain keywords I notice in the comments, but I wonder if bug #1357321 has anything to do with this?

This could be a good bug to test against Qt 5.3.2. You can update your device by adding https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-015 to it and dist-upgrading (note: it's Ubuntu PPA so you can easily only test by upgrading from utopic image, since otherwise not all versions of eg unity8 would be correct).

Changed in qtbase-opensource-src (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
David Barth (dbarth) wrote :

We were able to reproduce the issue on multiple devices during the sprint. It prevents any account from being created and blocks the first start of all webapps requiring an account, like: Facebook, Twitter and Gmail.

The problem affects phones operating under difficult network conditions. It can be observed on both makon and krillin.

tags: added: touch-2014-10-30
Revision history for this message
Lorn Potter (lorn-potter) wrote :

QNAM does indeed block at startup. Unfortunately, the QtBearer backend needs to perform synchronously in order for QNAM to perform correctly. Under heavy cpu load, I have seen dbus get quite sluggish.

There is room for optimization in the NetworkManager backend so it uses property cache with one blocking call per interface (that need it) instead of the current method.

David Barth (dbarth)
tags: added: touch-2014-11-13
removed: touch-2014-10-30
Changed in qtbase-opensource-src (Ubuntu RTM):
importance: Undecided → High
Changed in ubuntu-system-settings-online-accounts (Ubuntu RTM):
importance: Undecided → High
assignee: nobody → Alberto Mardegan (mardy)
status: New → Confirmed
status: Confirmed → Triaged
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Note that Qt 5.3.2 + network manager backend fixes are in vivid images now.

JACQUELINE (ijdisabest)
Changed in qtbase-opensource-src (Ubuntu):
status: Incomplete → Fix Committed
Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Confirmed → Fix Committed
Changed in ubuntu-system-settings-online-accounts (Ubuntu RTM):
status: Triaged → Fix Committed
Changed in qtbase-opensource-src (Ubuntu RTM):
status: New → Fix Committed
Changed in qtbase-opensource-src (Ubuntu):
status: Fix Committed → Incomplete
Changed in qtbase-opensource-src (Ubuntu RTM):
status: Fix Committed → New
Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Fix Committed → Confirmed
Changed in ubuntu-system-settings-online-accounts (Ubuntu RTM):
status: Fix Committed → Triaged
Revision history for this message
Alberto Mardegan (mardy) wrote :

I haven't heard of this bug since more than one here; probably the 5.3 version of Qt fixed this.

Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Confirmed → Fix Released
Changed in ubuntu-system-settings-online-accounts (Ubuntu RTM):
status: Triaged → Fix Released
Changed in qtbase-opensource-src (Ubuntu RTM):
status: New → Fix Released
Changed in qtbase-opensource-src (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.