Mir

Several tests failed on mir (trunk)

Bug #1231341 reported by Eleni Maria Stea
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Invalid
Undecided
Eleni Maria Stea

Bug Description

Running acceptance tests repeateadly I got some failures in:

DefaultDisplayServerTestFixture
BespokeDisplayServerTestFixture
ClientPidTestFixture
DisplayLeak
DisplayConfigurationTest
SurfacesWithOutputId
TestClientInput

Reproduce:

$ ./acceptance-tests --repeat=1000 | grep FAIL

[ FAILED ] DefaultDisplayServerTestFixture.client_library_connects_and_disconnects (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.synchronous_connection (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_creates_surface (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surface_types (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_can_set_surface_state (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_receives_surface_state_events (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surface_scanout_flag_toggles (1 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_creates_multiple_surfaces (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_and_advances_buffers (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.fully_synchronous_client (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.highly_threaded_client (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_platform_package (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_display_info (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.connect_errors_handled (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.connect_errors_dont_blow_up (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.ClientLibraryThreadsHandleNoSignals (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.ClientLibraryDoesNotInterfereWithClientSignalHandling (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.MultiSurfaceClientTracksBufferFdsCorrectly (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.creates_surface_of_correct_size (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surfaces_have_distinct_ids (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.creates_multiple_surfaces_async (0 ms)
[ FAILED ] DefaultDisplayServerTestFixture.demonstrate_multiple_clients (1 ms)

[ FAILED ] BespokeDisplayServerTestFixture.sessions_creating_surface_receive_focus (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.surfaces_receive_input_focus_when_created (120000 ms)
[ FAILED ] BespokeDisplayServerTestFixture.server_can_shut_down_when_clients_are_blocked (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.server_releases_resources_on_shutdown_with_connected_clients (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.a_surface_is_notified_of_receiving_focus (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.two_surfaces_are_notified_of_gaining_and_losing_focus (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.the_shell_surface_configurator_is_notified_of_attribute_changes (120001 ms)
[ FAILED ] BespokeDisplayServerTestFixture.the_shell_surface_configurator_may_interfere_with_attribute_changes (120000 ms)
[ FAILED ] BespokeDisplayServerTestFixture.server_announces_itself_on_startup (120001 ms)

[ FAILED ] ClientPidTestFixture.session_authorizer_receives_pid_of_connecting_clients (120001 ms)
[ FAILED ] ClientPidTestFixture.authorizer_may_prevent_connection_of_clients (120001 ms)

[ FAILED ] DisplayLeak.on_exit_display_objects_should_be_destroyed (3 ms)

[ FAILED ] DisplayConfigurationTest.display_configuration_reaches_client (120001 ms)
[ FAILED ] DisplayConfigurationTest.hw_display_change_notification_reaches_all_clients (120001 ms)
[ FAILED ] DisplayConfigurationTest.display_change_request_for_unauthorized_client_fails (120001 ms)
[ FAILED ] DisplayConfigurationTest.changing_config_for_focused_client_configures_display (120001 ms)
[ FAILED ] DisplayConfigurationTest.focusing_client_with_display_config_configures_display (120001 ms)
[ FAILED ] DisplayConfigurationTest.changing_focus_from_client_with_config_to_client_without_config_configures_display (120000 ms)
[ FAILED ] DisplayConfigurationTest.hw_display_change_doesnt_apply_base_config_if_per_session_config_is_active (120002 ms)

[ FAILED ] SurfacesWithOutputId.fullscreen_surfaces_are_placed_at_top_left_of_correct_output (120001 ms)
[ FAILED ] SurfacesWithOutputId.non_fullscreen_surfaces_are_not_accepted (120001 ms)

[ FAILED ] TestClientInput.clients_receive_key_input (120001 ms)
[ FAILED ] TestClientInput.clients_receive_us_english_mapped_keys (120001 ms)
[ FAILED ] TestClientInput.clients_receive_motion_inside_window (120001 ms)
[ FAILED ] TestClientInput.clients_receive_button_events_inside_window (120001 ms)
[ FAILED ] TestClientInput.multiple_clients_receive_motion_inside_windows (120001 ms)
[ FAILED ] TestClientInput.clients_do_not_receive_motion_outside_input_region (120001 ms)
[ FAILED ] TestClientInput.surfaces_obscure_motion_events_by_stacking (120001 ms)
[ FAILED ] TestClientInput.hidden_clients_do_not_receive_pointer_events

51 FAILED TESTS

Changed in mir:
assignee: nobody → Eleni Maria Stea (hikiko)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I don't think a collection like this is a useful bug report - as individual tests are likely to be fixed separately.

However, I can reproduce the ClientPidTestFixture failure, and see a "Broken pipe" error indicating that the server is disconnecting from the socket:

$ MIR_CLIENT_RPC_REPORT=log bin/acceptance-tests --gtest_filter=ClientPidTestFixture.* --gtest_repeat=1000 --gtest_break_on_failure
...
Repeating all tests (iteration 688) . . .

Note: Google Test filter = ClientPidTestFixture.*
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from ClientPidTestFixture
[ RUN ] ClientPidTestFixture.session_authorizer_receives_pid_of_connecting_clients

GMOCK WARNING:
Uninteresting mock function call - returning default value.
    Function call: configure_display_is_allowed(16787)
          Returns: false
Stack trace:
[DD, rpc] Invocation request: id: 0 method_name: connect
[DD, rpc] Invocation succeeded: id: 0 method_name: connect
[DD, rpc] Result received: id: 0
[DD, rpc] Complete response: id: 0
[DD, rpc] Invocation request: id: 1 method_name: disconnect
[DD, rpc] Invocation succeeded: id: 1 method_name: disconnect
[DD, rpc] Result received: id: 1
[DD, rpc] Complete response: id: 1
[ OK ] ClientPidTestFixture.session_authorizer_receives_pid_of_connecting_clients (14 ms)
[ RUN ] ClientPidTestFixture.authorizer_may_prevent_connection_of_clients
[DD, rpc] Invocation request: id: 0 method_name: connect
[EE, rpc] Invocation failed: id: 0 method_name: connect error: Broken pipe
pure virtual method called
terminate called without an active exception
/home/alan/display_server/development-branch/tests/mir_test_framework/testing_process_manager.cpp:127: Failure
Value of: result.succeeded()
  Actual: false
Expected: true
client terminate error=process::Result(child_terminated_by_signal, signal(6), )
Segmentation fault (core dumped)

Revision history for this message
Robert Carr (robertcarr) wrote :

Did 3000 runs can confirm the ClientPidTestFixture test failure (Though not with the same errors as Alan, simply timeout waiting for child to change state).

Did some top level investigation, not sure why it's happening!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think we should close this bug and log one failure at a time. Almost all failures of DefaultDisplayServerTestFixture will be due to previous failures so there might only be one bug here.

Also, there is mention of two existing bugs in this report. See:
Broken pipe: bug 1226139
hidden_clients_do_not_receive_pointer_events: bug 1227683

Please refine this bug to cover a single (or small set of) failure or submit a new bug for each. But when you have a long list of failures against DefaultDisplayServerTestFixture, you should really only consider the first one.

Changed in mir:
status: New → Incomplete
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Individual bugs need to be reported individually.

bug 1231902 covers the ClientPidTestFixture failures

Changed in mir:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.