Mir

mir server crashes with SIGSEGV in mir::compositor::Buffer if a client exits (sometimes)

Bug #1167163 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Unassigned

Bug Description

Test case:
1. Start mir
2. Start mir_egltriangle
3. Press Ctrl+C on mir_egltriangle to stop it.
4. If it doesn't crash then repeat steps 2-3.

Stack trace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffea994700 (LWP 12624)]
0x000000000041d61e in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
(gdb) bt
#0 0x000000000041d61e in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
#1 0x00007ffff79eae1c in std::__shared_ptr<mir::compositor::Buffer, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#2 0x00007ffff79eae5c in std::shared_ptr<mir::compositor::Buffer>::~shared_ptr() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#3 0x00007ffff79f1045 in void std::_Destroy<std::shared_ptr<mir::compositor::Buffer> >(std::shared_ptr<mir::compositor::Buffer>*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#4 0x00007ffff79f0ac1 in void std::_Destroy_aux<false>::__destroy<std::shared_ptr<mir::compositor::Buffer>*>(std::shared_ptr<mir::compositor::Buffer>*, std::shared_ptr<mir::compositor::Buffer>*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#5 0x00007ffff79f0380 in void std::_Destroy<std::shared_ptr<mir::compositor::Buffer>*>(std::shared_ptr<mir::compositor::Buffer>*, std::shared_ptr<mir::compositor::Buffer>*) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#6 0x00007ffff79ef904 in void std::_Destroy<std::shared_ptr<mir::compositor::Buffer>*, std::shared_ptr<mir::compositor::Buffer> >(std::shared_ptr<mir::compositor::Buffer>*, std::shared_ptr<mir::compositor::Buffer>*, std::allocator<std::shared_ptr<mir::compositor::Buffer> >&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#7 0x00007ffff79f01de in std::deque<std::shared_ptr<mir::compositor::Buffer>, std::allocator<std::shared_ptr<mir::compositor::Buffer> > >::_M_destroy_data_aux(std::_Deque_iterator<std::shared_ptr<mir::compositor::Buffer>, std::shared_ptr<mir::compositor::Buffer>&, std::shared_ptr<mir::compositor::Buffer>*>, std::_Deque_iterator<std::shared_ptr<mir::compositor::Buffer>, std::shared_ptr<mir::compositor::Buffer>&, std::shared_ptr<mir::compositor::Buffer>*>) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#8 0x00007ffff79ef6f3 in std::deque<std::shared_ptr<mir::compositor::Buffer>, std::allocator<std::shared_ptr<mir::compositor::Buffer> > >::_M_destroy_data(std::_Deque_iterator<std::shared_ptr<mir::compositor::Buffer>, std::shared_ptr<mir::compositor::Buffer>&, std::shared_ptr<mir::compositor::Buffer>*>, std::_Deque_iterator<std::shared_ptr<mir::compositor::Buffer>, std::shared_ptr<mir::compositor::Buffer>&, std::shared_ptr<mir::compositor::Buffer>*>, std::allocator<std::shared_ptr<mir::compositor::Buffer> > const&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#9 0x00007ffff79eee93 in std::deque<std::shared_ptr<mir::compositor::Buffer>, std::allocator<std::shared_ptr<mir::compositor::Buffer> > >::~deque() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#10 0x00007ffff79f1436 in mir::compositor::BufferSwapperMulti::~BufferSwapperMulti() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#11 0x00007ffff79f1494 in mir::compositor::BufferSwapperMulti::~BufferSwapperMulti() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#12 0x00007ffff79eb862 in std::default_delete<mir::compositor::BufferSwapper>::operator()(mir::compositor::BufferSwapper*) const ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#13 0x00007ffff79ee141 in std::_Sp_counted_deleter<mir::compositor::BufferSwapper*, std::default_delete<mir::compositor::BufferSwapper>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#14 0x000000000041d6be in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() ()
#15 0x000000000041d635 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
#16 0x00007ffff79eaf2c in std::__shared_ptr<mir::compositor::BufferSwapper, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#17 0x00007ffff79eaf46 in std::shared_ptr<mir::compositor::BufferSwapper>::~shared_ptr() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#18 0x00007ffff79ec5f0 in mir::compositor::BufferBundleSurfaces::~BufferBundleSurfaces() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#19 0x00007ffff79ec320 in void __gnu_cxx::new_allocator<mir::compositor::BufferBundleSurfaces>::destroy<mir::compositor::BufferBundleSurfaces>(mir::compositor::BufferBundleSurfaces*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
---Type <return> to continue, or q <return> to quit---
#20 0x00007ffff79ec2dc in std::enable_if<std::allocator_traits<std::allocator<mir::compositor::BufferBundleSurfaces> >::__destroy_helper<mir::compositor::BufferBundleSurfaces>::value, void>::type std::allocator_traits<std::allocator<mir::compositor::BufferBundleSurfaces> >::_S_destroy<mir::compositor::BufferBundleSurfaces>(std::allocator<mir::compositor::BufferBundleSurfaces>&, mir::compositor::BufferBundleSurfaces*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#21 0x00007ffff79ec292 in void std::allocator_traits<std::allocator<mir::compositor::BufferBundleSurfaces> >::destroy<mir::compositor::BufferBundleSurfaces>(std::allocator<mir::compositor::BufferBundleSurfaces>&, mir::compositor::BufferBundleSurfaces*) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#22 0x00007ffff79ec1d5 in std::_Sp_counted_ptr_inplace<mir::compositor::BufferBundleSurfaces, std::allocator<mir::compositor::BufferBundleSurfaces>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#23 0x000000000041d6be in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() ()
#24 0x000000000041d635 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
#25 0x00007ffff7a2e11a in std::__shared_ptr<mir::surfaces::BufferBundle, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#26 0x00007ffff7a2e15a in std::shared_ptr<mir::surfaces::BufferBundle>::~shared_ptr() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#27 0x00007ffff7a2dc05 in mir::surfaces::Surface::~Surface() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#28 0x00007ffff7a2dcba in mir::surfaces::Surface::~Surface() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#29 0x00007ffff7a31dd6 in std::_Sp_counted_ptr<mir::surfaces::Surface*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#30 0x000000000041d6be in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() ()
#31 0x000000000041d635 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
#32 0x00007ffff7a30134 in std::__shared_ptr<mir::surfaces::Surface, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#33 0x00007ffff7a3016c in std::shared_ptr<mir::surfaces::Surface>::~shared_ptr() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#34 0x00007ffff7a317d2 in void __gnu_cxx::new_allocator<std::shared_ptr<mir::surfaces::Surface> >::destroy<std::shared_ptr<mir::surfaces::Surface> >(std::shared_ptr<mir::surfaces::Surface>*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#35 0x00007ffff7a31524 in std::enable_if<std::allocator_traits<std::allocator<std::shared_ptr<mir::surfaces::Surface> > >::__destroy_helper<std::shared_ptr<mir::surfaces::Surface> >::value, void>::type std::allocator_traits<std::allocator<std::shared_ptr<mir::surfaces::Surface> > >::_S_destroy<std::shared_ptr<mir::surfaces::Surface> >(std::allocator<std::shared_ptr<mir::surfaces::Surface> >&, std::shared_ptr<mir::surfaces::Surface>*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#36 0x00007ffff7a30e93 in void std::allocator_traits<std::allocator<std::shared_ptr<mir::surfaces::Surface> > >::destroy<std::shared_ptr<mir::surfaces::Surface> >(std::allocator<std::shared_ptr<mir::surfaces::Surface> >&, std::shared_ptr<mir::surfaces::Surface>*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#37 0x00007ffff7a30695 in std::vector<std::shared_ptr<mir::surfaces::Surface>, std::allocator<std::shared_ptr<mir::surfaces::Surface> > >::erase(__gnu_cxx::__normal_iterator<std::shared_ptr<mir::surfaces::Surface>*, std::vector<std::shared_ptr<mir::surfaces::Surface>, std::allocator<std::shared_ptr<mir::surfaces::Surface> > > >) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#38 0x00007ffff7a2f953 in mir::surfaces::SurfaceStack::destroy_surface(std::weak_ptr<mir::surfaces::Surface> const&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#39 0x00007ffff7a31fe6 in mir::surfaces::SurfaceController::destroy_surface(std::weak_ptr<mir::surfaces::Surface> const&) ()
---Type <return> to continue, or q <return> to quit---
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#40 0x00007ffff7a5973c in mir::shell::Surface::destroy() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#41 0x00007ffff7a5a5d8 in mir::shell::ApplicationSession::~ApplicationSession()
    () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#42 0x00007ffff7a55d11 in void __gnu_cxx::new_allocator<mir::shell::ApplicationSession>::destroy<mir::shell::ApplicationSession>(mir::shell::ApplicationSession*) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#43 0x00007ffff7a55cc6 in std::enable_if<std::allocator_traits<std::allocator<mir::shell::ApplicationSession> >::__destroy_helper<mir::shell::ApplicationSession>::value, void>::type std::allocator_traits<std::allocator<mir::shell::ApplicationSession> >::_S_destroy<mir::shell::ApplicationSession>(std::allocator<mir::shell::ApplicationSession>&, mir::shell::ApplicationSession*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#44 0x00007ffff7a55c7c in void std::allocator_traits<std::allocator<mir::shell::ApplicationSession> >::destroy<mir::shell::ApplicationSession>(std::allocator<mir::shell::ApplicationSession>&, mir::shell::ApplicationSession*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#45 0x00007ffff7a55bbf in std::_Sp_counted_ptr_inplace<mir::shell::ApplicationSession, std::allocator<mir::shell::ApplicationSession>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#46 0x000000000041d6be in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() ()
#47 0x000000000041d635 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
#48 0x00007ffff79f9b90 in std::__shared_ptr<mir::frontend::Session, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#49 0x00007ffff79fa0b3 in std::__shared_ptr<mir::frontend::Session, (__gnu_cxx::_Lock_policy)2>::reset() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#50 0x00007ffff79f908a in mir::frontend::SessionMediator::disconnect(google::protobuf::RpcController*, mir::protobuf::Void const*, mir::protobuf::Void*, google::protobuf::Closure*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#51 0x00007ffff79febb3 in void mir::frontend::detail::ProtobufMessageProcessor::invoke<mir::protobuf::Void, mir::protobuf::Void>(void (mir::protobuf::DisplayServer::*)(google::protobuf::RpcController*, mir::protobuf::Void const*, mir::protobuf::Void*, google::protobuf::Closure*), mir::protobuf::wire::Invocation const&) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#52 0x00007ffff79fb1e1 in mir::frontend::detail::ProtobufMessageProcessor::dispatch(mir::protobuf::wire::Invocation const&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#53 0x00007ffff79fb3b1 in mir::frontend::detail::ProtobufMessageProcessor::process_message(std::istream&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#54 0x00007ffff7a16ea6 in mir::frontend::detail::SocketSession::on_new_message(boost::system::error_code const&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#55 0x00007ffff7a1a6be in boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>::operator()(mir::frontend::detail::SocketSession*, boost::system::error_code const&) const ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#56 0x00007ffff7a19fd8 in void boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()>::operator()<boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>&, boost::_bi::list2<boost::system::error_code const&, unsigned long const&>&, int) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#57 0x00007ffff7a1977a in void boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&) ()
---Type <return> to continue, or q <return> to quit---
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#58 0x00007ffff7a18ead in boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#59 0x00007ffff7a1bd00 in boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>::operator()() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#60 0x00007ffff7a1bc9c in void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>, ...) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#61 0x00007ffff7a1bae8 in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> >&) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#62 0x00007ffff7a1b913 in void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::front---Type <return> to continue, or q <return> to quit---
end::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >*) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#63 0x00007ffff7a1b797 in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > >&) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#64 0x00007ffff7a1b34b in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, boost::_bi::bind_t<void, boost::_mfi::mf1<void, mir::frontend::detail::SocketSession, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<mir::frontend::detail::SocketSession*>, boost::arg<1> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#65 0x00007ffff79dd952 in boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#66 0x00007ffff79e0028 in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service::thread_info&, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&, boost::system::error_code const&) ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#67 0x00007ffff79dfb25 in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#68 0x00007ffff79e03bd in boost::asio::io_service::run() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#69 0x00007ffff7a14df9 in boost::_mfi::mf0<unsigned long, boost::asio::io_servic---Type <return> to continue, or q <return> to quit---
e>::operator()(boost::asio::io_service*) const ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#70 0x00007ffff7a14c27 in unsigned long boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> >::operator()<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list0>(boost::_bi::type<unsigned long>, boost::_mfi::mf0<unsigned long, boost::asio::io_service>&, boost::_bi::list0&, long) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#71 0x00007ffff7a149cd in boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > >::operator()() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#72 0x00007ffff7a14594 in unsigned long std::_Bind_simple<boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > > ()>::_M_invoke<>(std::_Index_tuple<>) () from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#73 0x00007ffff7a140dd in std::_Bind_simple<boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > > ()>::operator()() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#74 0x00007ffff7a13d58 in std::thread::_Impl<std::_Bind_simple<boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > > ()> >::_M_run() ()
   from /home/dan/bzr/mir/trunk/build/lib/libmirserver.so.0
#75 0x00007ffff72129f0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#76 0x00007ffff746af8e in start_thread (arg=0x7fffea994700)
    at pthread_create.c:311
#77 0x00007ffff6c7be1d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It looks like bug 1167164 might be a root cause. Look at that one first.

Changed in mir:
status: New → Triaged
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

I can't reproduce this any more. Kevin can you please confirm that you don't see this on Android any more? My guess is that the fix to https://bugs.launchpad.net/mir/+bug/1168072 did the trick.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Daniel, can you still reproduce?

Changed in mir:
status: Triaged → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No I can't seem to reproduce this bug any more.

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

Other bug subscribers

Remote bug watches

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