Mir

Overlayed framedropping clients freeze on mako

Bug #1391261 reported by Alan Griffiths
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Kevin DuBois
mir (Ubuntu)
Fix Released
High
Unassigned

Bug Description

https://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-mako/3325/console

> + phablet-test-run -x -s 01b22f82dc5cec63 -v mir_performance_tests
> running mir_performance_tests
> initctl: unable to determine sessions
> initctl: unable to determine sessions
> Running main() from command_line_server_configuration.cpp
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from GLMark2Test
> [ RUN ] GLMark2Test.benchmark_fullscreen_default
> Build timed out (after 60 minutes). Marking the build as failed.

The first timestamp in the log is at: "[timestamp] Start time : 2014-11-10T16:02:47+0000" and the above test starts 10min later at "[timestamp] Start : mir_performance_tests 2014-11-10T16:12:14+0000".

Conclusion: GLMark2Test timed out.

Related branches

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :
Changed in mir:
status: New → Confirmed
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I think this is the script needing updates for vivid. Just before the error we see:

> I: stopping unity8
> initctl: unable to determine sessions
> initctl: unable to determine sessions
> initctl: Unknown job: unity8
> I: stopping lightdm
> initctl: unable to determine sessions
> initctl: unable to determine sessions
> initctl: Unknown instance:

Empirically, running without stopping lightdm gives a similar failure locally, while stopping it before the test gives a pass.

Changed in mir:
assignee: nobody → Alan Griffiths (alan-griffiths)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

The script seems OK. I don't know why we're seeing these errors.

Changed in mir:
assignee: Alan Griffiths (alan-griffiths) → nobody
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :
Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
milestone: none → 0.10.0
importance: Undecided → High
status: Confirmed → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That's odd. Looking at the test code it appears that it *should* never finish :)

summary: - GLMark2Test times out in CI
+ GLMark2Test times out in CI (glmark2 freezes on Android)
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: GLMark2Test times out in CI (glmark2 freezes on Android)

Test case (on Android):
  1. Use one of the branches known to trigger the bug reliably:
        lp:~vanvugt/mir/fix-buffers_ready_for_compositor
        lp:~vanvugt/mir/unfreeze-1
  2. Start a framedropping client that is also guaranteed to get overlayed:
    (a) mir_demo_server_minimal & mir_demo_client_egltriangle -n
or (b) mir_demo_client_egltriangle -n -f

And no, I don't think the bug is in the branches. They're quite different and this bug report pre-dates either branch.

The issue appears to be in the case of both branches, waking up the overlay logic at the full speed that framedropping should makes our Android code confused. First it will lose track of the buffers visually (you see a stale frame flicker on top) and soon after that the whole screen freezes.

summary: - GLMark2Test times out in CI (glmark2 freezes on Android)
+ GLMark2Test times out in CI (overlayed framedropping clients freeze on
+ Android)
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: GLMark2Test times out in CI (overlayed framedropping clients freeze on Android)

Update: Disabling Android overlays in the code seems to solve the problem. The GL renderer can reliably handle framedropping surfaces without any glitches or freezes.

tags: added: android
Changed in mir:
assignee: Daniel van Vugt (vanvugt) → nobody
milestone: 0.10.0 → none
status: In Progress → Triaged
summary: GLMark2Test times out in CI (overlayed framedropping clients freeze on
- Android)
+ mako)
Kevin DuBois (kdub)
Changed in mir:
assignee: nobody → Kevin DuBois (kdub)
Revision history for this message
Kevin DuBois (kdub) wrote : Re: GLMark2Test times out in CI (overlayed framedropping clients freeze on mako)

Also, the root cause is probably a the very least tangentially related to this: https://bugs.launchpad.net/mir/+bug/1369763
I wouldn't call it a strict duplicate of that bug, so leaving 2 separate bugs.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.10.0

Changed in mir:
status: Triaged → Fix Committed
Changed in mir:
status: Fix Committed → Triaged
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Just hit this bug with fingerpaint too. Workaround: Pass the -w option.

tags: added: overlays
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Updated description, as the workaround prevents this bug from blocking CI now.

summary: - GLMark2Test times out in CI (overlayed framedropping clients freeze on
- mako)
+ Overlayed framedropping clients freeze on mako
Revision history for this message
Kevin DuBois (kdub) wrote :

The "new buffer semantics" solves this problem, moving to in progress

Changed in mir:
status: Triaged → In Progress
Changed in mir:
milestone: none → 0.15.0
Changed in mir:
milestone: 0.15.0 → 0.16.0
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.16.0

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

mir (0.16.0+15.10.20150921.1-0ubuntu1) wily; urgency=medium

Changed in mir (Ubuntu):
importance: Undecided → High
status: New → Fix Released
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.18.0

Changed in mir:
status: Fix Released → Fix Committed
Changed in mir:
status: Fix Committed → 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.