Trying to reproduce with the above command line I don't see the above failure mode. I do see an "Invalid write". I won't file a separate bug until we've investigated further: Repeating all tests (iteration 12) . . . Note: Google Test filter = ClientSurfaceEvents.client_can_query_current_orientation [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from ClientSurfaceEvents [ RUN ] ClientSurfaceEvents.client_can_query_current_orientation /home/alan/display_server/mir1/tests/acceptance-tests/test_client_surface_events.cpp:254: Failure Value of: wait_for_event(mir_event_type_orientation, std::chrono::seconds(1)) Actual: false Expected: true ==3769== Invalid write of size 4 ==3769== at 0x77D288: testing::UnitTest::AddTestPartResult(testing::TestPartResult::Type, char const*, int, std::string const&, std::string const&) (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x77212C: testing::internal::AssertHelper::operator=(testing::Message const&) const (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x601A77: ClientSurfaceEvents_client_can_query_current_orientation_Test::TestBody() (test_client_surface_events.cpp:254) ==3769== by 0x794335: void testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x78F58B: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x7772E2: testing::Test::Run() (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x777ABD: testing::TestInfo::Run() (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x77814D: testing::TestCase::Run() (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x77E797: testing::internal::UnitTestImpl::RunAllTests() (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x795713: bool testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x7903E5: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== by 0x77D456: testing::UnitTest::Run() (in /home/alan/display_server/mir1/build/bin/mir_acceptance_tests) ==3769== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==3769== ==3769== ==3769== HEAP SUMMARY: ==3769== in use at exit: 296,994 bytes in 4,389 blocks ==3769== total heap usage: 154,055 allocs, 149,666 frees, 8,123,620 bytes allocated ==3769== ==3769== LEAK SUMMARY: ==3769== definitely lost: 0 bytes in 0 blocks ==3769== indirectly lost: 0 bytes in 0 blocks ==3769== possibly lost: 51,235 bytes in 934 blocks ==3769== still reachable: 245,759 bytes in 3,455 blocks ==3769== suppressed: 0 bytes in 0 blocks ==3769== Rerun with --leak-check=full to see details of leaked memory ==3769== ==3769== For counts of detected and suppressed errors, rerun with: -v ==3769== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Killed