glmark2-es2-wayland hangs

Bug #1728069 reported by Alan Griffiths on 2017-10-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Triaged
Medium
Unassigned
mir (Ubuntu)
Medium
Alan Griffiths

Bug Description

I've seen this in the following benchmarks:

effects2d hangs (showing cube)
function hangs (showing pattern)
texture hangs (showing cube)

It is most easy to reproduce with "texture"

I've also saw it on "shading" after using --run-forever and leaving it for over ten minutes.

While the test isn't important in itself, this does suggests we may be hitting a racy scenario.

Note:

I've also seen other glmark benchmarks fail in ways that are probably unrelated to Mir wayland support:

ideas => "Failed to link program" => "Set up failed"
terrain => "Failed to link program" => segfault

Alan Griffiths (alan-griffiths) wrote :

I also see this in the Mir logs:

[2017-10-27 15:30:24.769006] <WARNING> mesa-buffer-allocator: WaylandBuffer::gl_bind_to_texture() called on a destroyed wl_buffer

Daniel van Vugt (vanvugt) wrote :

The log message at least, means the compositor has released the buffer too early (before compositing). Hence the client will appear to hang as new frames don't reach the screen.

Actually historically Mir holds buffers for even longer than that to deal with multi-monitor frame sync. But if you only have a single monitor then you can release the buffer back to the client as soon as eglSwapBuffers has returned for the compositor.

We also toyed with something dubbed the "early release optimization" a while ago, which sounds like it might help Wayland. That's basically the same thing as assuming you only ever have one monitor to feed... It was disabled in r3441 though, due to it increasing lag in native Mir clients (possibly wouldn't hurt Wayland clients though if they are self-throttling with their own client-side vsync).

Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in mir (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
tags: added: wayland
Changed in mir:
assignee: nobody → Alan Griffiths (alan-griffiths)
assignee: Alan Griffiths (alan-griffiths) → nobody
Changed in mir (Ubuntu):
assignee: nobody → Alan Griffiths (alan-griffiths)
status: Triaged → In Progress
Changed in mir (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.29.0-0ubuntu1

---------------
mir (0.29.0-0ubuntu1) bionic; urgency=medium

  [ Alan Griffiths ]
  * New upstream release 0.29.0(https://launchpad.net/mir/+milestone/0.29.0)
    - ABI summary:
      . mirclient ABI unchanged at 9
      . miral ABI unchanged at 2
      . mirserver ABI bumped to 46
      . mircommon ABI unchanged at 7
      . mirplatform ABI unchanged at 61
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI unchanged at 13
      . mirclientplatform ABI unchanged at 5
      . mirinputplatform ABI unchanged at 7
      . mircore ABI unchanged at 1
    - Enhancements:
      . Update docs to reflect recent changes
      . Initial cut at integrating Wayland conformance tests
      . Fix Wayland conformance test failures
      . Fix build & runtime issues on Fedora 26, 27 & rawhide
      . benchmarks: Use standard options to install perf framework on
        non-Debian distros
      . Test (and fix) SeatObserver
      . Added the "smoke test" script from old CI
    - Bugs fixed:
      . [mir_demo_server] extend (not replace) the default error reporting.
        (LP: #1728581)
      . Releasing Wayland buffers must occur on the executor thread.
        (LP: #1728069)
      . [miral-desktop] Check that user is logged into the VT before using it
        (LP: #1728574)
      . Allow alternative cursor themes to be specified in a list. (Fixes #16)
      . Enable screen capture to SHM buffers. (Fixes #47)
      . Get mirscreencast working on Fedora. (Fixes #38)
      . [miral-shell] Check for titlebars when placing windows. (Fixes #37)
      . Create a mir_performance_tests executable (Fixes #69, #70)

  [ Mir CI Bot ]
  * Automatic build of revision 07295eacb3

 -- Christopher James Halse Rogers <email address hidden> Thu, 14 Dec 2017 12:40:56 +1100

Changed in mir (Ubuntu):
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