Merge lp:~albaguirre/mir/fix-1498550 into lp:mir
Status: | Merged |
---|---|
Approved by: | Alberto Aguirre |
Approved revision: | no longer in the source branch. |
Merged at revision: | 2997 |
Proposed branch: | lp:~albaguirre/mir/fix-1498550 |
Merge into: | lp:mir |
Diff against target: |
219 lines (+74/-24) 6 files modified
src/platforms/android/server/display.cpp (+2/-1) src/platforms/android/server/display_device_exceptions.h (+17/-10) src/platforms/android/server/display_group.cpp (+21/-4) src/platforms/android/server/display_group.h (+7/-1) src/platforms/android/server/real_hwc_wrapper.cpp (+10/-6) tests/unit-tests/graphics/android/test_display_group.cpp (+17/-2) |
To merge this branch: | bzr merge lp:~albaguirre/mir/fix-1498550 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Kevin DuBois (community) | Approve | ||
Alan Griffiths | Approve | ||
Alexandros Frantzis (community) | Approve | ||
Review via email: mp+273102@code.launchpad.net |
Commit message
[android] Attempt to recover from errors when posting to an external display
Description of the change
[android] Attempt to recover from errors when posting to an external display
I had some additional logic to handle scenario 3, but with latest lp:mir, it seems scenario 3's root cause may be tied to some object lifetime issues seen in a nested configuration (in which either "pure virtual method call" errors are seen, or exceptions after getting EGL_BADSURFACE.
I also opted to reuse the "hotplug" code path (I had some other logic that just attempted to restart the compositor threads) when handling the external display errors so that display configuration is forced - which in turns restarts the compositor threads (which is what is needed for recovery). This makes the diff much more smaller :)
PASSED: Continuous integration, rev:2983 jenkins. qa.ubuntu. com/job/ mir-ci/ 5102/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/4228 jenkins. qa.ubuntu. com/job/ mir-clang- vivid-amd64- build/3135 jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/4170 jenkins. qa.ubuntu. com/job/ mir-mediumtests -wily-touch/ 128/console jenkins. qa.ubuntu. com/job/ mir-wily- amd64-ci/ 1256 jenkins. qa.ubuntu. com/job/ mir-wily- amd64-ci/ 1256/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-wily- i386-ci/ 128/console jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 4171 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 4171/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/6845 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 23858 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- wily-armhf/ 129/console
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/5102/ rebuild
http://