[ FAILED ] ThreadedDispatcherDeathTest.destroying_dispatcher_from_a_callback_is_an_error

Bug #1647573 reported by Daniel van Vugt on 2016-12-06
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released
Chris Halse Rogers
mir (Ubuntu)

Bug Description

Test failed but really just looks like an assertion failure inside pthreads:

04:22:35 [ RUN ] ThreadedDispatcherDeathTest.destroying_dispatcher_from_a_callback_is_an_error
04:22:35 [WARNING] /usr/src/gtest/src/gtest-death-test.cc:825:: Death tests use fork(), which is unsafe particularly in a threaded context. For this test, Google Test couldn't detect the number of threads.
04:22:35 /<<BUILDDIR>>/mir-0.25.0+xenial3092bzr3867/tests/unit-tests/dispatch/test_threaded_dispatcher.cpp:416: Failure
04:22:35 Death test: { ::mir::test::disable_core_dump(); { { md::ThreadedDispatcher* dispatcher; auto dispatchable = std::make_shared<mt::TestDispatchable>([&dispatcher]() { delete dispatcher; }); dispatchable->trigger(); dispatcher = new md::ThreadedDispatcher("Death thread", dispatchable); std::this_thread::sleep_for(10s); } ; } }
04:22:35 Result: died but not with expected error.
04:22:35 Expected: .*Destroying ThreadedDispatcher.*
04:22:35 Actual msg:
04:22:35 [ DEATH ] mir_unit_tests.bin: tpp.c:84: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)' failed.
04:22:35 [ DEATH ]
04:22:35 [ FAILED ] ThreadedDispatcherDeathTest.destroying_dispatcher_from_a_callback_is_an_error (159 ms)


Related branches

description: updated
Chris Halse Rogers (raof) wrote :

I wonder whether this isn't fallout of us using a known-buggy-in-the-presence-of-threads death test strategy?

Changed in mir:
assignee: nobody → Chris Halse Rogers (raof)
milestone: none → 0.26.0
importance: Undecided → Medium
status: New → In Progress
Mir CI Bot (mir-ci-bot) wrote :

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

Changed in mir:
status: In Progress → Fix Committed
Chris Halse Rogers (raof) wrote :

Ah, no. This is a different problem.

Huh. Well, that test was always terribly racy!

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.26.0

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

This bug was fixed in the package mir - 0.26.0+17.04.20170126.3-0ubuntu1

mir (0.26.0+17.04.20170126.3-0ubuntu1) zesty; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.26.0 (https://launchpad.net/mir/+milestone/0.26.0)
    - ABI summary:
      . mirclient ABI unchanged at 9
      . mirserver ABI bumped to 43
      . mircommon ABI unchanged at 7
      . mirplatform ABI unchanged at 14
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI unchanged at 11
      . mirclientplatform ABI unchanged at 5
      . mirinputplatform ABI unchanged at 6
      . mircore ABI unchanged at 1
    - Enhancements:
      . New/improved toolkit APIs: MirInputConfig and related functions,
        MirWindow and related functions, DisplayConfig and related functions,
        MirScreencastSpec and related functions,
      . Support for configuring input configuration
      . Introduce toolkit extension mechanism for platform specific APIs.
      . Toolkit extensions for: mesa_drm_auth, set_gbm_device and
      . Screencasting to a specific MirBuffer.
      . Add DisplayConfigurationController::base_configuration() so downstreams
        can get the base configuration. (Weirdly they can already set it.).
      . x11 platform: allow adjustable scale parameter.
      . Added EDID support: client API, server logging and in mirout.
      . mirout: Add newer attributes only available in the new display
        config API: scaling factor, subpixel arrangement and form factor.
      . mirout: Log the orientation and logical size of each output too.
      . Replace the mir::Server-overridable Reports with Observers.
      . Add xkbcommon to mirclient.pc Requires.private.
      . Deprecate legacy toolkit APIs that will be removed in Mir 1.0
      . Introduced 'client-side vsync', which dramatically reduces latency
        from the client to the screen (particularly for nested servers like
    - Bugs fixed:
      . [performance] Restore support for better-than-triple buffering by
        default. (LP: #1240909)
      . Frame rate is artificially low on Diamondville Intel Atom systems due
        to aggressive power management (LP: #1388490)
      . [testsfail] failure in CI in
        (LP: #1394369)
      . [trusted prompt sessions] Can't open two prompt sessions at the same
        time (LP: #1494197)
      . Changing scale, formFactor or DPI in display configuration causes
        renderer teardown/recreate unnecessarily (LP: #1556142)
      . [testsfail] ApplicationNotRespondingDetection.failure_to_pong_is_
        noticed (LP: #1570327)
      . CI failure in TestClientInput.receives_one_touch_event_per_frame
        (LP: #1570698)
      . Mir-on-X mouse input is jerky/stuttery compared to Mir-on-KMS
        (LP: #1576600)
      . [regression] Two fingers in mir_proving_server now resizes/moves app
        windows (two finger apps unusable) (LP: #1586311)
      . Pointer/cursor input lag in unity8 session (LP: #1591328)
      . PointerConfinement.test_we_update_our_confined_region_on_a_resize


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  Edit
Everyone can see this information.

Other bug subscribers