CI failure in MirSurfaceVisibilityEvent.exposed_received_when_surface_raised_over_occluding_surface [called twice - over-saturated and active]

Bug #1556045 reported by Alan Griffiths on 2016-03-11
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
Alexandros Frantzis
mir (Ubuntu)

Bug Description


11:08:37 11: [ RUN ] MirSurfaceVisibilityEvent.exposed_received_when_surface_raised_over_occluding_surface
11:08:37 11: [2016-03-11 11:08:37.041108] mirserver: Starting
11:08:37 11: [2016-03-11 11:08:37.043789] mirserver: Selected driver: dummy (version 0.20.0)
11:08:37 11: [2016-03-11 11:08:37.067340] mirserver: Initial display configuration:
11:08:37 11: [2016-03-11 11:08:37.067738] mirserver: 1.1: VGA 0.0" 0x0mm
11:08:37 11: [2016-03-11 11:08:37.067972] mirserver: Current mode 1600x1600 60.00Hz
11:08:37 11: [2016-03-11 11:08:37.068220] mirserver: Preferred mode 1600x1600 60.00Hz
11:08:37 11: [2016-03-11 11:08:37.068423] mirserver: Logical position +0+0
11:08:37 11: [2016-03-11 11:08:37.070976] mirserver: Using software cursor
11:08:37 11: [2016-03-11 11:08:37.088056] mirserver: Selected input driver: mir:stub-input (version: 0.20.0)
11:08:37 11: [2016-03-11 11:08:37.089304] mirserver: Mir version 0.20.0
11:08:37 11: /��BUILDDIR��/mir-0.20.1+16.04.20160225.1+vivid444bzr3385/tests/acceptance-tests/test_client_surface_visibility.cpp:179: Failure
11:08:37 11: Mock function called more times than expected - returning directly.
11:08:37 11: Function call: handle(0x1222c330, 0)
11:08:37 11: Expected: to be called once
11:08:37 11: Actual: called twice - over-saturated and active
11:08:38 11: [2016-03-11 11:08:38.077075] mirserver: Stopping
11:08:38 11: [ FAILED ] MirSurfaceVisibilityEvent.exposed_received_when_surface_raised_over_occluding_surface (1072 ms)

Related branches

Alan Griffiths (alan-griffiths) wrote :

I left my computer running this test & this suite alongside stress all lunchtime. Also added valgrind to the mix. Still couldn't reproduce. (Admittedly this was xenial/gcc, not V+O/clang.)

Daniel van Vugt (vanvugt) wrote :
Changed in mir:
importance: Undecided → High
status: New → Confirmed
tags: added: ci-blocker
Changed in mir:
milestone: none → 0.22.0
Kevin DuBois (kdub) wrote :

Could reproduce on my xenial desktop with "stress -c 12" and "valgrind --leak-check=full --track-fds". Incidence rate seen by me seemed to be at about 1%. Perhaps is higher on the more highly loaded CI machines.

Changed in mir:
assignee: nobody → Kevin DuBois (kdub)
status: Confirmed → In Progress
Kevin DuBois (kdub) wrote :

seems what was happening was that the test was overriding the shell without syncing well enough with the Policy, resulting in racy raise behavior, that would toggle the visibility bit either one too many, or one too few times. The policy would only interfere as a result of SurfaceReadyBehavior, so it was rare.

Kevin DuBois (kdub) wrote :

there was also some strange behavior to wait for surfaces to be 'ready' (eg, swapping 11 times after creation), cleaned that up too

Mir CI Bot (mir-ci-bot) wrote :

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

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

Still failing, in the proposed 0.22.0 release itself:

Changed in mir:
milestone: 0.22.0 → none
status: Fix Committed → Triaged
status: Triaged → Confirmed
assignee: Kevin DuBois (kdub) → nobody
summary: CI failure in
+ [called twice - over-saturated and active]
Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
Changed in mir:
status: Confirmed → In Progress
Mir CI Bot (mir-ci-bot) wrote :

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

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
milestone: none → 0.24.0
Changed in canonical-devices-system-image:
status: New → Fix Committed
importance: Undecided → High
milestone: none → 13
Launchpad Janitor (janitor) wrote :
Download full text (5.7 KiB)

This bug was fixed in the package mir - 0.24.0+16.10.20160815.3-0ubuntu1

mir (0.24.0+16.10.20160815.3-0ubuntu1) yakkety; urgency=medium

  * New upstream release 0.24.0 (https://launchpad.net/mir/+milestone/0.24.0)
    - ABI summary:
      . mirclient ABI unchanged at 9
      . mirserver ABI bumped to 41
      . mircommon ABI unchanged at 6
      . mirplatform ABI bumped to 12
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI bumped to 10
      . mirclientplatform ABI unchanged at 5
      . mirinputplatform ABI unchanged at 5
    - Enhancements:
      . Added a new tool 'mirvanity' which can use a high speed video camera
        to measure client-to-screen latency.
      . Added (build-time) support for desktop full OpenGL servers (disabled
        by default in favor of GLESv2).
      . Introduced new buffer semantics (NBS) and enabled it by default.
      . Avoided using libmirserver in mir_demo_standalone_render_overlays,
        making bringup traces less cluttered.
      . Removed TilingWindowManager from example servers.
      . Added two new mir_*_performance_test tools that are run as part of
      . Added pointer confinement to the client API.
      . Added new platform supporting software EGLStreams.
      . Added an input platform that the nested server can use.
      . Allow configuration of the application_not_responding_detector
      . Handle server-side keymapping using XKBMapper.
      . Remove the offscreen display.
      . Add callback option to notify shells that the server is about to stop.
      . Add logging for ANativeWindow events on Android.
    - Bugs fixed:
      . usage of std:call_once in mirclient causes TLS collisions with some
        android devices (LP: #1599867)
      . AltGr not working on external keyboards (LP: #1565236)
      . [regression] unity8 fails to start when built with 0.24 series (lp:mir)
        (LP: #1597717)
      . CI failure in MirSurfaceVisibilityEvent.exposed_received_when_surface_
        raised_over_occluding_surface [called twice - over-saturated and active]
        (LP: #1556045)
      . package-built mir_demo_server does not start on device (LP: #1577357)
      . During surface creation, first stream in spec becomes default stream.
        (LP: #1577967)
      . mouse is getting stuck on a phantom edge (LP: #1580774)
      . [testsfail] in MirSurfaceVisibilityEvent.exposed_received_when_surface_
        raised_over_occluding_surface [never called] (LP: #1581385)
      . [enhancement] Add support for full OpenGL compositing (LP: #1420581)
      . [testsfail] ServerSignal.terminate_handler_is_called_for_SIGINT|SIGTERM
        (LP: #1570353)
      . [testsfail] ClientLatency.triple_buffered_client_has_less_than_two_
        frames_latency (LP: #1576690)
      . [testsfail] NestedServer.when_monitor_plugged_in_client_is_notified_of_
        new_display_configuration (LP: #1576760)
      . mir server crashed in what(): drmModeMoveCursor failed (returned -13)
        (LP: #1579630)
      . mirtest-dev is hard to use as the objects used are compiled with LTO
        (LP: #1583536)
      . [testsfail] ClientLogging.repo...


Changed in mir (Ubuntu):
status: New → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers