touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #111047
[Bug 1506358] Re: libmirclient gives up and exits prematurely with "std::exception::what: disconnected: no new buffers" via ExchangeSemantics::submit()
It appears the problem happens when the cursor is right on the corner of
the window during rapid resize. Sometimes it escapes/enters the window
during this time, which causes Xmir to innocently
mir_buffer_stream_release_sync() the cursor, and the libmirclient dies:
==8162== Process terminating with default action of signal 6 (SIGABRT)
==8162== at 0x6F7C267: raise (raise.c:55)
==8162== by 0x6F7DEC9: abort (abort.c:89)
==8162== by 0x7F20B7C: __gnu_cxx::__verbose_terminate_handler() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==8162== by 0x7F1E9C5: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==8162== by 0x7F1EA10: std::terminate() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==8162== by 0x7F1EC78: __cxa_rethrow (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==8162== by 0x531D26D: mir::client::rpc::MirProtobufRpcChannel::send_message(mir::protobuf::wire::Invocation const&, mir::protobuf::wire::Invocation const&, std::vector<mir::Fd, std::allocator<mir::Fd> >&) (mir_protobuf_rpc_channel.cpp:238)
==8162== by 0x531CFB8: mir::client::rpc::MirProtobufRpcChannel::call_method(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::MessageLite const*, google::protobuf::MessageLite*, google::protobuf::Closure*) (mir_protobuf_rpc_channel.cpp:210)
==8162== by 0x531B459: mir::client::rpc::DisplayServer::release_buffer_stream(mir::protobuf::BufferStreamId const*, mir::protobuf::Void*, google::protobuf::Closure*) (mir_display_server.cpp:127)
==8162== by 0x52A04B3: MirConnection::release_buffer_stream(mir::client::ClientBufferStream*, void (*)(MirBufferStream*, void*), void*) (mir_connection.cpp:655)
==8162== by 0x52F295C: mir::client::BufferStream::release(void (*)(MirBufferStream*, void*), void*) (buffer_stream.cpp:630)
==8162== by 0x53003E3: mir_buffer_stream_release (mir_buffer_stream_api.cpp:91)
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1506358
Title:
libmirclient gives up and exits prematurely with
"std::exception::what: disconnected: no new buffers" via
ExchangeSemantics::submit()
Status in Mir:
New
Status in mir package in Ubuntu:
New
Status in xorg-server package in Ubuntu:
New
Bug description:
Under heavy resizing (stress testing under Valgrind), my Mir client
(Xmir) crashed with:
[1444895332.392862] <ERROR> MirBufferStreamAPI: Caught exception at client library boundary (in mir_buffer_stream_swap_buffers): /build/mir-7io2Aj/mir-0.16.0+15.10.20150921.1/src/client/buffer_stream.cpp(169): Throw in function virtual MirWaitHandle* {anonymous}::ExchangeSemantics::submit(const std::function<void()>&, mir::geometry::Size, MirPixelFormat, int)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: disconnected: no new buffers
The strange thing is it's only the client that died. The server
survived and I can connect new clients to it.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1506358/+subscriptions