Mir

Merge lp:~kdub/mir/fix-1554635 into lp:mir

Proposed by Kevin DuBois
Status: Merged
Approved by: Cemil Azizoglu
Approved revision: no longer in the source branch.
Merged at revision: 3407
Proposed branch: lp:~kdub/mir/fix-1554635
Merge into: lp:mir
Diff against target: 49 lines (+15/-3)
2 files modified
src/platforms/android/common/egl_sync_fence.cpp (+13/-1)
tests/unit-tests/graphics/android/test_egl_sync_fence.cpp (+2/-2)
To merge this branch: bzr merge lp:~kdub/mir/fix-1554635
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve
Cemil Azizoglu (community) Approve
Brandon Schaefer (community) Approve
Alberto Aguirre (community) Approve
Review via email: mp+289419@code.launchpad.net

Commit message

android: Just log the error when an eglSyncFence installation failure occurs. Apparently this happens on turbo during certain scenarios.

A bit of further digging might yield another solution, but this at least averts u8 from crashing, and is a transient problem on that device.

fixes: LP: #1554635

Description of the change

android: Just log the error when an eglSyncFence installation failure occurs. Apparently this happens on turbo during certain scenarios.

A bit of further digging might yield another solution, but this at least averts u8 from crashing, and is a transient problem on that device.

fixes: LP: #1554635

To post a comment you must log in.
Revision history for this message
Alberto Aguirre (albaguirre) wrote :

Ok as a workaround.

review: Approve
Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

LGTM

review: Approve
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Ok

review: Approve
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3397
https://mir-jenkins.ubuntu.com/job/mir-ci/615/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/524
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/554
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/546
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/546
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/534
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/534/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/534
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/534/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/534
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/534/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/534
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/534/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/534
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/534/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/615/rebuild

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/platforms/android/common/egl_sync_fence.cpp'
2--- src/platforms/android/common/egl_sync_fence.cpp 2016-03-16 06:59:01 +0000
3+++ src/platforms/android/common/egl_sync_fence.cpp 2016-03-17 19:44:40 +0000
4@@ -18,6 +18,9 @@
5
6 #include "egl_sync_fence.h"
7 #include <boost/throw_exception.hpp>
8+#define MIR_LOG_COMPONENT "egl sync fence"
9+#include "mir/log.h"
10+#include <sstream>
11
12 namespace mg = mir::graphics;
13
14@@ -52,9 +55,18 @@
15 wait_for(lk, default_timeout);
16
17 fence_display = eglGetCurrentDisplay();
18+ if (fence_display == EGL_NO_DISPLAY)
19+ {
20+ log_error("no current display");
21+ }
22+
23 sync_point = egl->eglCreateSyncKHR(fence_display, EGL_SYNC_FENCE_KHR, NULL);
24 if (sync_point == EGL_NO_SYNC_KHR)
25- BOOST_THROW_EXCEPTION(std::runtime_error("failed to add sync point to command buffer"));
26+ {
27+ std::stringstream str;
28+ str << "failed to add sync point to command buffer: 0x" << std::hex << eglGetError();
29+ log_error(str.str());
30+ }
31 }
32
33 void mg::EGLSyncFence::reset()
34
35=== modified file 'tests/unit-tests/graphics/android/test_egl_sync_fence.cpp'
36--- tests/unit-tests/graphics/android/test_egl_sync_fence.cpp 2016-03-16 06:59:01 +0000
37+++ tests/unit-tests/graphics/android/test_egl_sync_fence.cpp 2016-03-17 19:44:40 +0000
38@@ -42,9 +42,9 @@
39 .WillOnce(Return(EGL_NO_SYNC_KHR));
40
41 mg::EGLSyncFence fence(sync_extensions);
42- EXPECT_THROW({
43+ EXPECT_NO_THROW({
44 fence.raise();
45- }, std::runtime_error);
46+ });
47 }
48
49 TEST_F(EglSyncFence, raise_sets_sync_point)

Subscribers

People subscribed via source and target branches