I managed to hang the server by doing a resize of a surface whose application closed. Here's the backtrace:
(gdb) bt
#0 0xb6371d22 in poll () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb41817c4 in unsigned int boost::asio::write<boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t>(boost::asio::basic_stream_socket<boost::asio::local::stream_protocol, boost::asio::stream_socket_service<boost::asio::local::stream_protocol> >&, boost::asio::mutable_buffers_1 const&, boost::asio::detail::transfer_all_t, boost::system::error_code&) ()
from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
#2 0xb4180a46 in mir::frontend::detail::SocketMessenger::send(char const*, unsigned int, std::initializer_list<std::vector<int, std::allocator<int> > > const&) ()
from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
#3 0xb4181e20 in mir::frontend::detail::EventSender::send_event_sequence(mir::protobuf::EventSequence&) () from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
#4 0xb4181f2a in mir::frontend::detail::EventSender::handle_event(MirEvent const&) () from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
#5 0xb41ab3c2 in mir::scene::SurfaceEventSource::resized_to(mir::geometry::Size const&) () from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
#6 0xb419c0b4 in mir::scene::SurfaceObservers::resized_to(mir::geometry::Size const&) () from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
#7 0xb419cf76 in mir::scene::BasicSurface::resize(mir::geometry::Size const&) () from /usr/lib/arm-linux-gnueabihf/libmirserver.so.20
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
is this a dup /bugs.launchpad .net/mir/ +bug/1350207
https:/