#0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007f08e1a65ebd in __GI___pthread_mutex_lock (mutex=0x2823fd0) at ../nptl/pthread_mutex_lock.c:80
#2 0x00007f08e017e8e3 in __gthread_mutex_lock (__mutex=0x2823fd0)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/x86_64-linux-gnu/c++/6.3.0/bits/gthr-default.h:748
#3 0x00007f08e017eaa5 in std::mutex::lock (this=0x2823fd0)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/std_mutex.h:103
#4 0x00007f08e01a387c in std::unique_lock<std::mutex>::lock (this=0x7ffe8ab8edc8)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/std_mutex.h:267
#5 0x00007f08e019ea44 in std::unique_lock<std::mutex>::unique_lock (this=0x7ffe8ab8edc8, __m=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/std_mutex.h:197
#6 0x00007f08e0211697 in mir::input::DefaultInputDeviceHub::device_changed (this=0x2823fa0, dev=
0x7f08c8014f80) at /home/alan/display_server/mir/src/server/input/default_input_device_hub.cpp:338
#7 0x00007f08e0212820 in mir::input::DefaultInputDeviceHub::add_device(std::shared_ptr<mir::input::InputDevice> const&)::$_1::operator()(mir::input::Device*) const (this=0x7f08c8015068, d=0x7f08c8014f80)
at /home/alan/display_server/mir/src/server/input/default_input_device_hub.cpp:78
#8 0x00007f08e02126d2 in std::_Function_handler<void (mir::input::Device*), mir::input::DefaultInputDeviceHub::add_device(std::shared_ptr<mir::input::InputDevice> const&)::$_1>::_M_invoke(std::_Any_data const&, mir::input::Device*&&) (__functor=...,
__args=<unknown type in cmake-build-debug/bin/../lib/libmirserver.so.44, CU 0x17fea7, DIE 0x1984b4>)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/functional:1731
#9 0x00007f08e020cef8 in std::function<void (mir::input::Device*)>::operator()(mir::input::Device*) const
(this=0x7f08c8015068, __args=0x7f08c8014f80)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/functional:2127
#10 0x00007f08e020b11b in mir::input::DefaultDevice::apply_pointer_configuration (this=0x7f08c8014f80,
conf=...) at /home/alan/display_server/mir/src/server/input/default_device.cpp:136
#11 0x00007f08e091988b in mir::examples::InputDeviceConfig::device_added (this=0x2788a10, device=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<mir::input::DefaultDevice, std::allocator<mir::input::DefaultDevice>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<mir::input::DefaultDevice, std::allocator<mir::input::DefaultDevice>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr (count 3, weak 0) 0x7f08c8014f80)
at /home/alan/display_server/mir/examples/server_example_input_device_config.cpp:187
#12 0x00007f08e0211136 in mir::input::DefaultInputDeviceHub::add_device_handle (this=0x2823fa0, handle=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<mir::input::DefaultDevice, std::allocator<mir::input::DefaultDevice>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<mir::input::DefaultDevice, std::allocator<mir::input::DefaultDevice>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr (count 3, weak 0) 0x7f08c8014f80)
at /home/alan/display_server/mir/src/server/input/default_input_device_hub.cpp:282
****************>>> has lock on std::unique_lock<std::mutex> lock(observer_guard);
#13 0x00007f08e0212b67 in mir::input::DefaultInputDeviceHub::add_device(std::shared_ptr<mir::input::InputDevice> const&)::$_2::operator()() const (this=0x7f08c800fee0)
at /home/alan/display_server/mir/src/server/input/default_input_device_hub.cpp:92
This is the cause...
#0 __lll_lock_wait () at ../sysdeps/ unix/sysv/ linux/x86_ 64/lowlevellock .S:135 pthread_ mutex_lock (mutex=0x2823fd0) at ../nptl/ pthread_ mutex_lock. c:80 mutex_lock (__mutex=0x2823fd0) ../lib/ gcc/x86_ 64-linux- gnu/6.3. 0/../.. /../../ include/ x86_64- linux-gnu/ c++/6.3. 0/bits/ gthr-default. h:748 ../lib/ gcc/x86_ 64-linux- gnu/6.3. 0/../.. /../../ include/ c++/6.3. 0/bits/ std_mutex. h:103 lock<std: :mutex> ::lock (this=0x7ffe8ab 8edc8) ../lib/ gcc/x86_ 64-linux- gnu/6.3. 0/../.. /../../ include/ c++/6.3. 0/bits/ std_mutex. h:267 lock<std: :mutex> ::unique_ lock (this=0x7ffe8ab 8edc8, __m=...) ../lib/ gcc/x86_ 64-linux- gnu/6.3. 0/../.. /../../ include/ c++/6.3. 0/bits/ std_mutex. h:197 :DefaultInputDe viceHub: :device_ changed (this=0x2823fa0, dev= display_ server/ mir/src/ server/ input/default_ input_device_ hub.cpp: 338
#1 0x00007f08e1a65ebd in __GI___
#2 0x00007f08e017e8e3 in __gthread_
at /usr/bin/
#3 0x00007f08e017eaa5 in std::mutex::lock (this=0x2823fd0)
at /usr/bin/
#4 0x00007f08e01a387c in std::unique_
at /usr/bin/
#5 0x00007f08e019ea44 in std::unique_
at /usr/bin/
#6 0x00007f08e0211697 in mir::input:
0x7f08c8014f80) at /home/alan/
****************>>> std::unique_ lock<std: :mutex> lock(observer_ guard);
#7 0x00007f08e0212820 in mir::input: :DefaultInputDe viceHub: :add_device( std::shared_ ptr<mir: :input: :InputDevice> const&) ::$_1:: operator( )(mir:: input:: Device* ) const (this=0x7f08c80 15068, d=0x7f08c8014f80) display_ server/ mir/src/ server/ input/default_ input_device_ hub.cpp: 78 handler< void (mir::input: :Device* ), mir::input: :DefaultInputDe viceHub: :add_device( std::shared_ ptr<mir: :input: :InputDevice> const&) ::$_1>: :_M_invoke( std::_Any_ data const&, mir::input: :Device* &&) (__functor=..., debug/bin/ ../lib/ libmirserver. so.44, CU 0x17fea7, DIE 0x1984b4>) ../lib/ gcc/x86_ 64-linux- gnu/6.3. 0/../.. /../../ include/ c++/6.3. 0/functional: 1731 :Device* )>::operator( )(mir:: input:: Device* ) const 0x7f08c8015068, __args= 0x7f08c8014f80) ../lib/ gcc/x86_ 64-linux- gnu/6.3. 0/../.. /../../ include/ c++/6.3. 0/functional: 2127 :DefaultDevice: :apply_ pointer_ configuration (this=0x7f08c80 14f80, display_ server/ mir/src/ server/ input/default_ device. cpp:136 :InputDeviceCon fig::device_ added (this=0x2788a10, device=warning: RTTI symbol not found for class 'std::_ Sp_counted_ ptr_inplace< mir::input: :DefaultDevice, std::allocator< mir::input: :DefaultDevice> , (__gnu_ cxx::_Lock_ policy) 2>' Sp_counted_ ptr_inplace< mir::input: :DefaultDevice, std::allocator< mir::input: :DefaultDevice> , (__gnu_ cxx::_Lock_ policy) 2>'
at /home/alan/
#8 0x00007f08e02126d2 in std::_Function_
__args=<unknown type in cmake-build-
at /usr/bin/
#9 0x00007f08e020cef8 in std::function<void (mir::input:
(this=
at /usr/bin/
#10 0x00007f08e020b11b in mir::input:
conf=...) at /home/alan/
#11 0x00007f08e091988b in mir::examples:
warning: RTTI symbol not found for class 'std::_
std::shared_ptr (count 3, weak 0) 0x7f08c8014f80) display_ server/ mir/examples/ server_ example_ input_device_ config. cpp:187 :DefaultInputDe viceHub: :add_device_ handle (this=0x2823fa0, handle=warning: RTTI symbol not found for class 'std::_ Sp_counted_ ptr_inplace< mir::input: :DefaultDevice, std::allocator< mir::input: :DefaultDevice> , (__gnu_ cxx::_Lock_ policy) 2>' Sp_counted_ ptr_inplace< mir::input: :DefaultDevice, std::allocator< mir::input: :DefaultDevice> , (__gnu_ cxx::_Lock_ policy) 2>' display_ server/ mir/src/ server/ input/default_ input_device_ hub.cpp: 282
at /home/alan/
#12 0x00007f08e0211136 in mir::input:
warning: RTTI symbol not found for class 'std::_
std::shared_ptr (count 3, weak 0) 0x7f08c8014f80)
at /home/alan/
****************>>> has lock on std::unique_ lock<std: :mutex> lock(observer_ guard);
#13 0x00007f08e0212b67 in mir::input: :DefaultInputDe viceHub: :add_device( std::shared_ ptr<mir: :input: :InputDevice> const&) ::$_2:: operator( )() const (this=0x7f08c80 0fee0) display_ server/ mir/src/ server/ input/default_ input_device_ hub.cpp: 92
at /home/alan/
This