** Changed in: mir
Status: Fix Committed => Fix Released
--
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/1628794
Title:
Valgrind failure on mir_acceptance_tests - leak on incoming buffer in
Requests::free_buffer(int)
Status in Mir:
Fix Released
Status in mir package in Ubuntu:
Fix Released
Bug description:
Valgrind failure on mir_acceptance_tests - leak in
mir::client::BufferVault::wire_transfer_inbound(int)
It's happened twice now. Yesterday on kdub's branch and today on mine:
05:20:36 9: ==2515== 80 (32 direct, 48 indirect) bytes in 1 blocks are
definitely lost in loss record 20 of 37
05:20:36 9: ==2515== at 0x4C2D1AF: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
05:20:36 9: ==2515== by 0x54C74F2: NewCallback<mir::protobuf::Void *>
(callback.h:412)
05:20:36 9: ==2515== by 0x54C74F2: (anonymous
namespace)::Requests::free_buffer(int) (buffer_stream.cpp:274)
05:20:36 9: ==2515== by 0x54CDB88: free_buffer (buffer_vault.cpp:111)
05:20:36 9: ==2515== by 0x54CDB88:
mir::client::BufferVault::wire_transfer_inbound(int) (buffer_vault.cpp:265)
05:20:36 9: ==2515== by 0x54D11DD: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54D11DD:
mir::client::AtomicCallback<>::operator()() const (atomic_callback.h:56)
05:20:36 9: ==2515== by 0x54E1128:
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)
05:20:36 9: ==2515== by 0x54E2208:
mir::client::rpc::MirProtobufRpcChannel::on_data_available()
(mir_protobuf_rpc_channel.cpp:470)
05:20:36 9: ==2515== by 0x54E68AD:
operator()<std::shared_ptr<mir::client::rpc::StreamTransport::Observer> >
(stream_socket_transport.cpp:40)
05:20:36 9: ==2515== by 0x54E68AD: 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)
05:20:36 9: ==2515== by 0x54E6B7F: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54E6B7F:
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)
05:20:36 9: ==2515== by 0x54E679D: on_data_available
(stream_socket_transport.cpp:40)
05:20:36 9: ==2515== by 0x54E679D:
mir::client::rpc::StreamSocketTransport::dispatch(unsigned int)
(stream_socket_transport.cpp:208)
05:20:36 9: ==2515== by 0x5B700E3:
mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int)
(multiplexing_dispatchable.cpp:210)
05:20:36 9: ==2515== by 0x5B700E3:
mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int)
(multiplexing_dispatchable.cpp:210)
05:20:36 9: ==2515== by 0x5B726B6: (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)
05:20:36 9: ==2515== by 0x5B7684E: 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)
05:20:36 9: ==2515== by 0x695350E: ??? (in
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22)
05:20:36 9: ==2515== by 0x6E3E709: start_thread (pthread_create.c:333)
05:20:36 9: ==2515== by 0x715D0FE: clone (clone.S:105)
05:20:36 9: ==2515==
05:20:36 9: ==2515== 80 (32 direct, 48 indirect) bytes in 1 blocks are
definitely lost in loss record 21 of 37
05:20:36 9: ==2515== at 0x4C2D1AF: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
05:20:36 9: ==2515== by 0x54C7363: NewCallback<mir::protobuf::Void *>
(callback.h:412)
05:20:36 9: ==2515== by 0x54C7363: (anonymous
namespace)::Requests::allocate_buffer(mir::geometry::Size, MirPixelFormat, int)
(buffer_stream.cpp:262)
05:20:36 9: ==2515== by 0x54CDBE8: alloc_buffer (buffer_vault.cpp:106)
05:20:36 9: ==2515== by 0x54CDBE8:
mir::client::BufferVault::wire_transfer_inbound(int) (buffer_vault.cpp:267)
05:20:36 9: ==2515== by 0x54D11DD: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54D11DD:
mir::client::AtomicCallback<>::operator()() const (atomic_callback.h:56)
05:20:36 9: ==2515== by 0x54E1128:
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)
05:20:36 9: ==2515== by 0x54E2208:
mir::client::rpc::MirProtobufRpcChannel::on_data_available()
(mir_protobuf_rpc_channel.cpp:470)
05:20:36 9: ==2515== by 0x54E68AD:
operator()<std::shared_ptr<mir::client::rpc::StreamTransport::Observer> >
(stream_socket_transport.cpp:40)
05:20:36 9: ==2515== by 0x54E68AD: 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)
05:20:36 9: ==2515== by 0x54E6B7F: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54E6B7F:
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)
05:20:36 9: ==2515== by 0x54E679D: on_data_available
(stream_socket_transport.cpp:40)
05:20:36 9: ==2515== by 0x54E679D:
mir::client::rpc::StreamSocketTransport::dispatch(unsigned int)
(stream_socket_transport.cpp:208)
05:20:36 9: ==2515== by 0x5B700E3:
mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int)
(multiplexing_dispatchable.cpp:210)
05:20:36 9: ==2515== by 0x5B700E3:
mir::dispatch::MultiplexingDispatchable::dispatch(unsigned int)
(multiplexing_dispatchable.cpp:210)
05:20:36 9: ==2515== by 0x5B726B6: (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)
05:20:36 9: ==2515== by 0x5B7684E: 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)
05:20:36 9: ==2515== by 0x695350E: ??? (in
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22)
05:20:36 9: ==2515== by 0x6E3E709: start_thread (pthread_create.c:333)
05:20:36 9: ==2515== by 0x715D0FE: clone (clone.S:105)
05:20:36 9: ==2515==
05:20:36 9: ==2515== LEAK SUMMARY:
05:20:36 9: ==2515== definitely lost: 64 bytes in 2 blocks
05:20:36 9: ==2515== indirectly lost: 96 bytes in 2 blocks
05:20:36 9: ==2515== possibly lost: 0 bytes in 0 blocks
05:20:36 9: ==2515== still reachable: 26,125 bytes in 34 blocks
05:20:36 9: ==2515== suppressed: 0 bytes in 0 blocks
05:20:36 9: ==2515== Reachable blocks (those to which a pointer was found)
are not shown.
05:20:36 9: ==2515== To see them, rerun with: --leak-check=full
--show-leak-kinds=all
05:20:36 9: ==2515==
05:20:36 9: ==2515== For counts of detected and suppressed errors, rerun
with: -v
05:20:36 9: ==2515== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0
from 0)
05:20:36 9/32 Test #9: mir_acceptance_tests
..............................***Failed 164.56 sec
https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2341/consoleFull
https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2363/consoleFull
To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1628794/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp