Change setting requires manual refresh

Bug #1430918 reported by Kyle Nitzsche
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Pat McGowan
The Savilerow project
Invalid
Undecided
Unassigned
unity-scopes-api (Ubuntu)
Fix Released
Undecided
Paweł Stołowski
unity-scopes-shell (Ubuntu)
Invalid
Undecided
Paweł Stołowski

Bug Description

See comment 12 below for updated description. Summary is that changing a setting can require manual refresh.

Original Description:
Enabling and disabling child scopes from settings in an agg scope often causes an error that results in blank display that is sometimes difficult to recover from.

For example, l launched the Music scope, then disabled 7 digital from settings, then enabled it.

I got the following in log:

phablet@ubuntu-phablet:~$ tail -F .cache/upstart/scope-registry.log
Failed to get proxy for scope com.ubuntu.scopes.soundcloud_soundcloud
Failed to get proxy for scope com.canonical.scopes.songkick_songkick
aa_getcon failed, errno = 13
YouTube scope is unauthenticated
YouTube scope is unauthenticated
Failed to get proxy for scope com.ubuntu.scopes.soundcloud_soundcloud
Failed to get proxy for scope com.canonical.scopes.songkick_songkick
YouTube scope is unauthenticated
YouTube scope is unauthenticated
terminate called without an active exception

I have seen this same thing with other agg scopes.

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 127
device name: krillin
channel: ubuntu-touch/vivid-proposed
last update: 2015-03-10 22:34:24
version version: 127
version ubuntu: 20150228
version device: 20150210-95b6a9f
version custom: 20150228

Related branches

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-scopes-api (Ubuntu):
status: New → Confirmed
Revision history for this message
Michi Henning (michihenning) wrote :

Added unity8 because it's not entirely clear to me what's at fault here. Could be the scope itself, the scopes runtime, or the dash. I'll have a look at this next week.

Revision history for this message
Albert Astals Cid (aacid) wrote :

I don't see how unity8 can be at fault here, maybe you meant unity-scopes-shell ?

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-scopes-shell (Ubuntu):
status: New → Confirmed
Revision history for this message
Michi Henning (michihenning) wrote :

Sorry, that was me being ignorant. Thanks for pointing this out!

affects: unity8 (Ubuntu) → unity-scopes-shell (Ubuntu)
Revision history for this message
Paweł Stołowski (stolowski) wrote :

It's worth re-checking after latest keyword-based aggregation land (music/video aggregators were refactored a lot for this feature; also they now use BufferedResultForwarder from scopes API instead of custom buffering) in vivd.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

same issue (Music scope) with vivid-proposed 184:

phablet@ubuntu-phablet:~$ tail -F .cache/upstart/scope-registry.log
terminate called without an active exception

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 184
device name: krillin
channel: ubuntu-touch/vivid-proposed
last update: 2015-04-14 13:43:05
version version: 184
version ubuntu: 20150414
version device: 20150326-f0c5ba5
version custom: 20150414
phablet@ubuntu-phablet:~$

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :
Download full text (3.8 KiB)

So the interesting part is: "terminate called without an active exception". This usually means a thread was terminated without join(). Looking at a stack trace of the seemingly duplicate bug (Bug #1432725), looks like that just may be the problem:

Stacktrace:
 #0 0xb6b2c8e6 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
 No symbol table info available.
 #1 0xb6b3ae5e in raise () from /lib/arm-linux-gnueabihf/libc.so.6
 No symbol table info available.
 #2 0xb6b3bb4e in abort () from /lib/arm-linux-gnueabihf/libc.so.6
 No symbol table info available.
 #3 0xb6c77120 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
 No symbol table info available.
 #4 0xb6c75950 in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
 No symbol table info available.
 #5 0xb6c759a6 in std::terminate() () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
 No symbol table info available.
 #6 0xb6e95eec in ?? () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #7 0xb6e97b10 in ?? () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #8 0xb6e781a0 in ?? () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #9 0xb6ec383a in unity::scopes::ScopeBase::settings() const () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #10 0xb37e1cf4 in MusicAggregatorScope::init_scope_proxies() () from /usr/lib/arm-linux-gnueabihf/unity-scopes/musicaggregator/libmusicaggregator.so
 No symbol table info available.
 #11 0xb37e1da4 in MusicAggregatorScope::search(unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&) () from /usr/lib/arm-linux-gnueabihf/unity-scopes/musicaggregator/libmusicaggregator.so
 No symbol table info available.
 #12 0xb6e8c54c in ?? () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #13 0xb6e8ae40 in unity::scopes::internal::ScopeObject::query(std::shared_ptr<unity::scopes::internal::MWReply> const&, unity::scopes::internal::MiddlewareBase*, std::string const&, std::function<std::shared_ptr<unity::scopes::QueryBase> ()> const&, std::function<std::shared_ptr<unity::scopes::internal::QueryObjectBase> (std::shared_ptr<unity::scopes::QueryBase>, std::shared_ptr<unity::scopes::internal::MWQueryCtrl>)> const&) () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #14 0xb6e8bf80 in unity::scopes::internal::ScopeObject::search(unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&, std::map<std::string, unity::scopes::Variant, std::less<std::string>, std::allocator<std::pair<std::string const, unity::scopes::Variant> > > const&, std::shared_ptr<unity::scopes::internal::MWReply> const&, unity::scopes::internal::InvokeInfo const&) () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #15 0xb6dee036 in ?? () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #16 0xb6df0da8 in ?? () from /usr/lib/arm-linux-gnueabihf/libunity-scopes.so.3
 No symbol table info available.
 #17 0xb...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-scopes-shell (Ubuntu):
status: New → Confirmed
Revision history for this message
Michi Henning (michihenning) wrote :

It's pretty much guaranteed that this is the same issue as the one fixed by this MR (which has merged):

https://code.launchpad.net/~stolowski/unity-scopes-api/fix-settings-thread

Changed in unity-scopes-api (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Pawel Stolowski (stolowski)
Changed in unity-scopes-shell (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Pawel Stolowski (stolowski)
Revision history for this message
Michi Henning (michihenning) wrote :

Pawel, could you verify that your recent merge fixes this problem too?

Changed in unity-scopes-shell (Ubuntu):
status: In Progress → Invalid
Changed in savilerow:
status: New → Invalid
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

I am seeing the same issue when I add a setting to an agg scope and change it. The setting I add is NOT enable/disable child scope (as those now work and are auto added). The setting is a simple list type

[cardinality]
type = list
defaultValue = 1
displayValues = 5;10;15
displayName = Child scope results

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 230
device name: krillin
channel: ubuntu-touch/devel-proposed/ubuntu
last update: 2015-06-03 19:13:44
version version: 230
version ubuntu: 20150603
version device: 20150529-8e13c5f
version custom: 20150603

phablet@ubuntu-phablet:~$ tail -F ~/.cache/upstart/scope-registry.log | grep active
terminate called without an active exception

After this ^ happens on setting change & return to scope, the user needs to pull to refresh the scope, and the setting (and all else) works fine.

summary: - Enable/disable child scopes error
+ Change setting requires manual refresh
description: updated
Revision history for this message
Michi Henning (michihenning) wrote :

Kyle, that's almost certainly the same issue as the one here: https://code.launchpad.net/~stolowski/unity-scopes-api/fix-settings-thread

That branch has merged into devel, but not landed in the archives yet because of the Vivid freeze. If you grab devel and install that, I would expect the problem to disappear. Please let me know if it doesn't!

Changed in canonical-devices-system-image:
importance: Undecided → High
milestone: none → ww34-2015
status: New → In Progress
assignee: nobody → Pat McGowan (pat-mcgowan)
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

I am not seeing this bug anymore so probably michi's #13 comment is correct.

Revision history for this message
Michi Henning (michihenning) wrote :
Changed in unity-scopes-api (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Released
milestone: ww34-2015 → ww28-2015
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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