[ros-users] [Discourse.ros.org] [Next Generation ROS] Ros2 …

Forside
Vedhæftede filer:
Indlæg som e-mail
+ (text/plain)
Slet denne besked
Besvar denne besked
Skribent: Snowman via ros-users
Dato:  
Til: ros-users
Emne: [ros-users] [Discourse.ros.org] [Next Generation ROS] Ros2 LifecycleNode memory corruption issues



We are experimenting with ROS2 and the LifecycleNode and started to observe crashes in our code. When we use regular nodes everything seems to be working fine. I tried to use valgrind to see what might be happening and indeed there are many warnings coming out from the tool (see some of the stuff below).

I guess my question is - in what shape is the lifecycle package and are you guys aware of these problems?

Thanks :)


Invalid write of size 2
==4948==    at 0x4C32723: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4948==    by 0x7009998: concatenate (in /home/breh/ros2_ws/build/rcl_lifecycle/librcl_lifecycle.so)
==4948==    by 0x7009B68: rcl_lifecycle_com_interface_init (in /home/breh/ros2_ws/build/rcl_lifecycle/librcl_lifecycle.so)
==4948==    by 0x700A8AC: rcl_lifecycle_state_machine_init (in /home/breh/ros2_ws/build/rcl_lifecycle/librcl_lifecycle.so)
==4948==    by 0x5AF59F7: rclcpp_lifecycle::LifecycleNode::LifecycleNodeInterfaceImpl::init() (in /home/breh/ros2_ws/build/rclcpp_lifecycle/librclcpp_lifecycle.so)
==4948==    by 0x5AF3CDF: rclcpp_lifecycle::LifecycleNode::LifecycleNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<rclcpp::context::Context>, bool) (in /home/breh/ros2_ws/build/rclcpp_lifecycle/librclcpp_lifecycle.so)
==4948==    by 0x5AF3985: rclcpp_lifecycle::LifecycleNode::LifecycleNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /home/breh/ros2_ws/build/rclcpp_lifecycle/librclcpp_lifecycle.so)
==4948==    by 0x40B4D1: LifecycleTalker::LifecycleTalker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x413E62: _ZN9__gnu_cxx13new_allocatorI15LifecycleTalkerE9constructIS1_IRA10_KcEEEvPT_DpOT0_ (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x413437: _ZNSt16allocator_traitsISaI15LifecycleTalkerEE9constructIS0_IRA10_KcEEEvRS1_PT_DpOT0_ (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x412855: std::_Sp_counted_ptr_inplace<LifecycleTalker, std::allocator<LifecycleTalker>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<char const (&) [10]>(std::allocator<LifecycleTalker>, char const (&) [10]) (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x4115B6: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LifecycleTalker, std::allocator<LifecycleTalker>, char const (&) [10]>(std::_Sp_make_shared_tag, LifecycleTalker*, std::allocator<LifecycleTalker> const&, char const (&) [10]) (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==  Address 0xe620f3a is 26 bytes inside a block of size 27 alloc'd
==4948==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4948==    by 0x7009946: concatenate (in /home/breh/ros2_ws/build/rcl_lifecycle/librcl_lifecycle.so)
==4948==    by 0x7009B68: rcl_lifecycle_com_interface_init (in /home/breh/ros2_ws/build/rcl_lifecycle/librcl_lifecycle.so)
==4948==    by 0x700A8AC: rcl_lifecycle_state_machine_init (in /home/breh/ros2_ws/build/rcl_lifecycle/librcl_lifecycle.so)
==4948==    by 0x5AF59F7: rclcpp_lifecycle::LifecycleNode::LifecycleNodeInterfaceImpl::init() (in /home/breh/ros2_ws/build/rclcpp_lifecycle/librclcpp_lifecycle.so)
==4948==    by 0x5AF3CDF: rclcpp_lifecycle::LifecycleNode::LifecycleNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<rclcpp::context::Context>, bool) (in /home/breh/ros2_ws/build/rclcpp_lifecycle/librclcpp_lifecycle.so)
==4948==    by 0x5AF3985: rclcpp_lifecycle::LifecycleNode::LifecycleNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /home/breh/ros2_ws/build/rclcpp_lifecycle/librclcpp_lifecycle.so)
==4948==    by 0x40B4D1: LifecycleTalker::LifecycleTalker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x413E62: _ZN9__gnu_cxx13new_allocatorI15LifecycleTalkerE9constructIS1_IRA10_KcEEEvPT_DpOT0_ (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x413437: _ZNSt16allocator_traitsISaI15LifecycleTalkerEE9constructIS0_IRA10_KcEEEvRS1_PT_DpOT0_ (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x412855: std::_Sp_counted_ptr_inplace<LifecycleTalker, std::allocator<LifecycleTalker>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<char const (&) [10]>(std::allocator<LifecycleTalker>, char const (&) [10]) (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)
==4948==    by 0x4115B6: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LifecycleTalker, std::allocator<LifecycleTalker>, char const (&) [10]>(std::_Sp_make_shared_tag, LifecycleTalker*, std::allocator<LifecycleTalker> const&, char const (&) [10]) (in /home/breh/ros2_overlay_ws/install/bin/lifecycle_talker)







---
[Visit Topic](https://discourse.ros.org/t/ros2-lifecyclenode-memory-corruption-issues/1666/1) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list

http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>