Mir

Activity log for bug #1408168

Date Who What changed Old value New value Message
2015-01-07 00:42:15 Robert Carr bug added bug
2015-01-07 03:47:46 Daniel van Vugt mir: milestone 0.10.0
2015-01-07 03:48:07 Daniel van Vugt mir: importance Undecided Medium
2015-01-07 03:48:07 Daniel van Vugt mir: status New In Progress
2015-01-07 03:48:07 Daniel van Vugt mir: assignee Robert Carr (robertcarr)
2015-01-07 03:49:30 Daniel van Vugt branch linked lp:~mir-team/mir/fix-1407883
2015-01-07 06:09:20 Daniel van Vugt mir: status In Progress Triaged
2015-01-07 06:09:28 Daniel van Vugt branch unlinked lp:~mir-team/mir/fix-1407883
2015-01-07 06:11:01 Daniel van Vugt mir: milestone 0.10.0
2015-01-07 06:11:07 Daniel van Vugt mir: assignee Robert Carr (robertcarr)
2015-01-07 06:11:30 Daniel van Vugt description Consider the following scenario as I saw investigating: https://bugs.launchpad.net/mir/+bug/1407783 1. Two surfaces on top of eachother 2. Send an event to first surface, wait for received signal. 3. Hide first surface 4. Send an event to second surface It turns out the second surface will not always receive the event! I found the root: ms::SurfaceStack::for_each is filtering by occlusion. So of course, if the second event is synthesized before the compositor feedback occludes the second surface the surface will not be presented to the input stack and the event will be dropped. This behavior is unfortunately required by: https://bugs.launchpad.net/bugs/1359264 So in order to address CI failures I have added extra synchronization in the test (referenced in 1407783) however, this remains a race which could appear in real scenarios (albeit somewhat marginal scenarios). Consider the following scenario as I saw investigating: https://bugs.launchpad.net/mir/+bug/1407783 1. Two surfaces on top of eachother 2. Send an event to first surface, wait for received signal. 3. Hide first surface 4. Send an event to second surface It turns out the second surface will not always receive the event! I found the root: ms::SurfaceStack::for_each is filtering by occlusion. So of course, if the second event is synthesized before the compositor feedback occludes the second surface the surface will not be presented to the input stack and the event will be dropped. This behavior is unfortunately required by: https://bugs.launchpad.net/bugs/1359264 So in order to address CI failures I have added extra synchronization in the test (referenced in bug 1407783) however, this remains a race which could appear in real scenarios (albeit somewhat marginal scenarios).
2017-11-03 16:24:32 Michał Sawicz mir (Ubuntu): importance Undecided Medium
2017-11-03 16:24:32 Michał Sawicz mir (Ubuntu): status New Triaged