Mir

[FAILED] Process.(*success*|a_main_fn_is_executed)

Bug #1573293 reported by Chris Halse Rogers
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Expired
High
Unassigned

Bug Description

Seen on https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/919/consoleFull

Seems to be a leak in NBS RPC:
08:30:43 ==23077== 900 (240 direct, 660 indirect) bytes in 15 blocks are definitely lost in loss record 264 of 271
08:30:43 ==23077== at 0x402D6BC: operator new(unsigned int) (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
08:30:43 ==23077== by 0x9204F6B: google::protobuf::Closure* google::protobuf::NewCallback<mir::protobuf::Void*>(void (*)(mir::protobuf::Void*), mir::protobuf::Void*) (common.h:1030)
08:30:43 ==23077== by 0x91FEBEC: (anonymous namespace)::Requests::free_buffer(int) (buffer_stream.cpp:252)
08:30:43 ==23077== by 0x91B65C2: mir::client::BufferVault::free_buffer(int) (buffer_vault.cpp:95)
08:30:43 ==23077== by 0x91B65EB: mir::client::BufferVault::realloc_buffer(int, mir::geometry::Size, MirPixelFormat, int) (buffer_vault.cpp:100)
08:30:43 ==23077== by 0x91B7016: mir::client::BufferVault::wire_transfer_inbound(mir::protobuf::Buffer const&) (buffer_vault.cpp:178)
08:30:43 ==23077== by 0x91FEF0C: (anonymous namespace)::NewBufferSemantics::deposit(mir::protobuf::Buffer const&, mir::geometry::Size, MirPixelFormat) (buffer_stream.cpp:294)
08:30:43 ==23077== by 0x9200D02: mir::client::BufferStream::process_buffer(mir::protobuf::Buffer const&, std::unique_lock<std::mutex>&) (buffer_stream.cpp:550)
08:30:43 ==23077== by 0x9201CD1: mir::client::BufferStream::buffer_available(mir::protobuf::Buffer const&) (buffer_stream.cpp:709)
08:30:43 ==23077== by 0x921A9CE: mir::client::rpc::MirProtobufRpcChannel::process_event_sequence(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(mir::client::BufferReceiver*)#1}::operator()(mir::client::BufferReceiver*) const (mir_protobuf_rpc_channel.cpp:309)
08:30:43 ==23077== by 0x921C889: std::_Function_handler<void (mir::client::BufferReceiver*), mir::client::rpc::MirProtobufRpcChannel::process_event_sequence(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(mir::client::BufferReceiver*)#1}>::_M_invoke(std::_Any_data const&, mir::client::BufferReceiver*&&) (functional:1871)
08:30:43 ==23077== by 0x91AA2D8: std::function<void (mir::client::BufferReceiver*)>::operator()(mir::client::BufferReceiver*) const (functional:2267)
08:30:43 ==23077== by 0x91A9518: mir::client::ConnectionSurfaceMap::with_stream_do(mir::IntWrapper<mir::frontend::detail::SessionsBufferStreamIdTag, int>, std::function<void (mir::client::BufferReceiver*)> const&) const (surface_map.cpp:67)
08:30:43 ==23077== by 0x921AFAD: mir::client::rpc::MirProtobufRpcChannel::process_event_sequence(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (mir_protobuf_rpc_channel.cpp:310)
08:30:43 ==23077== by 0x921BD1B: mir::client::rpc::MirProtobufRpcChannel::on_data_available() (mir_protobuf_rpc_channel.cpp:425)
08:30:43 ==23077== by 0x92153DE: _ZZN3mir6client3rpc18TransportObservers17on_data_availableEvENKUlT_E_clISt10shared_ptrINS1_15StreamTransport8ObserverEEEEDaS3_ (stream_socket_transport.cpp:40)
08:30:43 ==23077== by 0x921646F: _ZNSt17_Function_handlerIFvRKSt10shared_ptrIN3mir6client3rpc15StreamTransport8ObserverEEEZNS3_18TransportObservers17on_data_availableEvEUlT_E_E9_M_invokeERKSt9_Any_dataS8_ (functional:1871)
08:30:43 ==23077== by 0x92173A7: std::function<void (std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&)>::operator()(std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&) const (functional:2267)
08:30:43 ==23077== by 0x9216DB2: mir::ThreadSafeList<std::shared_ptr<mir::client::rpc::StreamTransport::Observer> >::for_each(std::function<void (std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&)> const&) (thread_safe_list.h:80)
08:30:43 ==23077== by 0x921542E: mir::client::rpc::TransportObservers::on_data_available() (stream_socket_transport.cpp:40)
08:30:43 ==23077== by 0x9215FCC: mir::client::rpc::StreamSocketTransport::dispatch(unsigned int) (stream_socket_transport.cpp:208)
08:30:43 ==23077== by 0x8E7157A: mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int) (multiplexing_dispatchable.cpp:210)
08:30:43 ==23077== by 0x921C185: mir::client::rpc::MirProtobufRpcChannel::dispatch(unsigned int) (mir_protobuf_rpc_channel.cpp:483)
08:30:43 ==23077== by 0x8E7157A: mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int) (multiplexing_dispatchable.cpp:210)
08:30:43 ==23077== by 0x8E74636: (anonymous namespace)::dispatch_loop(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&) (threaded_dispatcher.cpp:211)
08:30:43 ==23077== by 0x8E7F6C3: void std::_Bind_simple<void (*(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()>))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&)>::_M_invoke<0u, 1u, 2u, 3u>(std::_Index_tuple<0u, 1u, 2u, 3u>) (functional:1531)
08:30:43 ==23077== by 0x8E7F236: std::_Bind_simple<void (*(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()>))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&)>::operator()() (functional:1520)
08:30:43 ==23077== by 0x8E7EE2B: std::thread::_Impl<std::_Bind_simple<void (*(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()>))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&)> >::_M_run() (thread:115)
08:30:43 ==23077== by 0x44595DD: ??? (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21)
08:30:43 ==23077== by 0x45AC2B4: start_thread (pthread_create.c:333)
08:30:43 ==23077== by 0x46AA16D: clone (clone.S:114)

Tags: testsfail
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in mir:
importance: Undecided → High
milestone: none → 0.23.0
status: New → Confirmed
Kevin DuBois (kdub)
Changed in mir:
milestone: 0.23.0 → 0.24.0
Changed in mir:
milestone: 0.24.0 → none
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Did this get fixed? It's been fine for over 4 months apparently.

Changed in mir:
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mir because there has been no activity for 60 days.]

Changed in mir:
status: Incomplete → Expired
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.