Digging into the code (without being able to reproduce) the likeliest cause seems to be incorrect error handling in mir::compositor::CompositingFunctor::operator()().
In Mir 0.18 this function can plausibly terminate via an exception before setting the promise (on line 116) - it has a catch block, but this does not set an exception on the promise. I can't identify all the threads from the error tracker, but I don't see this one, so I suspect this is what has happened. In Mir 0.19 this function has been modified to set the exception on the promise, which should change the behaviour. But as the future not read (just waited on) the behaviour is still suspect. The current failure detected in wait_until_started() should go and the problem will be ignored by the Compositor. However, as mir::terminate_with_current_exception() is called the server should close down and we'll end up with a different failure mode. Maybe that will give us a little more information on the underlying error condition? In my travels I also noticed some hard-to-validate logic in MultiThreadedCompositor::start()/stop() - which, while it does successfully use atomic for synchronization, has the questionable behaviour of simply ignoring both start() and stop() requests while in state CompositorState::starting or CompositorState::stopping. Likewise in usc::MirScreen the locking conventions around "_l" functions are not followed consistently. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1528384 Title: unity-system-compositor crashed with std::runtime_error in mir::compositor::CompositingFunctor::wait_until_started() from usc::MirScreen::set_screen_power_mode (mir_power_mode_on) Status in Canonical System Image: Confirmed Status in Mir: New Status in Unity System Compositor: New Status in mir package in Ubuntu: Confirmed Status in unity-system-compositor package in Ubuntu: Confirmed Bug description: Top crash over past week (ww02) on errors.u.c for rc-proposed channels. Started with u-s-c 0.2.0+15.04.20151216.1-0ubuntu1 The Ubuntu Error Tracker has been receiving reports about a problem regarding unity-system-compositor. This problem was most recently seen with version 0.2.0+15.04.20151216.1-0ubuntu1, the problem page at https://errors.ubuntu.com/problem/7bcfcf599b35b264c0be45d5290ad9ae3c50adcf contains more details. To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1528384/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp