Skip to content

valgrind: Mismatched free / delete and other leaks #1009

@christianrauch

Description

@christianrauch

Bug report

valgrind reports a mismatched delete in rcl_subscription_fini.part.0 (subscription.c:193) and a couple of "definitely lost" leaks. Not sure if this originates in rclcpp pr rclc. See full valgrind log below.

Required Info:

  • Operating System: Ubuntu 22.04
  • Installation type: binaries
  • Version or commit hash: humble
  • DDS implementation: (default)
  • Client library (if applicable): rclcpp 16.0.1 / rcl 5.3.2

Steps to reproduce issue

Run the talker with valgrind:

valgrind --leak-check=full /opt/ros/humble/lib/demo_nodes_cpp/talker

Expected behavior

No issues reported

Actual behavior

==155397== Memcheck, a memory error detector
==155397== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==155397== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==155397== Command: /opt/ros/humble/lib/demo_nodes_cpp/talker
==155397== 
[INFO] [1663107105.091217280] [talker]: Publishing: 'Hello World: 1'
[INFO] [1663107106.073742079] [talker]: Publishing: 'Hello World: 2'
[INFO] [1663107107.074266289] [talker]: Publishing: 'Hello World: 3'
^C[INFO] [1663107107.427783216] [rclcpp]: signal_handler(signum=2)
==155397== Mismatched free() / delete / delete []
==155397==    at 0x484BB6F: operator delete(void*, unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x4F205E5: rcl_subscription_fini.part.0 (subscription.c:193)
==155397==    by 0x49A2624: rclcpp::SubscriptionBase::SubscriptionBase(rclcpp::node_interfaces::NodeBaseInterface*, rosidl_message_type_support_t const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcl_subscription_options_s const&, bool)::{lambda(rcl_subscription_s*)#1}::operator()(rcl_subscription_s*) const (subscription_base.cpp:53)
==155397==    by 0x49A28E4: std::_Sp_counted_deleter<rcl_subscription_s*, rclcpp::SubscriptionBase::SubscriptionBase(rclcpp::node_interfaces::NodeBaseInterface*, rosidl_message_type_support_t const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcl_subscription_options_s const&, bool)::{lambda(rcl_subscription_s*)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:442)
==155397==    by 0x492A079: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:168)
==155397==    by 0x49A3814: rclcpp::SubscriptionBase::~SubscriptionBase() (shared_ptr_base.h:705)
==155397==    by 0x492A079: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:168)
==155397==    by 0x49BCC3B: std::_Sp_counted_ptr_inplace<rclcpp::TimeSource::NodeState, std::allocator<rclcpp::TimeSource::NodeState>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:705)
==155397==    by 0x492A079: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:168)
==155397==    by 0x4970E1F: rclcpp::node_interfaces::NodeTimeSource::~NodeTimeSource() (node_time_source.cpp:53)
==155397==    by 0x49507E9: std::_Sp_counted_ptr<rclcpp::node_interfaces::NodeTimeSource*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (node_time_source.cpp:53)
==155397==    by 0x492A079: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:168)
==155397==  Address 0xafa26c0 is 0 bytes inside a block of size 248 alloc'd
==155397==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x4F280B8: rcl_subscription_init (subscription.c:94)
==155397==    by 0x49A3357: rclcpp::SubscriptionBase::SubscriptionBase(rclcpp::node_interfaces::NodeBaseInterface*, rosidl_message_type_support_t const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcl_subscription_options_s const&, bool) (subscription_base.cpp:67)
==155397==    by 0x49B5F5D: std::_Function_handler<std::shared_ptr<rclcpp::SubscriptionBase> (rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::QoS const&), rclcpp::create_subscription_factory<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, rclcpp::TimeSource::NodeState::attachNode(std::shared_ptr<rclcpp::node_interfaces::NodeBaseInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeServicesInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeLoggingInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeClockInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeParametersInterface>)::{lambda(std::shared_ptr<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> > const>)#1}, std::allocator<void>, rclcpp::Subscription<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, std::allocator<void>, rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, rclcpp::message_memory_strategy::MessageMemoryStrategy<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, std::allocator<void> > >, rclcpp::message_memory_strategy::MessageMemoryStrategy<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, std::allocator<void> >, rcl_interfaces::msg::ParameterEvent_<std::allocator<void> > >(rclcpp::TimeSource::NodeState::attachNode(std::shared_ptr<rclcpp::node_interfaces::NodeBaseInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeServicesInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeLoggingInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeClockInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeParametersInterface>)::{lambda(std::shared_ptr<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> > const>)#1}&&, rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> > const&, rclcpp::message_memory_strategy::MessageMemoryStrategy<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> >, std::allocator<void> >::SharedPtr, std::shared_ptr<rclcpp::topic_statistics::SubscriptionTopicStatistics<rcl_interfaces::msg::ParameterEvent_<std::allocator<void> > > >)::{lambda(rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::QoS const&)#1}>::_M_invoke(std::_Any_data const&, rclcpp::node_interfaces::NodeBaseInterface*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::QoS const&) (subscription.hpp:147)
==155397==    by 0x49AC611: rclcpp::TimeSource::NodeState::attachNode(std::shared_ptr<rclcpp::node_interfaces::NodeBaseInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeServicesInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeLoggingInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeClockInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeParametersInterface>) (std_function.h:590)
==155397==    by 0x49ADD91: rclcpp::TimeSource::attachNode(std::shared_ptr<rclcpp::node_interfaces::NodeBaseInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeServicesInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeLoggingInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeClockInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeParametersInterface>) (time_source.cpp:507)
==155397==    by 0x49710FA: rclcpp::node_interfaces::NodeTimeSource::NodeTimeSource(std::shared_ptr<rclcpp::node_interfaces::NodeBaseInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeServicesInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeLoggingInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeClockInterface>, std::shared_ptr<rclcpp::node_interfaces::NodeParametersInterface>, rclcpp::QoS const&, bool) (node_time_source.cpp:41)
==155397==    by 0x4956D69: rclcpp::Node::Node(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::NodeOptions const&) (node.cpp:207)
==155397==    by 0x49573A7: rclcpp::Node::Node(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::NodeOptions const&) (node.cpp:115)
==155397==    by 0x6BF0A1F: ??? (in /opt/ros/humble/lib/libtopics_library.so)
==155397==    by 0x10C970: ??? (in /opt/ros/humble/lib/demo_nodes_cpp/talker)
==155397==    by 0x4CFCD8F: (below main) (libc_start_call_main.h:58)
==155397== 
==155397== 
==155397== HEAP SUMMARY:
==155397==     in use at exit: 47,659 bytes in 211 blocks
==155397==   total heap usage: 22,772 allocs, 22,561 frees, 5,334,089 bytes allocated
==155397== 
==155397== 132 (64 direct, 68 indirect) bytes in 1 blocks are definitely lost in loss record 91 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x50C2A23: ??? (in /opt/ros/humble/lib/librosidl_typesupport_cpp.so)
==155397==    by 0x55C9A9D: ??? (in /opt/ros/humble/lib/librmw_fastrtps_cpp.so)
==155397==    by 0x55C1CBB: rmw_create_publisher (in /opt/ros/humble/lib/librmw_fastrtps_cpp.so)
==155397==    by 0x4F258F2: rcl_publisher_init (publisher.c:110)
==155397==    by 0x499CDED: rclcpp::PublisherBase::PublisherBase(rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rosidl_message_type_support_t const&, rcl_publisher_options_s const&) (publisher_base.cpp:70)
==155397==    by 0x6BF221B: ???
==155397==    by 0x6BF2840: ???
==155397==    by 0x4969E4B: rclcpp::node_interfaces::NodeTopics::create_publisher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::PublisherFactory const&, rclcpp::QoS const&) (std_function.h:590)
==155397==    by 0x6BF06AB: ???
==155397==    by 0x6BF0920: ???
==155397==    by 0x6BF0C8B: ???
==155397== 
==155397== 137 (64 direct, 73 indirect) bytes in 1 blocks are definitely lost in loss record 92 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x50C2A23: ??? (in /opt/ros/humble/lib/librosidl_typesupport_cpp.so)
==155397==    by 0x5624304: ??? (in /opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so)
==155397==    by 0x562CE06: rmw_fastrtps_shared_cpp::register_type_object(rosidl_message_type_support_t const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so)
==155397==    by 0x55C94B9: ??? (in /opt/ros/humble/lib/librmw_fastrtps_cpp.so)
==155397==    by 0x55C1CBB: rmw_create_publisher (in /opt/ros/humble/lib/librmw_fastrtps_cpp.so)
==155397==    by 0x4F258F2: rcl_publisher_init (publisher.c:110)
==155397==    by 0x499CDED: rclcpp::PublisherBase::PublisherBase(rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rosidl_message_type_support_t const&, rcl_publisher_options_s const&) (publisher_base.cpp:70)
==155397==    by 0x6BF221B: ???
==155397==    by 0x6BF2840: ???
==155397==    by 0x4969E4B: rclcpp::node_interfaces::NodeTopics::create_publisher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::PublisherFactory const&, rclcpp::QoS const&) (std_function.h:590)
==155397==    by 0x6BF06AB: ???
==155397== 
==155397== 336 (16 direct, 320 indirect) bytes in 1 blocks are definitely lost in loss record 107 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BD0658: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 338 (16 direct, 322 indirect) bytes in 1 blocks are definitely lost in loss record 108 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BD0153: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 349 (16 direct, 333 indirect) bytes in 1 blocks are definitely lost in loss record 109 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BD04AC: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 353 (16 direct, 337 indirect) bytes in 1 blocks are definitely lost in loss record 110 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BD02FF: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 355 (16 direct, 339 indirect) bytes in 1 blocks are definitely lost in loss record 111 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BCFFA8: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 355 (16 direct, 339 indirect) bytes in 1 blocks are definitely lost in loss record 112 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BD09AE: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 356 (16 direct, 340 indirect) bytes in 1 blocks are definitely lost in loss record 113 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BD0803: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== 513 (16 direct, 497 indirect) bytes in 1 blocks are definitely lost in loss record 115 of 123
==155397==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==155397==    by 0x6BCFDFD: ???
==155397==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==155397==    by 0x4006567: call_init (dl-init.c:33)
==155397==    by 0x4006567: _dl_init (dl-init.c:117)
==155397==    by 0x4E47C84: _dl_catch_exception (dl-error-skeleton.c:182)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==155397==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x400E34D: _dl_open (dl-open.c:883)
==155397==    by 0x4D636BB: dlopen_doit (dlopen.c:56)
==155397==    by 0x4E47C27: _dl_catch_exception (dl-error-skeleton.c:208)
==155397==    by 0x4E47CF2: _dl_catch_error (dl-error-skeleton.c:227)
==155397==    by 0x4D631AD: _dlerror_run (dlerror.c:138)
==155397== 
==155397== LEAK SUMMARY:
==155397==    definitely lost: 256 bytes in 10 blocks
==155397==    indirectly lost: 2,968 bytes in 52 blocks
==155397==      possibly lost: 0 bytes in 0 blocks
==155397==    still reachable: 44,435 bytes in 149 blocks
==155397==         suppressed: 0 bytes in 0 blocks
==155397== Reachable blocks (those to which a pointer was found) are not shown.
==155397== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==155397== 
==155397== For lists of detected and suppressed errors, rerun with: -s
==155397== ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)

Additional information

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions