Skip to content

StaticExecutorEntitiesCollector not destoryed because of member dependency #1302

@iuhilnehc-ynos

Description

@iuhilnehc-ynos

Bug report

Required Info:

  • Operating System:
    • Ubuntu 20.04
  • Installation type:
    • source
  • Version or commit hash:
  • DDS implementation:
    • rmw_fastrtps_cpp
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug --packages-up-to rclcpp
$ . install/setup.bash
$ valgrind --leak-check=full ./build/rclcpp/test/test_executors

Expected behavior

No memory leak

Actual behavior

memory leak log

==1611988== HEAP SUMMARY:
==1611988==     in use at exit: 5,979,021 bytes in 17,504 blocks
==1611988==   total heap usage: 220,201 allocs, 202,697 frees, 85,346,396 bytes allocated
==1611988== 
==1611988== Thread 1:
==1611988== 2 bytes in 1 blocks are possibly lost in loss record 1 of 900
==1611988==    at 0x483D7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x50B2F46: __default_allocate (allocator.c:37)
==1611988==    by 0x50BCB73: rcutils_strndup (strdup.c:48)
==1611988==    by 0x50BCB05: rcutils_strdup (strdup.c:37)
==1611988==    by 0x5F55B94: rmw_fastrtps_shared_cpp::rmw_init_options_copy(char const*, rmw_init_options_t const*, rmw_init_options_t*) (rmw_init.cpp:74)
==1611988==    by 0x5E86678: rmw_init_options_copy (rmw_init.cpp:60)
==1611988==    by 0x553F144: rmw_init_options_copy (functions.cpp:163)
==1611988==    by 0x5E86C2F: rmw_init (rmw_init.cpp:114)
==1611988==    by 0x554151B: rmw_init (functions.cpp:670)
==1611988==    by 0x50697A8: rcl_init (init.c:214)
==1611988==    by 0x4D9B3E8: rclcpp::Context::init(int, char const* const*, rclcpp::InitOptions const&) (context.cpp:204)
==1611988==    by 0x4F1D3D7: rclcpp::init(int, char const* const*, rclcpp::InitOptions const&) (utilities.cpp:34)
==1611988== 
==1611988== 2 bytes in 1 blocks are possibly lost in loss record 2 of 900
==1611988==    at 0x483D7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x50B2F46: __default_allocate (allocator.c:37)
==1611988==    by 0x50BCB73: rcutils_strndup (strdup.c:48)
==1611988==    by 0x50BCB05: rcutils_strdup (strdup.c:37)
==1611988==    by 0x50695BA: rcl_init (init.c:172)
==1611988==    by 0x4D9B3E8: rclcpp::Context::init(int, char const* const*, rclcpp::InitOptions const&) (context.cpp:204)
==1611988==    by 0x4F1D3D7: rclcpp::init(int, char const* const*, rclcpp::InitOptions const&) (utilities.cpp:34)
==1611988==    by 0x1C61C9: TestExecutors<rclcpp::executors::StaticSingleThreadedExecutor>::SetUpTestCase() (test_executors.cpp:46)
==1611988==    by 0x2767B9: testing::TestCase::RunSetUpTestCase() (gtest.h:936)
==1611988==    by 0x285D5E: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2447)
==1611988==    by 0x27EB54: void testing::internal::HandleExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2483)
==1611988==    by 0x25BA2A: testing::TestCase::Run() (gtest.cc:2820)
==1611988== 
==1611988== 24 bytes in 1 blocks are possibly lost in loss record 187 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x5F39FAB: __create_participant(char const*, eprosima::fastrtps::ParticipantAttributes, bool, rmw_dds_common::Context*) (participant.cpp:119)
==1611988==    by 0x5F3AD2C: rmw_fastrtps_shared_cpp::create_participant(char const*, unsigned long, rmw_security_options_t const*, bool, char const*, rmw_dds_common::Context*) (participant.cpp:254)
==1611988==    by 0x5E6E532: init_context_impl(rmw_context_t*) (init_rmw_context_impl.cpp:74)
==1611988==    by 0x5E6EC6F: rmw_fastrtps_cpp::increment_context_impl_ref_count(rmw_context_t*) (init_rmw_context_impl.cpp:195)
==1611988==    by 0x5E88F01: rmw_create_node (rmw_node.cpp:60)
==1611988==    by 0x553F31E: rmw_create_node (functions.cpp:188)
==1611988==    by 0x506F3A3: rcl_node_init (node.c:257)
==1611988==    by 0x4E0D64A: rclcpp::node_interfaces::NodeBase::NodeBase(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&, std::shared_ptr<rclcpp::Context>, rcl_node_options_t const&, bool, bool) (node_base.cpp:76)
==1611988==    by 0x4DFC4D2: 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:107)
==1611988==    by 0x20289C: void __gnu_cxx::new_allocator<rclcpp::Node>::construct<rclcpp::Node, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(rclcpp::Node*, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (new_allocator.h:147)
==1611988==    by 0x1FCB1F: void std::allocator_traits<std::allocator<rclcpp::Node> >::construct<rclcpp::Node, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::allocator<rclcpp::Node>&, rclcpp::Node*, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (alloc_traits.h:484)
==1611988== 
==1611988== 24 bytes in 1 blocks are possibly lost in loss record 188 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x2192BA: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x214368: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x20FFB3: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x20AAE7: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, std::allocator<void>&>(std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >*&, std::_Sp_alloc_shared_tag<std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > > >, std::allocator<void>&) (shared_ptr_base.h:677)
==1611988==    by 0x2043A3: std::__shared_ptr<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, std::allocator<void>&>(std::_Sp_alloc_shared_tag<std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > > >, std::allocator<void>&) (shared_ptr_base.h:1344)
==1611988==    by 0x1FEF1A: std::shared_ptr<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >::shared_ptr<std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, std::allocator<void>&>(std::_Sp_alloc_shared_tag<std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > > >, std::allocator<void>&) (shared_ptr.h:359)
==1611988==    by 0x1F9C44: std::shared_ptr<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > > std::allocate_shared<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > >, std::allocator<void>&>(std::allocator<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > > const&, std::allocator<void>&) (shared_ptr.h:702)
==1611988==    by 0x1F4D87: std::shared_ptr<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > > > std::make_shared<std::allocator<std_msgs::msg::Empty_<std::allocator<void> > >, std::allocator<void>&>(std::allocator<void>&) (shared_ptr.h:718)
==1611988==    by 0x20F132: rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >::MessageMemoryStrategy(std::shared_ptr<std::allocator<void> >) (message_memory_strategy.hpp:69)
==1611988==    by 0x209D1C: void __gnu_cxx::new_allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >::construct<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*, std::shared_ptr<std::allocator<void> >&&) (new_allocator.h:147)
==1611988==    by 0x203461: void std::allocator_traits<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > >::construct<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >&, rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*, std::shared_ptr<std::allocator<void> >&&) (alloc_traits.h:484)
==1611988== 
==1611988== 24 bytes in 1 blocks are possibly lost in loss record 189 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x22D8A0: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x22B10E: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x227F9B: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x2257E3: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, std::allocator<void>&>(std::allocator<rclcpp::SerializedMessage>*&, std::_Sp_alloc_shared_tag<std::allocator<std::allocator<rclcpp::SerializedMessage> > >, std::allocator<void>&) (shared_ptr_base.h:677)
==1611988==    by 0x220695: std::__shared_ptr<std::allocator<rclcpp::SerializedMessage>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::allocator<rclcpp::SerializedMessage> >, std::allocator<void>&>(std::_Sp_alloc_shared_tag<std::allocator<std::allocator<rclcpp::SerializedMessage> > >, std::allocator<void>&) (shared_ptr_base.h:1344)
==1611988==    by 0x21BD0C: std::shared_ptr<std::allocator<rclcpp::SerializedMessage> >::shared_ptr<std::allocator<std::allocator<rclcpp::SerializedMessage> >, std::allocator<void>&>(std::_Sp_alloc_shared_tag<std::allocator<std::allocator<rclcpp::SerializedMessage> > >, std::allocator<void>&) (shared_ptr.h:359)
==1611988==    by 0x2184B2: std::shared_ptr<std::allocator<rclcpp::SerializedMessage> > std::allocate_shared<std::allocator<rclcpp::SerializedMessage>, std::allocator<std::allocator<rclcpp::SerializedMessage> >, std::allocator<void>&>(std::allocator<std::allocator<rclcpp::SerializedMessage> > const&, std::allocator<void>&) (shared_ptr.h:702)
==1611988==    by 0x2137B5: std::shared_ptr<std::allocator<rclcpp::SerializedMessage> > std::make_shared<std::allocator<rclcpp::SerializedMessage>, std::allocator<void>&>(std::allocator<void>&) (shared_ptr.h:718)
==1611988==    by 0x20F173: rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >::MessageMemoryStrategy(std::shared_ptr<std::allocator<void> >) (message_memory_strategy.hpp:70)
==1611988==    by 0x209D1C: void __gnu_cxx::new_allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >::construct<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*, std::shared_ptr<std::allocator<void> >&&) (new_allocator.h:147)
==1611988==    by 0x203461: void std::allocator_traits<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > >::construct<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >&, rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*, std::shared_ptr<std::allocator<void> >&&) (alloc_traits.h:484)
==1611988== 
==1611988== 24 bytes in 1 blocks are possibly lost in loss record 190 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x22D9B2: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::allocator<char>, std::allocator<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x22B274: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<char>, std::allocator<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<char>, std::allocator<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x2281F3: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<char>, std::allocator<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<char>, std::allocator<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<std::allocator<char>, std::allocator<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x22593D: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::allocator<char>, std::allocator<std::allocator<char> >, std::allocator<void>&>(std::allocator<char>*&, std::_Sp_alloc_shared_tag<std::allocator<std::allocator<char> > >, std::allocator<void>&) (shared_ptr_base.h:677)
==1611988==    by 0x22078D: std::__shared_ptr<std::allocator<char>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::allocator<char> >, std::allocator<void>&>(std::_Sp_alloc_shared_tag<std::allocator<std::allocator<char> > >, std::allocator<void>&) (shared_ptr_base.h:1344)
==1611988==    by 0x21BE24: std::shared_ptr<std::allocator<char> >::shared_ptr<std::allocator<std::allocator<char> >, std::allocator<void>&>(std::_Sp_alloc_shared_tag<std::allocator<std::allocator<char> > >, std::allocator<void>&) (shared_ptr.h:359)
==1611988==    by 0x2185BE: std::shared_ptr<std::allocator<char> > std::allocate_shared<std::allocator<char>, std::allocator<std::allocator<char> >, std::allocator<void>&>(std::allocator<std::allocator<char> > const&, std::allocator<void>&) (shared_ptr.h:702)
==1611988==    by 0x213891: std::shared_ptr<std::allocator<char> > std::make_shared<std::allocator<char>, std::allocator<void>&>(std::allocator<void>&) (shared_ptr.h:718)
==1611988==    by 0x20F1B4: rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >::MessageMemoryStrategy(std::shared_ptr<std::allocator<void> >) (message_memory_strategy.hpp:71)
==1611988==    by 0x209D1C: void __gnu_cxx::new_allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >::construct<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*, std::shared_ptr<std::allocator<void> >&&) (new_allocator.h:147)
==1611988==    by 0x203461: void std::allocator_traits<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > >::construct<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >&, rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*, std::shared_ptr<std::allocator<void> >&&) (alloc_traits.h:484)
==1611988== 
==1611988== 72 bytes in 1 blocks are possibly lost in loss record 309 of 900
==1611988==    at 0x483E0F3: operator new(unsigned long, std::nothrow_t const&) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x5E86ABB: rmw_init (rmw_init.cpp:104)
==1611988==    by 0x554151B: rmw_init (functions.cpp:670)
==1611988==    by 0x50697A8: rcl_init (init.c:214)
==1611988==    by 0x4D9B3E8: rclcpp::Context::init(int, char const* const*, rclcpp::InitOptions const&) (context.cpp:204)
==1611988==    by 0x4F1D3D7: rclcpp::init(int, char const* const*, rclcpp::InitOptions const&) (utilities.cpp:34)
==1611988==    by 0x1C61C9: TestExecutors<rclcpp::executors::StaticSingleThreadedExecutor>::SetUpTestCase() (test_executors.cpp:46)
==1611988==    by 0x2767B9: testing::TestCase::RunSetUpTestCase() (gtest.h:936)
==1611988==    by 0x285D5E: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2447)
==1611988==    by 0x27EB54: void testing::internal::HandleExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2483)
==1611988==    by 0x25BA2A: testing::TestCase::Run() (gtest.cc:2820)
==1611988==    by 0x267152: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:5216)
==1611988== 
==1611988== 144 bytes in 1 blocks are possibly lost in loss record 502 of 900
==1611988==    at 0x483D7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x50B2F46: __default_allocate (allocator.c:37)
==1611988==    by 0x5069C98: rcl_init_options_init (init_options.c:51)
==1611988==    by 0x506A0A4: rcl_init_options_copy (init_options.c:84)
==1611988==    by 0x506903F: rcl_init (init.c:99)
==1611988==    by 0x4D9B3E8: rclcpp::Context::init(int, char const* const*, rclcpp::InitOptions const&) (context.cpp:204)
==1611988==    by 0x4F1D3D7: rclcpp::init(int, char const* const*, rclcpp::InitOptions const&) (utilities.cpp:34)
==1611988==    by 0x1C61C9: TestExecutors<rclcpp::executors::StaticSingleThreadedExecutor>::SetUpTestCase() (test_executors.cpp:46)
==1611988==    by 0x2767B9: testing::TestCase::RunSetUpTestCase() (gtest.h:936)
==1611988==    by 0x285D5E: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2447)
==1611988==    by 0x27EB54: void testing::internal::HandleExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2483)
==1611988==    by 0x25BA2A: testing::TestCase::Run() (gtest.cc:2820)
==1611988== 
==1611988== 144 bytes in 1 blocks are possibly lost in loss record 503 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x209C49: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x203368: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x1FD397: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x1F8B37: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, std::shared_ptr<std::allocator<void> > >(rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >*&, std::_Sp_alloc_shared_tag<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > >, std::shared_ptr<std::allocator<void> >&&) (shared_ptr_base.h:677)
==1611988==    by 0x1F3B6B: std::__shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, std::shared_ptr<std::allocator<void> > >(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > >, std::shared_ptr<std::allocator<void> >&&) (shared_ptr_base.h:1344)
==1611988==    by 0x1EE33A: std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >::shared_ptr<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, std::shared_ptr<std::allocator<void> > >(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > >, std::shared_ptr<std::allocator<void> >&&) (shared_ptr.h:359)
==1611988==    by 0x1E7144: std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > std::allocate_shared<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > >, std::shared_ptr<std::allocator<void> > >(std::allocator<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > const&, std::shared_ptr<std::allocator<void> >&&) (shared_ptr.h:702)
==1611988==    by 0x1DE6EB: std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> > > std::make_shared<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >, std::shared_ptr<std::allocator<void> > >(std::shared_ptr<std::allocator<void> >&&) (shared_ptr.h:718)
==1611988==    by 0x1D97A2: rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::Empty_<std::allocator<void> >, std::allocator<void> >::create_default() (message_memory_strategy.hpp:80)
==1611988==    by 0x1CBE30: TestExecutors<rclcpp::executors::StaticSingleThreadedExecutor>::SetUp() (test_executors.cpp:66)
==1611988==    by 0x28540F: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2447)
==1611988== 
==1611988== 200 bytes in 1 blocks are possibly lost in loss record 530 of 900
==1611988==    at 0x483FD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x50B301F: __default_zero_allocate (allocator.c:62)
==1611988==    by 0x5068EB0: rcl_init (init.c:88)
==1611988==    by 0x4D9B3E8: rclcpp::Context::init(int, char const* const*, rclcpp::InitOptions const&) (context.cpp:204)
==1611988==    by 0x4F1D3D7: rclcpp::init(int, char const* const*, rclcpp::InitOptions const&) (utilities.cpp:34)
==1611988==    by 0x1C61C9: TestExecutors<rclcpp::executors::StaticSingleThreadedExecutor>::SetUpTestCase() (test_executors.cpp:46)
==1611988==    by 0x2767B9: testing::TestCase::RunSetUpTestCase() (gtest.h:936)
==1611988==    by 0x285D5E: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2447)
==1611988==    by 0x27EB54: void testing::internal::HandleExceptionsInMethodIfSupported<testing::TestCase, void>(testing::TestCase*, void (testing::TestCase::*)(), char const*) (gtest.cc:2483)
==1611988==    by 0x25BA2A: testing::TestCase::Run() (gtest.cc:2820)
==1611988==    by 0x267152: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:5216)
==1611988==    by 0x286909: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2447)
==1611988== 
==1611988== 336 bytes in 1 blocks are possibly lost in loss record 581 of 900
==1611988==    at 0x483FD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x40149CA: allocate_dtv (dl-tls.c:286)
==1611988==    by 0x40149CA: _dl_allocate_tls (dl-tls.c:532)
==1611988==    by 0x530F322: allocate_stack (allocatestack.c:622)
==1611988==    by 0x530F322: pthread_create@@GLIBC_2.2.5 (pthread_create.c:660)
==1611988==    by 0x51DFF78: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==1611988==    by 0x5F37B0A: std::thread::thread<void (&)(rmw_context_t*), rmw_context_t*&, void>(void (&)(rmw_context_t*), rmw_context_t*&) (thread:130)
==1611988==    by 0x5F36FD5: rmw_fastrtps_shared_cpp::run_listener_thread(rmw_context_t*) (listener_thread.cpp:53)
==1611988==    by 0x5E6E950: init_context_impl(rmw_context_t*) (init_rmw_context_impl.cpp:170)
==1611988==    by 0x5E6EC6F: rmw_fastrtps_cpp::increment_context_impl_ref_count(rmw_context_t*) (init_rmw_context_impl.cpp:195)
==1611988==    by 0x5E88F01: rmw_create_node (rmw_node.cpp:60)
==1611988==    by 0x553F31E: rmw_create_node (functions.cpp:188)
==1611988==    by 0x506F3A3: rcl_node_init (node.c:257)
==1611988==    by 0x4E0D64A: rclcpp::node_interfaces::NodeBase::NodeBase(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&, std::shared_ptr<rclcpp::Context>, rcl_node_options_t const&, bool, bool) (node_base.cpp:76)
==1611988== 
==1611988== 336 bytes in 1 blocks are possibly lost in loss record 582 of 900
==1611988==    at 0x483FD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x40149CA: allocate_dtv (dl-tls.c:286)
==1611988==    by 0x40149CA: _dl_allocate_tls (dl-tls.c:532)
==1611988==    by 0x530F322: allocate_stack (allocatestack.c:622)
==1611988==    by 0x530F322: pthread_create@@GLIBC_2.2.5 (pthread_create.c:660)
==1611988==    by 0x51DFF78: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==1611988==    by 0x67DD762: std::thread::thread<void (eprosima::fastrtps::rtps::AsyncWriterThread::*)(), eprosima::fastrtps::rtps::AsyncWriterThread*, void>(void (eprosima::fastrtps::rtps::AsyncWriterThread::*&&)(), eprosima::fastrtps::rtps::AsyncWriterThread*&&) (thread:130)
==1611988==    by 0x67DB5D2: eprosima::fastrtps::rtps::AsyncWriterThread::wake_up(eprosima::fastrtps::rtps::RTPSWriter*, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (AsyncWriterThread.cpp:100)
==1611988==    by 0x67F5F3D: eprosima::fastrtps::rtps::StatefulWriter::unsent_change_added_to_history(eprosima::fastrtps::rtps::CacheChange_t*, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (StatefulWriter.cpp:391)
==1611988==    by 0x682D9BF: eprosima::fastrtps::rtps::WriterHistory::add_change_(eprosima::fastrtps::rtps::CacheChange_t*, eprosima::fastrtps::rtps::WriteParams&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >) (WriterHistory.cpp:104)
==1611988==    by 0x68B5638: eprosima::fastrtps::PublisherHistory::add_pub_change(eprosima::fastrtps::rtps::CacheChange_t*, eprosima::fastrtps::rtps::WriteParams&, std::unique_lock<std::recursive_timed_mutex>&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (PublisherHistory.cpp:114)
==1611988==    by 0x68AE124: eprosima::fastrtps::PublisherImpl::create_new_change_with_params(eprosima::fastrtps::rtps::ChangeKind_t, void*, eprosima::fastrtps::rtps::WriteParams&, eprosima::fastrtps::rtps::InstanceHandle_t const&) (PublisherImpl.cpp:215)
==1611988==    by 0x68ADAAA: eprosima::fastrtps::PublisherImpl::create_new_change_with_params(eprosima::fastrtps::rtps::ChangeKind_t, void*, eprosima::fastrtps::rtps::WriteParams&) (PublisherImpl.cpp:127)
==1611988==    by 0x68AD9E4: eprosima::fastrtps::PublisherImpl::create_new_change(eprosima::fastrtps::rtps::ChangeKind_t, void*) (PublisherImpl.cpp:109)
==1611988== 
==1611988== 576 (224 direct, 352 indirect) bytes in 4 blocks are definitely lost in loss record 684 of 900
==1611988==    at 0x483D7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x50B2F46: __default_allocate (allocator.c:37)
==1611988==    by 0x5068582: __rcl_guard_condition_init_from_rmw_impl (guard_condition.c:73)
==1611988==    by 0x5068734: rcl_guard_condition_init (guard_condition.c:108)
==1611988==    by 0x1B7794: TestWaitable::TestWaitable() (test_executors.cpp:404)
==1611988==    by 0x205BF8: void __gnu_cxx::new_allocator<TestWaitable>::construct<TestWaitable>(TestWaitable*) (new_allocator.h:147)
==1611988==    by 0x20072A: void std::allocator_traits<std::allocator<TestWaitable> >::construct<TestWaitable>(std::allocator<TestWaitable>&, TestWaitable*) (alloc_traits.h:484)
==1611988==    by 0x1FBAA1: std::_Sp_counted_ptr_inplace<TestWaitable, std::allocator<TestWaitable>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<TestWaitable>) (shared_ptr_base.h:548)
==1611988==    by 0x1F6D73: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<TestWaitable, std::allocator<TestWaitable>>(TestWaitable*&, std::_Sp_alloc_shared_tag<std::allocator<TestWaitable> >) (shared_ptr_base.h:679)
==1611988==    by 0x1F14B9: std::__shared_ptr<TestWaitable, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<TestWaitable>>(std::_Sp_alloc_shared_tag<std::allocator<TestWaitable> >) (shared_ptr_base.h:1344)
==1611988==    by 0x1EAA4A: std::shared_ptr<TestWaitable>::shared_ptr<std::allocator<TestWaitable>>(std::_Sp_alloc_shared_tag<std::allocator<TestWaitable> >) (shared_ptr.h:359)
==1611988==    by 0x1E15BD: std::shared_ptr<TestWaitable> std::allocate_shared<TestWaitable, std::allocator<TestWaitable>>(std::allocator<TestWaitable> const&) (shared_ptr.h:702)
==1611988== 
==1611988== 1,344 bytes in 4 blocks are possibly lost in loss record 755 of 900
==1611988==    at 0x483FD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x40149CA: allocate_dtv (dl-tls.c:286)
==1611988==    by 0x40149CA: _dl_allocate_tls (dl-tls.c:532)
==1611988==    by 0x530F322: allocate_stack (allocatestack.c:622)
==1611988==    by 0x530F322: pthread_create@@GLIBC_2.2.5 (pthread_create.c:660)
==1611988==    by 0x51DFF78: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==1611988==    by 0x694F987: std::thread::thread<void (eprosima::fastdds::rtps::UDPChannelResource::*)(eprosima::fastrtps::rtps::Locator_t), eprosima::fastdds::rtps::UDPChannelResource*, eprosima::fastrtps::rtps::Locator_t const&, void>(void (eprosima::fastdds::rtps::UDPChannelResource::*&&)(eprosima::fastrtps::rtps::Locator_t), eprosima::fastdds::rtps::UDPChannelResource*&&, eprosima::fastrtps::rtps::Locator_t const&) (thread:130)
==1611988==    by 0x694C5C3: eprosima::fastdds::rtps::UDPChannelResource::UDPChannelResource(eprosima::fastdds::rtps::UDPTransportInterface*, asio::basic_datagram_socket<asio::ip::udp>&, unsigned int, eprosima::fastrtps::rtps::Locator_t const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, eprosima::fastdds::rtps::TransportReceiverInterface*) (UDPChannelResource.cpp:42)
==1611988==    by 0x69A371E: eprosima::fastdds::rtps::UDPTransportInterface::CreateInputChannelResource(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, eprosima::fastrtps::rtps::Locator_t const&, bool, unsigned int, eprosima::fastdds::rtps::TransportReceiverInterface*) (UDPTransportInterface.cpp:229)
==1611988==    by 0x69A3504: eprosima::fastdds::rtps::UDPTransportInterface::OpenAndBindInputSockets(eprosima::fastrtps::rtps::Locator_t const&, eprosima::fastdds::rtps::TransportReceiverInterface*, bool, unsigned int) (UDPTransportInterface.cpp:203)
==1611988==    by 0x6975AB8: eprosima::fastdds::rtps::UDPv4Transport::OpenInputChannel(eprosima::fastrtps::rtps::Locator_t const&, eprosima::fastdds::rtps::TransportReceiverInterface*, unsigned int) (UDPv4Transport.cpp:302)
==1611988==    by 0x6872B4B: eprosima::fastrtps::rtps::ReceiverResource::ReceiverResource(eprosima::fastdds::rtps::TransportInterface&, eprosima::fastrtps::rtps::Locator_t const&, unsigned int) (ReceiverResource.cpp:41)
==1611988==    by 0x686CE6F: eprosima::fastrtps::rtps::NetworkFactory::BuildReceiverResources(eprosima::fastrtps::rtps::Locator_t&, std::vector<std::shared_ptr<eprosima::fastrtps::rtps::ReceiverResource>, std::allocator<std::shared_ptr<eprosima::fastrtps::rtps::ReceiverResource> > >&, unsigned int) (NetworkFactory.cpp:70)
==1611988==    by 0x687A32A: eprosima::fastrtps::rtps::RTPSParticipantImpl::createReceiverResources(eprosima::fastrtps::rtps::LocatorList_t&, bool, bool) (RTPSParticipantImpl.cpp:1020)
==1611988== 
==1611988== 34,054 (184 direct, 33,870 indirect) bytes in 1 blocks are definitely lost in loss record 867 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x4DE9B9E: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x4DE9A50: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x4DE97F7: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x4DE966F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >*&, std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:677)
==1611988==    by 0x4DE9603: std::__shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:1344)
==1611988==    by 0x4DE95C6: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >::shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr.h:359)
==1611988==    by 0x4DE950B: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::allocate_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > const&) (shared_ptr.h:702)
==1611988==    by 0x4DE9421: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::make_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >>() (shared_ptr.h:718)
==1611988==    by 0x4DE92FE: rclcpp::memory_strategies::create_default_strategy() (memory_strategies.cpp:26)
==1611988==    by 0x1B6F75: rclcpp::ExecutorOptions::ExecutorOptions() (executor_options.hpp:33)
==1611988==    by 0x1CC3D0: TestExecutors_testSpinUntilFutureCompleteNoTimeout_Test<rclcpp::executors::StaticSingleThreadedExecutor>::TestBody() (test_executors.cpp:270)
==1611988== 
==1611988== 34,076 (184 direct, 33,892 indirect) bytes in 1 blocks are definitely lost in loss record 868 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x4DE9B9E: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x4DE9A50: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x4DE97F7: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x4DE966F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >*&, std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:677)
==1611988==    by 0x4DE9603: std::__shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:1344)
==1611988==    by 0x4DE95C6: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >::shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr.h:359)
==1611988==    by 0x4DE950B: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::allocate_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > const&) (shared_ptr.h:702)
==1611988==    by 0x4DE9421: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::make_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >>() (shared_ptr.h:718)
==1611988==    by 0x4DE92FE: rclcpp::memory_strategies::create_default_strategy() (memory_strategies.cpp:26)
==1611988==    by 0x1B6F75: rclcpp::ExecutorOptions::ExecutorOptions() (executor_options.hpp:33)
==1611988==    by 0x1CEBDC: TestExecutors_testSpinUntilFutureCompleteWithTimeout_Test<rclcpp::executors::StaticSingleThreadedExecutor>::TestBody() (test_executors.cpp:316)
==1611988== 
==1611988== 34,220 (184 direct, 34,036 indirect) bytes in 1 blocks are definitely lost in loss record 869 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x4DE9B9E: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x4DE9A50: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x4DE97F7: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x4DE966F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >*&, std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:677)
==1611988==    by 0x4DE9603: std::__shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:1344)
==1611988==    by 0x4DE95C6: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >::shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr.h:359)
==1611988==    by 0x4DE950B: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::allocate_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > const&) (shared_ptr.h:702)
==1611988==    by 0x4DE9421: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::make_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >>() (shared_ptr.h:718)
==1611988==    by 0x4DE92FE: rclcpp::memory_strategies::create_default_strategy() (memory_strategies.cpp:26)
==1611988==    by 0x1B6F75: rclcpp::ExecutorOptions::ExecutorOptions() (executor_options.hpp:33)
==1611988==    by 0x1D5ED0: TestExecutors_testSpinUntilFutureCompleteInterrupted_Test<rclcpp::executors::StaticSingleThreadedExecutor>::TestBody() (test_executors.cpp:355)
==1611988== 
==1611988== 34,354 (184 direct, 34,170 indirect) bytes in 1 blocks are definitely lost in loss record 870 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x4DE9B9E: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x4DE9A50: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x4DE97F7: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x4DE966F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >*&, std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:677)
==1611988==    by 0x4DE9603: std::__shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:1344)
==1611988==    by 0x4DE95C6: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >::shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr.h:359)
==1611988==    by 0x4DE950B: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::allocate_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > const&) (shared_ptr.h:702)
==1611988==    by 0x4DE9421: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::make_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >>() (shared_ptr.h:718)
==1611988==    by 0x4DE92FE: rclcpp::memory_strategies::create_default_strategy() (memory_strategies.cpp:26)
==1611988==    by 0x1B6F75: rclcpp::ExecutorOptions::ExecutorOptions() (executor_options.hpp:33)
==1611988==    by 0x1CD3A6: TestExecutors_spinWhileAlreadySpinning_Test<rclcpp::executors::StaticSingleThreadedExecutor>::TestBody() (test_executors.cpp:199)
==1611988== 
==1611988== 34,713 (184 direct, 34,529 indirect) bytes in 1 blocks are definitely lost in loss record 871 of 900
==1611988==    at 0x483DE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1611988==    by 0x4DE9B9E: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:114)
==1611988==    by 0x4DE9A50: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:444)
==1611988==    by 0x4DE97F7: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:97)
==1611988==    by 0x4DE966F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >*&, std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:677)
==1611988==    by 0x4DE9603: std::__shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr_base.h:1344)
==1611988==    by 0x4DE95C6: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >::shared_ptr<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::_Sp_alloc_shared_tag<std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > >) (shared_ptr.h:359)
==1611988==    by 0x4DE950B: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::allocate_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >, std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > >>(std::allocator<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > const&) (shared_ptr.h:702)
==1611988==    by 0x4DE9421: std::shared_ptr<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> > > std::make_shared<rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy<std::allocator<void> >>() (shared_ptr.h:718)
==1611988==    by 0x4DE92FE: rclcpp::memory_strategies::create_default_strategy() (memory_strategies.cpp:26)
==1611988==    by 0x1B6F75: rclcpp::ExecutorOptions::ExecutorOptions() (executor_options.hpp:33)
==1611988==    by 0x1D0FC8: TestExecutors_spinWithTimer_Test<rclcpp::executors::StaticSingleThreadedExecutor>::TestBody() (test_executors.cpp:177)
==1611988== 
==1611988== LEAK SUMMARY:
==1611988==    definitely lost: 1,144 bytes in 9 blocks
==1611988==    indirectly lost: 170,849 bytes in 440 blocks
==1611988==      possibly lost: 2,676 bytes in 16 blocks
==1611988==    still reachable: 5,804,352 bytes in 17,039 blocks
==1611988==                       of which reachable via heuristic:
==1611988==                         multipleinheritance: 1,920 bytes in 10 blocks
==1611988==         suppressed: 0 bytes in 0 blocks
==1611988== Reachable blocks (those to which a pointer was found) are not shown.
==1611988== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==1611988== 
==1611988== For lists of detected and suppressed errors, rerun with: -s
==1611988== ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0)

Additional information

memory_strategy_ and exec_list_ in StaticExecutorEntitiesCollector depend on shared_from_this() which need to clear it before destructor of StaticExecutorEntitiesCollector.
NOTE: memory leak of valgrind does not directly show the location of root cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions