intermittent acceptance test bug in TestClientInput
Bug #1388802 reported by
Alan Griffiths
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Alan Griffiths | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
https:/
Start 34: mir_acceptance_
34/246 Test #34: mir_acceptance_
Similar to lp: 1196744 but that was closed a year ago. (So I'm assuming it hasn't been seen all this time and we have a new cause.)
Related branches
lp:~alan-griffiths/mir/fix-1388802-possibly
- PS Jenkins bot (community): Approve (continuous-integration)
- Chris Halse Rogers: Approve
- Alberto Aguirre (community): Approve
-
Diff: 132 lines (+33/-3)1 file modifiedtests/acceptance-tests/test_client_input.cpp (+33/-3)
Changed in mir: | |
importance: | Undecided → High |
Changed in mir: | |
status: | New → In Progress |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
Changed in mir (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in mir (Ubuntu): | |
status: | Triaged → Fix Released |
To post a comment you must log in.
I've spent a while looking at this and found nothing convincing.
Running it locally - under valgrind, on a loaded system, for a long time - doesn't help reproduce.
helgrind reports a number of errors around expectations - but many of these seem to be because the thread fulfilling the expectation is running before the expectation is set. There is sequencing (by only sending events from the server after setting expectations) but streaming data over a socket goes beyond the "memory model" and helgrind doesn't see it.
I've changed the tests to start the client thread after the expectations are set - which more than halves the size of the helgrind report.