Mir

Mir server crashes with "std::exception::what: Failed to get front buffer object" when trying to fullscreen a surface

Bug #1398296 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Daniel van Vugt
mir (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Mir server crashes with "std::exception::what: Failed to get front buffer object" when trying to fullscreen/bypass a surface in multimonitor clone mode.

ERROR: /home/dan/bzr/mir/fullscreen/src/platform/fatal/fatal.cpp(55): Throw in function void mir::fatal_error_except(const char*, ...)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorISt13runtime_errorEEEE
std::exception::what: Failed to get front buffer object

Mesa only has a fixed limit of (four?) front framebuffer objects available. So somehow the combination of fullscreen bypass and multimonitor is making us ask for more than that... (?)

Sorry I don't have a test case to reproduce it easily yet without using my own custom branch.

Related branches

description: updated
tags: added: fullscreen
summary: Mir server crashes with "std::exception::what: Failed to get front
- buffer object" when trying to fullscreen/bypass a surface in clone mode
+ buffer object" when trying to fullscreen a surface
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I can't reproduce this now. But I'm sure someone will eventually.

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

Test case (I have no idea why this works):

 0. Use branch: lp:~vanvugt/mir/managed-surface to get access to the required key combos.
 1. Start the demo shell
 2. mir_demo_client_egltriangle
 3. Resize the client rapidly using Alt+middlebutton
 4. Try to fullscreen it: Alt+F11

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

That test case works because the resizing tips the dimensions over the 800x600 threshold and Mir then allocates scanout buffers. This leads it to run out of scanout buffer resources and bypass can't work.

Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
milestone: none → 0.10.0
status: Triaged → In Progress
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: In Progress → Fix Committed
Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

mir (0.10.0+15.04.20150107.2-0ubuntu1) vivid; urgency=medium

Changed in mir (Ubuntu):
importance: Undecided → High
status: New → 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.