"QQmlExpression: Attempted to evaluate an expression in an invalid context" sometimes logged after deleting account - freezes system-settings.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Online Accounts setup for Ubuntu Touch |
Fix Released
|
High
|
Alberto Mardegan | ||
ubuntu-system-settings-online-accounts (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I have experienced the system-settings app getting frozen after deleting accounts on and off for a while.
I ignored it initially because I assumed it was due to incomplete state caused by my in-development provider plugin.
However, that plugin is now finished, and I'm still seeing the freezes and now I've confirmed that it occurs with other plugins.
I haven't been able to fully isolate this bug, but these steps reproduce it with some reliability (~75%):
this happens as often on the desktop as on the device.
1. Successfully create two accounts using the same provider (tested with ubuntuone and twitter).
(I'm not sure it has to be the same provider)
2. delete both.
sometimes, the UI will freeze after deleting the first, sometimes after deleting the second.
In every case where it does freeze, this error is logged just before it freezes:
QQmlExpression: Attempted to evaluate an expression in an invalid context
As comments, I'll post a few traces from running system-settings from the console on the desktop, with U1_DEBUG=1 loaded, which redirects QDebug() to stderr. (in case you're wondering where the output comes from).
Related branches
- Ken VanDine: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 110 lines (+39/-12)3 files modifiedsrc/AccountEditPage.qml (+5/-1)
src/AccountItem.qml (+27/-3)
src/AccountsPage.qml (+7/-8)
Changed in ubuntu-system-settings-online-accounts: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in ubuntu-system-settings-online-accounts: | |
status: | Confirmed → In Progress |
Changed in ubuntu-system-settings-online-accounts: | |
status: | Fix Committed → Fix Released |
Here's an example where I launch system-settings, create two twitter accounts, and then delete one. It freezes after the deletion.
% U1_DEBUG=1 annotate-output system-settings action: :ActionManager: :ActionManager( QObject* ): /usr/lib/ i386-linux- gnu/qt5/ qml/Ubuntu/ Components/ ListItems/ SingleControl. qml:59: Unable to assign [undefined] to bool :Plugin: :registerTypes( const char*) Ubuntu. OnlineAccounts //theme/ iconname, fallback1, fallback2) . service- model.cpp 275 update :Account( 0xb0e9120) :AccountService (0xb12bb18) service- model.cpp 275 update andle :AccountService (0xb0a0088) ./../lib/ SignOn/ connection- manager. cpp 106 setupSocketConn ection p2p error: QDBusError( "org.freedeskto p.DBus. Error.FileNotFo und", "Failed to connect to socket /run/user/ 1000/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: "PendingRegistr ation" SignOn: :IdentityImpl( 0xb09f938) ./../lib/ SignOn/ identityimpl. cpp 172 storeCredentials Storing credentials /usr/lib/ i386-linux- gnu/qt5/ qml/Ubuntu/ Components/ Page.qml: 155: TypeError: Cannot read property 'actionManager' of null ./../lib/ SignOn/ connection- manager. cpp 106 setupSocketConn ection p2p error: QDBusError( "org.freedeskto p.DBus. Error.FileNotFo und", "Failed to connect to socket /run/user/ 1000/signond/ socket: No such file or directory") 1 ./../lib/ SignOn/ connection- manager. cpp 150 init Connected to "qt_default_ session_ bus" ./../lib/ SignOn/ identityimpl. cpp 96 updateState Updating state: "Ready" SignOn: :IdentityImpl( 0xb09f938) ./../lib/ SignOn/ identityimpl. cpp 96 updateState Updating state: "NeedsUpdate" SignOn: :IdentityImpl( 0xb09f938) ./../lib/ SignOn/ identityimpl. cpp 96 updateState Updating state: "PendingUpdate" SignOn: :IdentityImpl( 0xb09f938) ./../lib/ SignOn/ identityimpl. cpp 443 infoUpdated SERVER INFO UPDATED. NeedsUpdate " 0 " ./../lib/ S...
13:24:10 I: Started system-settings
13:24:10 E: unity::
13:24:10 E: Could not determine application identifier. HUD will not work properly.
13:24:10 E: Provide your application identifier in $APP_ID environment variable.
13:24:10 E: file://
13:24:11 E: OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.
13:24:11 E: libGL error: failed to load driver: vboxvideo
13:24:11 E: libGL error: Try again with LIBGL_DEBUG=verbose for more details.
13:32:39 E: virtual void OnlineAccounts:
13:32:40 E: WARNING: The 'gicon' image provider is deprecated and will be removed soon. Please use file:// urls for file icons, and the 'theme' image provider for themed icons (image:
13:32:40 E: account-
13:32:46 E: account.cpp 60 setObjectHandle Accounts:
13:32:46 E: account-service.cpp 100 setObjectHandle Accounts:
13:32:46 E: account-
13:32:46 E: accountService role is deprecated, use accountServiceH
13:32:46 E: account-service.cpp 100 setObjectHandle Accounts:
13:32:46 E: Authenticating...
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: file://
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:46 E: ../../.
13:32:47 E: ../../.