Mir

When stressed by a load of clients starting at once: Failed to get PRIME fd from gbm bo

Bug #1607812 reported by Alan Griffiths
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alan Griffiths
mir (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I initially found this with miral-shell, but found similar behaviour with mir_demo_shell_minimal.

Start a shell, then start all the mir_demo_client_XXX apps. (For convenience see attached script.)

Then start closing apps one by one: At some point the server dies with a segfault.

With a bit of debugging I managed to catch the following error just before the segfault:

ERROR: /home/alan/display_server/mir/src/platforms/mesa/server/buffer_allocator.cpp(150): Throw in function virtual void {anonymous}::DMABufTextureBinder::ensure_egl_image()
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::system_error> >
std::exception::what: Failed to get PRIME fd from gbm bo: No such file or directory

Tags: mesa-x11

Related branches

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

A bit more investigation suggests this is only happening with mir-on-X11. Maybe something there is a bit racy.

Changed in mir:
importance: Undecided → Low
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

A crash under stress isn't low at least. Because once a number of people are using this code on a daily basis, even the most unlikely things will occur very regularly :)

Changed in mir:
importance: Low → Medium
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

OK, but I didn't consider a crash that only (so far) happens on Mir-on-X "Medium" as that isn't a setup likely in production.

tags: added: mesa-x11
Changed in mir:
importance: Medium → High
Changed in mir:
status: New → In Progress
assignee: nobody → Alan Griffiths (alan-griffiths)
milestone: none → 0.25.0
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

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

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.7 KiB)

This bug was fixed in the package mir - 0.25.0+17.04.20161203-0ubuntu1

---------------
mir (0.25.0+17.04.20161203-0ubuntu1) zesty; urgency=medium

  * New upstream release 0.25.0 (https://launchpad.net/mir/+milestone/0.25.0)
    - ABI summary:
      . mirclient ABI unchanged at 9
      . mirserver ABI bumped to 42
      . mircommon ABI bumped to 7
      . mirplatform ABI bumped to 14
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI bumped to 11
      . mirclientplatform ABI unchanged at 5
      . mirinputplatform ABI bumped to 6
      . mircore ABI added, at version 1
    - Enhancements:
      . Added pointer confinement support
      . Identify Raspberry Pi output types correctly
      . Added dead key and compose key support
      . Added gamma support for KMS hardware
      . Added yakkety and zesty gcc-6 support
      . Added surface passthrough support for fullscreen clients of nested
        servers
      . Introduced a new library `libmircore'
      . Began migrating from Protobuf to Cap'n Proto starting with events
      . Began support for VirtualBox (servers now start instead of crashing
        but full support for GL clients is still missing)
      . Began support for high precision frame timing, implemented for the
        KMS, Android and X11 backends so far
      . Added --display-report support for the X11 backend
      . Improved reliability of `mirvanity' latency test tool
      . Moved to using the CSS cursor naming scheme internally, although
        the old symbolic indentifiers remain unchanged and still work
      . Added refresh rate to MirSurfaceOutputEvent
      . Many improvements to automated test quality and coverage
      . Smoother desktop zoom using mir_proving_server (Super + two fingers)
    - Bugs fixed:
      . FTBFS On Zesty: invalid use of
        'struct native_handle' (LP: #1638774)
      . libmirclient-debug-extension-dev install debug/surface.h
        twice (LP: #1639153)
      . Mir crashes on virtual box drmModeCrtcSetGamma
        Function not implemented (LP: #1638220)
      . Flickering in mir_demo_client_multistream (LP: #1635273)
      . Camera apps (camera & vanity) never exit (LP: #1635010)
      . Clients cannot connect when MIR_SOCKET="" (LP: #1634508)
      . mirtest-dev packaging fails to sepcify boost depends (LP: #1633537)
      . cursor.h is unclear about mir_diagonal_resize_* (LP: #1626924)
      . Inconsistent underscores in cursor names (LP: #1632617)
      . [regression] Accidental libmircommon.so.6 break (LP: #1617865)
      . [regression] mir demo server fails to start with mx4 (LP: #1615703)
      . [regression] Trust prompt now shown when starting camera (LP: #1612256)
      . [regression] make abi-check fails to build (LP: #1626866)
      . Nested servers prevent overlays or fullscreen bypass (LP: #1262116)
      . Failed to get PRIME fd from gbm bo (LP: #1607812)
      . Mir-on-X is difficult to use on 1366x768 laptop (LP: #1590959)
      . Remove useless message 'Surface 0 DPI' in demos (LP: #1559831)
      . Mir fails to cross-build with newer sbuild (LP: #1628507)
      . Infinite loop in AbstractShell::focus_next_session (LP: #1625401)
      . Dest...

Read more...

Changed in mir (Ubuntu):
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.