mir tests fail on armhf in the landing-16 PPA

Bug #1478213 reported by Matthias Klose on 2015-07-25
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released
Alexandros Frantzis
Fix Released
Alexandros Frantzis
mir (Ubuntu)

Bug Description


this is derived from mir - 0.14.0+15.10.20150723.1-0ubuntu1
Note that I'm uploading a package to the silo which just ignores the test errors to keep the silo install-able.

[ RUN ] GLibMainLoopTest.propagates_exception_from_signal_handler
terminate called after throwing an instance of 'std::runtime_error'
/«BUILDDIR»/mir-0.14.0+15.10.20150723.1/tests/unit-tests/test_glib_main_loop.cpp:78: Failure
Value of: result.succeeded()
Actual: false
Expected: true
[ FAILED ] GLibMainLoopTest.propagates_exception_from_signal_handler (4 ms)

[ RUN ] GLibMainLoopTest.propagates_exception_from_server_action
terminate called after throwing an instance of 'std::runtime_error'
/«BUILDDIR»/mir-0.14.0+15.10.20150723.1/tests/unit-tests/test_glib_main_loop.cpp:78: Failure
Value of: result.succeeded()
Actual: false
Expected: true
[ FAILED ] GLibMainLoopTest.propagates_exception_from_server_action (3 ms)
[ RUN ] GLibMainLoopTest.can_be_rerun_after_exception
terminate called after throwing an instance of 'std::runtime_error'
/«BUILDDIR»/mir-0.14.0+15.10.20150723.1/tests/unit-tests/test_glib_main_loop.cpp:78: Failure
Value of: result.succeeded()
Actual: false
Expected: true
[ FAILED ] GLibMainLoopTest.can_be_rerun_after_exception (4 ms)
[ FAILED ] 3 tests, listed below:
[ FAILED ] GLibMainLoopTest.propagates_exception_from_signal_handler
[ FAILED ] GLibMainLoopTest.propagates_exception_from_server_action
[ FAILED ] GLibMainLoopTest.can_be_rerun_after_exception


Related branches

Changed in mir:
importance: Undecided → Critical
milestone: none → 0.15.0
Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
status: New → In Progress
Alexandros Frantzis (afrantzis) wrote :

Some interesting/peculiar findings:

* The core problem is that, for some reason, the exception object which we throw is not caught by catch(...) clauses!
* Using a non-empty message in std::runtime_error or another exception type (e.g. std::exception), avoids the failures
* If in mir::GLibMainLoop::enqueue() we replace the invocation of the 'action' function object (which contains a throw) with a direct throw, the exception is caught properly.

PS Jenkins bot (ps-jenkins) wrote :

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

Changed in mir:
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (4.2 KiB)

This bug was fixed in the package mir - 0.15.0+15.10.20150818-0ubuntu1

mir (0.15.0+15.10.20150818-0ubuntu1) wily; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.15.0 (https://launchpad.net/mir/+milestone/0.15.0)
    - ABI summary: Only servers and graphics drivers need rebuilding;
      . Mirclient ABI unchanged at 9
      . Mirserver ABI bumped to 33
      . Mircommon ABI unchanged at 5
      . Mirplatform ABI bumped to 9
    - Enhancements:
      . Add support for Mir-on-X11.
      . Latency reduction optimizations (around ~15ms reduction in total):
        Reduced input event resampling latency by 5ms. Reduced output latency
        (in system compositors) by around 10ms with the introduction of
        "predictive bypass". And we're not finished; future Mir releases
        should reduce latency further.
      . Introduced a python3-based Mir performance framework.
      . Lots of preparation for an architectural overhaul of buffer swapping,
        required in the least to support future optimizations like nested
      . Added a new cursor: crosshair
      . Added support for 15/16-bit client pixel formats ("high colour").
      . Added a new client function to make picking the right pixel format
        for a given EGLConfig super simple: mir_connection_get_egl_pixel_format
      . Added application-not-responding detection
      . Added client API for specifying input region shape.
      . Fixed the remaining threading flaws identified by ThreadSanitizer and
        turned it on permanently for all continuous integration in future.
      . Added support for relative pointer motion events (e.g. for gaming).
    - Bug fixes:
      . Fix focus issues breaking autopilot tests entering text (LP: #1468029)
      . Fix mir tests failure on armhf with GCC5 (LP: #1478213)
      . mir_buffer_stream_swap_buffers_sync can hang constraints (LP: #1479899)
      . Loading libmirclient.so twice leads to a segfault in libmirprotobuf.so
        (LP: #1391976)
      . Visible corruption in SDL apps (LP: #1460149)
      . MultiThreadedCompositor::destroy_compositing_threads hangs/deadlocks on
        shutdown or display reconfiguration (LP: #1471909)
      . ctest/"make test" reports 100% tests pass even when some fail.
        (LP: #1472911)
      . Mir server crashed - GLib-CRITICAL **: g_source_get_context: assertion
       'source->context != NULL || !SOURCE_DESTROYED (source)' failed
        (LP: #1473869)
      . USC crash on multimonitor unplug [std::exception::what: error during
        hwc prepare()] (LP: #1474891)
      . [regression] Input focus delay after switching app back into focus
        (LP: #1480654)
      . GLibMainLoopTest.propagates_exception_from_server_action fails with
        GCC 5 in armhf (LP: #1482274)
      . [enhancement] Mir lacks relative mouse support (LP: #1276322)
      . ShmBuffer ignores pixel_format (LP: #1424909)
      . Fullscreen bypassed clients stutter with double buffers when other
        clients are running (LP: #1447896)
      . [regression] Demo servers crash on start-up if MIR_ENABLE_TESTS=OFF
        (LP: #1439078)
      . [regression] The software curs...


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