Merge lp:~ted/unity8/delay-indicator-start into lp:unity8

Proposed by Ted Gould
Status: Merged
Approved by: Michael Terry
Approved revision: 1422
Merged at revision: 2179
Proposed branch: lp:~ted/unity8/delay-indicator-start
Merge into: lp:unity8
Diff against target: 21 lines (+5/-3)
1 file modified
data/unity8.conf (+5/-3)
To merge this branch: bzr merge lp:~ted/unity8/delay-indicator-start
Reviewer Review Type Date Requested Status
Michael Terry Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Michał Sawicz concept Approve
Review via email: mp+241124@code.launchpad.net

Commit message

Start the indicators after Unity8 starts instead of before

Description of the change

In many cases the indicators are having issues with notifications and sound because they're started too early, they shouldn't be needed until Unity is up and running anyway, so let's ensure that we give all the CPU we can to Unity.

To post a comment you must log in.
Revision history for this message
Michał Sawicz (saviq) wrote :

We asked explicitly, when adding this signal, when would be a good time. We were told that on unity8 starting was good enough.

Could the indicators not try and re-connect to the needed services?

review: Needs Information
Revision history for this message
Ted Gould (ted) wrote :

Well, the problem is that you're emitting it *before* Unity8 starting, not on it starting. We're seeing a couple of issues. One is that we see the notification service as the name is registered but it's not ready to send capabilities yet so we get incorrect capabilities. The only way to work around that would be to requery the capabilities periodically (ugly).

Generally, the indicators shouldn't be started at the same time as Unity8 just so that Unity8 gets all the CPU it needs to start and render the lock screen. The indicators should start after it as they're not as critical.

Revision history for this message
Ted Gould (ted) wrote :

Uhg, I was able to break it with this fix. Seems less likely, but not entirely gone.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Ted Gould (ted) wrote :

We discussed this a bit on IRC. While this isn't a "fix" it seems to be an overall "improvement" as there's no reason to start indicators before Unity8, give it a bit of a head start.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) wrote :

I'm fine with that. Didn't it cause some boot issues last time we tried this?

review: Approve (concept)
Revision history for this message
Ted Gould (ted) wrote :

On Mon, 2015-02-09 at 16:12 +0000, Michał Sawicz wrote:

> I'm fine with that. Didn't it cause some boot issues last time we tried this?

I believe it was more that it didn't solve the startup problem we had
with indicator-sound getting the notification server before it started.
The fix for that problem was implemented in indicator-sound, so now it
handles notification servers starting and stopping on the fly.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:1422
http://jenkins.qa.ubuntu.com/job/unity8-ci/6283/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-vivid-touch/4200
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-wily-touch/650/console
    FAILURE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-vivid/995/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-wily/313
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-amd64-ci/890
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-i386-ci/891
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-wily-amd64-ci/522
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-wily-i386-ci/523
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-vivid-mako/3428
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/4197
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/4197/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/23395
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-wily-mako/380/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-wily-armhf/650
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-wily-armhf/650/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/23396

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/6283/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

Makes sense and works for me.

I will note that in theory Design might care about this sort of stuff. I imagine they would rather have unity8 and the indicators coordinate themselves to only render on screen once they are all there and ready to go, rather than popping in whenever they feel like it.

But this branch doesn't really make them pop in drastically slower than before, so I guess that's not an issue for this MP.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/unity8.conf'
2--- data/unity8.conf 2014-09-23 12:30:42 +0000
3+++ data/unity8.conf 2014-11-07 18:15:45 +0000
4@@ -44,12 +44,14 @@
5 fi
6
7 initctl set-env --global MIR_SERVER_PROMPT_FILE=1
8-
9+end script
10+
11+exec ${BINARY:-unity8} $ARGS
12+
13+post-start script
14 initctl emit --no-wait indicator-services-start
15 end script
16
17-exec ${BINARY:-unity8} $ARGS
18-
19 post-stop script
20 initctl set-env --global MIR_SOCKET=$UNITY_MIR_SOCKET
21 initctl unset-env --global UNITY_MIR_SOCKET

Subscribers

People subscribed via source and target branches