Mir

[testsfail] memory complaint from client process during acceptance test shutdown in CI

Bug #1640151 reported by Kevin DuBois
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
New
Medium
Unassigned

Bug Description

https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2763/consoleFull

20:45:35 9: ==26792== in use at exit: 26,493 bytes in 42 blocks
20:45:35 9: ==26792== total heap usage: 2,789,829 allocs, 2,789,787 frees, 868,006,426 bytes allocated
20:45:35 9: ==26792==
20:45:35 9: ==26792== 160 (64 direct, 96 indirect) bytes in 2 blocks are definitely lost in loss record 26 of 37
20:45:35 9: ==26792== at 0x4C2D1AF: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
20:45:35 9: ==26792== by 0x546959B: google::protobuf::Closure* google::protobuf::NewCallback<mir::protobuf::Void*>(void (*)(mir::protobuf::Void*), mir::protobuf::Void*) (callback.h:412)
20:45:35 9: ==26792== by 0x5465C38: (anonymous namespace)::Requests::free_buffer(int) (buffer_stream.cpp:90)
20:45:35 9: ==26792== by 0x546EA32: mir::client::BufferVault::free_buffer(int) (buffer_vault.cpp:111)
20:45:35 9: ==26792== by 0x546FD48: mir::client::BufferVault::wire_transfer_inbound(int) (buffer_vault.cpp:265)
20:45:35 9: ==26792== by 0x546EA7A: (anonymous namespace)::incoming_buffer(MirBuffer*, void*) (buffer_vault.cpp:54)
20:45:35 9: ==26792== by 0x547B6BF: mir::client::Buffer::Buffer(void (*)(MirBuffer*, void*), void*, int, std::shared_ptr<mir::client::ClientBuffer> const&, MirConnection*, MirBufferUsage)::$_0::operator()() const (buffer.cpp:33)
20:45:35 9: ==26792== by 0x547B51C: std::_Function_handler<void (), mir::client::Buffer::Buffer(void (*)(MirBuffer*, void*), void*, int, std::shared_ptr<mir::client::ClientBuffer> const&, MirConnection*, MirBufferUsage)::$_0>::_M_invoke(std::_Any_data const&) (functional:1740)
20:45:35 9: ==26792== by 0x53B831D: std::function<void ()>::operator()() const (functional:2136)
20:45:35 9: ==26792== by 0x547BC5C: mir::client::AtomicCallback<>::operator()() const (atomic_callback.h:56)
20:45:35 9: ==26792== by 0x547ACDE: mir::client::Buffer::received(MirBufferPackage const&) (buffer.cpp:77)
20:45:35 9: ==26792== by 0x54AEB85: 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:341)
20:45:35 9: ==26792== by 0x54B012F: mir::client::rpc::MirProtobufRpcChannel::on_data_available() (mir_protobuf_rpc_channel.cpp:470)
20:45:35 9: ==26792== by 0x54BDB8C: _ZZN3mir6client3rpc18TransportObservers17on_data_availableEvENK3$_0clISt10shared_ptrINS1_15StreamTransport8ObserverEEEEvT_ (stream_socket_transport.cpp:40)
20:45:35 9: ==26792== by 0x54BDA12: std::_Function_handler<void (std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&), mir::client::rpc::TransportObservers::on_data_available()::$_0>::_M_invoke(std::_Any_data const&, std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&) (functional:1740)
20:45:35 9: ==26792== by 0x54BF397: std::function<void (std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&)>::operator()(std::shared_ptr<mir::client::rpc::StreamTransport::Observer> const&) const (functional:2136)
20:45:35 9: ==26792== by 0x54BE00F: 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)
20:45:35 9: ==26792== by 0x54BC4BD: mir::client::rpc::TransportObservers::on_data_available() (stream_socket_transport.cpp:40)
20:45:35 9: ==26792== by 0x54BD7C0: mir::client::rpc::StreamSocketTransport::dispatch(unsigned int) (stream_socket_transport.cpp:208)
20:45:35 9: ==26792== by 0x4114AB8: mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int) (multiplexing_dispatchable.cpp:140)
20:45:35 9: ==26792== by 0x54B0841: mir::client::rpc::MirProtobufRpcChannel::dispatch(unsigned int) (mir_protobuf_rpc_channel.cpp:528)
20:45:35 9: ==26792== by 0x4114AB8: mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int) (multiplexing_dispatchable.cpp:140)
20:45:35 9: ==26792== by 0x4118B96: (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)
20:45:35 9: ==26792== by 0x4124620: 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<0ul, 1ul, 2ul, 3ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) (functional:1399)
20:45:35 9: ==26792== by 0x4124564: 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:1389)
20:45:35 9: ==26792== by 0x4123CF8: std::thread::_State_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:196)
20:45:35 9: ==26792== by 0x611E50E: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22)
20:45:35 9: ==26792== by 0x6609709: start_thread (pthread_create.c:333)
20:45:35 9: ==26792== by 0x69280AE: clone (clone.S:105)
20:45:35 9: ==26792==
20:45:35 9: ==26792== 160 (64 direct, 96 indirect) bytes in 2 blocks are definitely lost in loss record 27 of 37

Kevin DuBois (kdub)
Changed in mir:
milestone: none → 0.26.0
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Duplicate of bug 1628794

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.