moveit / moveit2

:robot: MoveIt for ROS 2
https://moveit.ai/
BSD 3-Clause "New" or "Revised" License
1.09k stars 527 forks source link

Segmentation fault on tutorial's move_group.launch.py #2520

Closed RemiFabre closed 9 months ago

RemiFabre commented 12 months ago

Description

Overview of your issue here.

Your environment

Steps to reproduce

Used a fresh ROS2 Humble installation on a fresh Ubuntu 22.04. Followed all the getting started tutorials, compiling move it from source: https://moveit.picknik.ai/main/doc/tutorials/getting_started/getting_started.html

Tutorials work fine (except RViZ frequently crashing at boot but that's another issue) until this page: https://moveit.picknik.ai/main/doc/examples/planning_scene_ros_api/planning_scene_ros_api_tutorial.html

This command reliably creates a segmentation fault in move_group:

ros2 launch moveit2_tutorials move_group.launch.py

Backtrace or Console output

The part of the log that seems interesting:

[move_group-4] [ERROR] [1699627868.543136927] [move_group.occupancy_map_monitor]: No 3D sensor plugin(s) defined for octomap updates
[move_group-4] Stack trace (most recent call last) in thread 188369:
[move_group-4] #10   Object "", at 0xffffffffffffffff, in 
[move_group-4] #9    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fabd6d8dbf3, in __clone
[move_group-4] #8    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fabd6cfcac2, in 
[move_group-4] #7    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fabd6f8c252, in 
[move_group-4] #6    Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fabd71fe89f, in rclcpp::executors::SingleThreadedExecutor::spin()
[move_group-4] #5    Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fabd71f6fae, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
[move_group-4] #4    Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fabd71f67ab, in rclcpp::Executor::execute_subscription(std::shared_ptr<rclcpp::SubscriptionBase>)
[move_group-4] #3    Object "/root/reachy_ws/install/moveit_ros_planning/lib/libmoveit_planning_scene_monitor.so.2.8.0", at 0x7fabd754cb84, in rclcpp::Subscription<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void>, tf2_msgs::msg::TFMessage_<std::allocator<void> >, tf2_msgs::msg::TFMessage_<std::allocator<void> >, rclcpp::message_memory_strategy::MessageMemoryStrategy<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void> > >::handle_message(std::shared_ptr<void>&, rclcpp::MessageInfo const&)
[move_group-4] #2    Object "/root/reachy_ws/install/moveit_ros_planning/lib/libmoveit_planning_scene_monitor.so.2.8.0", at 0x7fabd753d211, in std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<void> (*)(rclcpp::AnySubscriptionCallback<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void> >::dispatch(std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, rclcpp::MessageInfo const&)::{lambda(auto:1&&)#1}&&, std::variant<std::function<void (tf2_msgs::msg::TFMessage_<std::allocator<void> > const&)>, std::function<void (tf2_msgs::msg::TFMessage_<std::allocator<void> > const&, rclcpp::MessageInfo const&)>, std::function<void (rclcpp::SerializedMessage const&)>, std::function<void (rclcpp::SerializedMessage const&, rclcpp::MessageInfo const&)>, std::function<void (std::unique_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::default_delete<tf2_msgs::msg::TFMessage_<std::allocator<void> > > >)>, std::function<void (std::unique_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::default_delete<tf2_msgs::msg::TFMessage_<std::allocator<void> > > >, rclcpp::MessageInfo const&)>, std::function<void (std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void (std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const>)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const>, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const>)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const>, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const> const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const> const&, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const> const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const> const&, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage>, rclcpp::MessageInfo const&)> >&)>, std::integer_sequence<unsigned long, 8ul> >::__visit_invoke(rclcpp::AnySubscriptionCallback<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void> >::dispatch(std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, rclcpp::MessageInfo const&)::{lambda(auto:1&&)#1}&&, std::variant<std::function<void (tf2_msgs::msg::TFMessage_<std::allocator<void> > const&)>, std::function<void (tf2_msgs::msg::TFMessage_<std::allocator<void> > const&, rclcpp::MessageInfo const&)>, std::function<void (rclcpp::SerializedMessage const&)>, std::function<void (rclcpp::SerializedMessage const&, rclcpp::MessageInfo const&)>, std::function<void (std::unique_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::default_delete<tf2_msgs::msg::TFMessage_<std::allocator<void> > > >)>, std::function<void (std::unique_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::default_delete<tf2_msgs::msg::TFMessage_<std::allocator<void> > > >, rclcpp::MessageInfo const&)>, std::function<void (std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void (std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const>)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const>, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const>)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const>, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const> const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > const> const&, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const> const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage const> const&, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >)>, std::function<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, rclcpp::MessageInfo const&)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void (std::shared_ptr<rclcpp::SerializedMessage>, rclcpp::MessageInfo const&)> >&)
[move_group-4] #1    Object "/root/reachy_ws/install/moveit_ros_planning/lib/libmoveit_planning_scene_monitor.so.2.8.0", at 0x7fabd752cb79, in planning_scene_monitor::CurrentStateMonitor::updateMultiDofJoints()
[move_group-4] #0    Object "/root/reachy_ws/install/moveit_core/lib/libmoveit_robot_model.so.2.8.0", at 0x7fabd678a494, in moveit::core::JointModel::satisfiesJerkBounds(double const*, std::vector<moveit::core::VariableBounds, std::allocator<moveit::core::VariableBounds> > const&, double) const
[move_group-4] Segmentation fault (Address not mapped to object [(nil)])
[ERROR] [move_group-4]: process has died [pid 188296, exit code -11, cmd '/root/reachy_ws/install/moveit_ros_move_group/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_b7kr8_bk'].

The full log: https://gist.github.com/RemiFabre/281b2d5ccc0209d504c3570f7a70f52f

github-actions[bot] commented 10 months ago

This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups.

dyackzan commented 9 months ago

I am unable to reproduce this issue when I follow the steps in https://moveit.picknik.ai/humble/doc/tutorials/getting_started/getting_started.html. Could you try picking up the latest changes on the humble branches of the repos and rebuilding to see if you're still seeing this issue come up?

dyackzan commented 9 months ago

@RemiFabre I'm closing this for now since I'm unable to reproduce. Please re-open if you're still having the issue