Mir

intermittent acceptance test bug in TestClientInput

Bug #1196744 reported by Kevin DuBois
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
kevin gunn

Bug Description

bit of a heisenbug, but with current lp:mir, running the TestClientInput.* suite fails jenkins from time to time.

I've poked around this a bit (it happens much more on some of my refactorings of ms/msh) and it appears that the test suite waits in the server side to see the surface, then sends the simulated input.
The client must create a surface and then set a callback for input events, and (I think) in the time between surface creation and input callback registration, the server sometimes sends the input (which is lost because the callback hasn't been registered yet)

Related branches

Revision history for this message
Kevin DuBois (kdub) wrote :

its a bit of a heisenbug on my desktop, not on my nexus 4! very repeatable with
./acceptance-tests --gtest_filter="TestClientInput.*" --gtest_repeat=100

Robert Carr (robertcarr)
Changed in mir:
assignee: nobody → Robert Carr (robertcarr)
Revision history for this message
Robert Carr (robertcarr) wrote :

I believe this to be fixed in the client-focus-notifications branch.

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

> I believe this to be fixed in the client-focus-notifications branch.

I don't - an equivalent fix was applied in -r 847 (because client-focus-notifications wasn't ready to land).

Revision history for this message
Kevin DuBois (kdub) wrote :

I still see this in rev856 in the form of a hang, with a timeout failure after a minute in "TestClientInput.clients_receive_key_input"

Repeating all tests (iteration 3) . . .

Note: Google Test filter = TestClientInput.*
[==========] Running 7 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 7 tests from TestClientInput
[ RUN ] TestClientInput.clients_receive_key_input
__pthread_gettid -2
/home/kdub/source/mir/fix-1200782/tests/acceptance-tests/test_client_input.cpp:319: Failure
Actual function call count doesn't match EXPECT_CALL(*handler, handle_input(KeyDownEvent()))...
         Expected: to be called once
           Actual: never called - unsatisfied and active
Google Test trace:
/home/kdub/source/mir/fix-1200782/tests/mir_test_framework/testing_process_manager.cpp:110: Client
/home/kdub/source/mir/fix-1200782/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_normally, failure(1))
[ FAILED ] TestClientInput.clients_receive_key_input (60211 ms)

Revision history for this message
Kevin DuBois (kdub) wrote :
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

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

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :
Changed in mir:
status: Fix Committed → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.0.10+13.10.20130827.1-0ubuntu1

---------------
mir (0.0.10+13.10.20130827.1-0ubuntu1) saucy; urgency=low

  [ Alan Griffiths ]
  * ipc: add a protocol version to the wire protocol so that we can bump
    it in future.
  * graphics::nested: Handling of output configuration changes.
  * graphics.nested: Hookup NestedDisplay to display change
    notifications.

  [ Daniel van Vugt ]
  * Introducing mir_demo_client_progressbar. It's pretty boring;
    designed to simulate key repeat scrolling in a terminal, as an aid
    for tracking down bug 1216472. . (LP: #1216472)

  [ Eleni Maria Stea ]
  * changed the GBMBufferAllocator constructor and class to use the
    gbm_device instead of the GBMPlatform to remove the dependency from
    the mg::Platform interface - this way we can use the
    GBMBufferAllocator with the NativeGBMPlatform (nested mir).

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 1025
 -- Ubuntu daily release <email address hidden> Tue, 27 Aug 2013 18:04:47 +0000

Changed in mir (Ubuntu):
status: New → Fix Released
Changed in mir:
status: Confirmed → Fix Released
Revision history for this message
kevin gunn (kgunn72) wrote :
Changed in mir:
status: Fix Released → Confirmed
Changed in mir (Ubuntu):
status: Fix Released → Confirmed
no longer affects: mir (Ubuntu)
Revision history for this message
kevin gunn (kgunn72) wrote :

calling this fixed, took a dedicated host along with a fence fix
https://code.launchpad.net/~kgunn72/mir/change-test-timeout-and-fix-fence

Changed in mir:
status: Confirmed → Fix Released
Changed in mir:
assignee: Robert Carr (robertcarr) → kevin gunn (kgunn72)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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