Mir

mir nested server failure: what(): error binding buffer to texture

Bug #1272041 reported by Kevin DuBois on 2014-01-23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Andreas Pokorny
mir (Ubuntu)
Critical
Unassigned

Bug Description

with lp:mir/devel (rev 1350) + lp:~vanvugt/mir/fix-1271853 on mako

host server:
root@ubuntu-phablet:/home/phablet# ./mir_demo_server_basic -f /tmp/oo
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
 what(): error binding buffer to texture

nested server:
root@ubuntu-phablet:/home/phablet# ./mir_demo_server_basic --host-socket /tmp/a
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
 what(): Failed to send message to server: Bad file descriptor
Aborted (core dumped)

logcat reports:
W/Adreno200-EGL(21940): <eglMakeCurrent:2749>: EGL_BAD_MATCH
E/libEGL (21940): eglMakeCurrent:593 error 3009 (EGL_BAD_MATCH)
W/Adreno200-EGLSUB(21891): <CreateImage:1363>: Unsupported buffer format: 3.
W/Adreno200-EGL(21891): <eglCreateImageKHR:4526>: EGL_BAD_PARAMETER

appears to be a regression in rev 1328

Related branches

Kevin DuBois (kdub) on 2014-01-23
summary: - mir nested server failure
+ mir nested server failure: what(): error binding buffer to texture
Kevin DuBois (kdub) on 2014-01-23
description: updated
Michael Terry (mterry) on 2014-01-23
Changed in mir:
assignee: nobody → Andreas Pokorny (andreas-pokorny)
Changed in mir:
status: New → Confirmed
Kevin DuBois (kdub) wrote :

mir_pixel_format_bgr_888 is selected by the nested server from the list of supported pixel formats, then the nested asks for a reconfigure to bgr_888, (which AndroidDisplay ignores).

a quick fix is to just remove mir_pixel_format_bgr_888 from the list of display-supported-pixel formats in mga::AndroidDisplayConfiguration. The proper fix is to get the display format from mga::Framebuffers to mga::AndroidDisplayConfiguration.

Android's displays aren't quite as configurable as the KMS ones. In FB/HWC1.0, we read a struct member to get the singular display format. In HWC 1.1/1.2 we scan over the EGL configs for a suitable config/format match. In HWComposer 1.3, the display format is actually opaque to us.

Kevin DuBois (kdub) wrote :

"a quick fix is to just remove mir_pixel_format_bgr_888 from the list of display-supported-pixel formats..."

eg, remove
http://bazaar.launchpad.net/~mir-team/mir/development-branch/view/head:/src/platform/graphics/android/android_display_configuration.cpp#L29
for a quick bandaid

Changed in mir:
milestone: none → 0.1.5
status: Confirmed → In Progress
tags: added: nexus4
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

mir (0.1.4+14.04.20140204-0ubuntu1) trusty; urgency=medium

Changed in mir (Ubuntu):
importance: Undecided → Critical
status: New → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers