Mir

[testsfail] NestedServerWithTwoDisplays.uses_passthrough_when_surface_size_is_appropriate

Bug #1709666 reported by Alan Griffiths on 2017-08-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alan Griffiths

Bug Description

https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/4888/console

15:13:13 11: [ RUN ] NestedServerWithTwoDisplays.uses_passthrough_when_surface_size_is_appropriate ...
15:13:18 11: ==2589== Thread 6 Mir/Input Reade:
15:13:18 11: ==2589== Invalid read of size 8
15:13:18 11: ==2589== at 0x41FFA8A: std::__shared_ptr<mir_test_framework::FakeInputDeviceImpl::InputDevice, (__gnu_cxx::_Lock_policy)2>::operator->() const (shared_ptr_base.h:1055)
15:13:18 11: ==2589== by 0x41FB664: mir_test_framework::FakeInputDeviceImpl::emit_event(mir::input::synthesis::KeyParameters const&)::{lambda()#1}::operator()() const (fake_input_device_impl.cpp:68)

This looks like a race between the queue draining and deleting mtf::FakeInputDeviceImpl

Related branches

Alan Griffiths (alan-griffiths) wrote :
Changed in mir:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Alan Griffiths (alan-griffiths)
Alan Griffiths (alan-griffiths) wrote :

OK, in NestedMirRunner::wait_until_surface_ready() we send a pair of key-down/key-up events every 10ms until we see *any* event. We then run the test and teardown.

Other tests using FakeInputDevice ensure they have received the last event sent.

AFAICS There's nothing else to ensure the queue is drained.

Mir CI Bot (mir-ci-bot) wrote :

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

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers