mir tests fail on armhf in the landing-16 PPA
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Critical
|
Alexandros Frantzis | ||
0.14 |
Fix Released
|
Critical
|
Alexandros Frantzis | ||
mir (Ubuntu) |
Fix Released
|
Critical
|
Unassigned |
Bug Description
this is derived from mir - 0.14.0+
Note that I'm uploading a package to the silo which just ignores the test errors to keep the silo install-able.
[ RUN ] GLibMainLoopTes
terminate called after throwing an instance of 'std::runtime_
what():
/«BUILDDIR»
Value of: result.succeeded()
Actual: false
Expected: true
[ FAILED ] GLibMainLoopTes
[ RUN ] GLibMainLoopTes
terminate called after throwing an instance of 'std::runtime_
what():
/«BUILDDIR»
Value of: result.succeeded()
Actual: false
Expected: true
[ FAILED ] GLibMainLoopTes
[ RUN ] GLibMainLoopTes
terminate called after throwing an instance of 'std::runtime_
what():
/«BUILDDIR»
Value of: result.succeeded()
Actual: false
Expected: true
[ FAILED ] GLibMainLoopTes
[ FAILED ] 3 tests, listed below:
[ FAILED ] GLibMainLoopTes
[ FAILED ] GLibMainLoopTes
[ FAILED ] GLibMainLoopTes
3 FAILED TESTS
YOU HAVE 6 DISABLED TESTS
Related branches
- Daniel van Vugt: Approve
- Cemil Azizoglu (community): Approve
- Andreas Pokorny (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Approve
-
Diff: 48 lines (+5/-5)1 file modifiedtests/unit-tests/test_glib_main_loop.cpp (+5/-5)
- Daniel van Vugt: Approve
- Kevin DuBois (community): Approve
- Cemil Azizoglu (community): Approve
-
Diff: 48 lines (+5/-5)1 file modifiedtests/unit-tests/test_glib_main_loop.cpp (+5/-5)
- Mir development team: Pending requested
-
Diff: 2543 lines (+934/-330) (has conflicts)42 files modifiedcmake/MirCommon.cmake (+8/-0)
cmake/src/mir/mir_test_tmpfile.cpp (+14/-0)
debian/changelog (+91/-0)
debian/control (+29/-1)
debian/mir-platform-graphics-android3.install (+4/-0)
debian/mir-platform-graphics-mesa-kms3.install (+4/-0)
src/client/buffer_stream.cpp (+39/-13)
src/client/buffer_stream.h (+9/-2)
src/client/client_buffer_stream.h (+4/-0)
src/client/mir_connection.cpp (+12/-12)
src/client/mir_prompt_session.cpp (+7/-7)
src/client/mir_screencast.cpp (+5/-5)
src/client/mir_surface.cpp (+13/-13)
src/client/rpc/mir_protobuf_rpc_channel.cpp (+6/-3)
src/include/common/mir/make_protobuf_object.h (+2/-5)
src/include/server/mir/frontend/event_sink.h (+6/-1)
src/platform/options/default_configuration.cpp (+3/-1)
src/platform/symbols.map (+4/-0)
src/platforms/CMakeLists.txt (+4/-0)
src/platforms/android/server/symbols.map (+4/-0)
src/platforms/mesa/server/kms/symbols.map (+4/-0)
src/protobuf/mir_protobuf.proto (+24/-21)
src/server/compositor/buffer_queue.cpp (+22/-92)
src/server/compositor/buffer_queue.h (+0/-14)
src/server/frontend/event_sender.cpp (+34/-17)
src/server/frontend/event_sender.h (+3/-0)
src/server/frontend/protobuf_message_processor.cpp (+11/-10)
src/server/frontend/protobuf_responder.cpp (+10/-6)
src/server/frontend/protobuf_responder.h (+1/-1)
src/server/frontend/socket_connection.cpp (+7/-6)
src/server/scene/global_event_sender.cpp (+3/-0)
src/server/scene/global_event_sender.h (+3/-0)
tests/CMakeLists.txt (+4/-0)
tests/acceptance-tests/server_configuration_options.cpp (+12/-0)
tests/include/mir/test/doubles/mock_client_buffer_stream.h (+3/-0)
tests/include/mir/test/doubles/mock_event_sink.h (+3/-0)
tests/include/mir/test/doubles/null_event_sink.h (+3/-0)
tests/integration-tests/test_exchange_buffer.cpp (+6/-55)
tests/mir_test_framework/symbols-server.map (+4/-0)
tests/unit-tests/client/test_client_buffer_stream.cpp (+14/-8)
tests/unit-tests/compositor/test_buffer_queue.cpp (+490/-32)
tests/unit-tests/test_glib_main_loop.cpp (+5/-5)
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Mir development team: Pending requested
-
Diff: 159 lines (+84/-5) (has conflicts)5 files modifiedCMakeLists.txt (+5/-0)
debian/changelog (+31/-0)
examples/eglapp.c (+14/-0)
src/platforms/android/server/fb_device.cpp (+7/-5)
tests/unit-tests/graphics/android/test_fb_device.cpp (+27/-0)
Changed in mir: | |
importance: | Undecided → Critical |
milestone: | none → 0.15.0 |
Changed in mir: | |
assignee: | nobody → Alexandros Frantzis (afrantzis) |
status: | New → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Some interesting/ peculiar findings:
* The core problem is that, for some reason, the exception object which we throw is not caught by catch(...) clauses! op::enqueue( ) we replace the invocation of the 'action' function object (which contains a throw) with a direct throw, the exception is caught properly.
* Using a non-empty message in std::runtime_error or another exception type (e.g. std::exception), avoids the failures
* If in mir::GLibMainLo