Closed
Description
Describe the Bug
I'm running webots_ros2
with the latest build of ros2_control
in order to partially fix #1034 (because of ros-controls/ros2_control#2115) This does fix the -p -p
error from that issue but now I have a segfault.
Steps to Reproduce
- Compile
webots_ros2
with the latest build ofros2_control
. - Launch the
webots_ros2_epuck
exampleros2 launch webots_ros2_epuck robot_launch.py
.
Expected behavior
The example launches correctly.
Actual Behaviour
A segfault when trying to configure the diffdrive_controller
:
[spawner-7] [INFO] [1743589960.034873232] [spawner_diffdrive_controller]: Loaded diffdrive_controller
[webots_controller_e-puck-5] [INFO] [1743589960.037095269] [controller_manager]: Configuring controller: 'diffdrive_controller'
[webots_controller_e-puck-5] [ros2run]: Segmentation fault
I ran gdb
to get a stack trace, here are the first 20 frames, let me know if you need more:
#0 0x00007fffe858f74e in void std::_Destroy<hardware_interface::CommandInterface>(hardware_interface::CommandInterface*) ()
from target:/home/ralphieraccoon/ros2_ws/install/hardware_interface/lib/libhardware_interface.so
#1 0x00007fffe858df21 in void std::_Destroy_aux<false>::__destroy<hardware_interface::CommandInterface*>(hardware_interface::CommandInterface*, hardware_interface::CommandInterface*)
() from target:/home/ralphieraccoon/ros2_ws/install/hardware_interface/lib/libhardware_interface.so
#2 0x00007fffe858ab68 in void std::_Destroy<hardware_interface::CommandInterface*>(hardware_interface::CommandInterface*, hardware_interface::CommandInterface*) ()
from target:/home/ralphieraccoon/ros2_ws/install/hardware_interface/lib/libhardware_interface.so
#3 0x00007fffe858202e in std::vector<hardware_interface::CommandInterface, std::allocator<hardware_interface::CommandInterface> >::~vector() ()
from target:/home/ralphieraccoon/ros2_ws/install/hardware_interface/lib/libhardware_interface.so
#4 0x00007fffef59d2b0 in controller_interface::ChainableControllerInterface::export_reference_interfaces() ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_interface/lib/libcontroller_interface.so
#5 0x00007fffe326faee in controller_manager::ControllerManager::configure_controller(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#6 0x00007fffe32804e9 in controller_manager::ControllerManager::configure_controller_service_cb(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#7 0x00007fffe33d42e1 in void std::__invoke_impl<void, void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > > >(std::__invoke_memfun_deref, void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#8 0x00007fffe33ce125 in std::__invoke_result<void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > > >::type std::__invoke<void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > > >(void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#9 0x00007fffe33c8721 in void std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>::__call<void, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&, 0ul, 1ul, 2ul>(std::tuple<std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#10 0x00007fffe33c1be7 in void std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>::operator()<std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >, void>(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager--Type <RET> for more, q to quit, c to continue without paging--
_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&) () from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#11 0x00007fffe33b8dcf in void std::__invoke_impl<void, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > > >(std::__invoke_other, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&) () from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#12 0x00007fffe33ae3e4 in std::enable_if<is_invocable_r_v<void, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > > >, void>::type std::__invoke_r<void, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > > >(std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#13 0x00007fffe33a0974 in std::_Function_handler<void (std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >), std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)> >::_M_invoke(std::_Any_data const&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >&&) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#14 0x00007fffe34045fd in std::function<void (std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >)>::operator()(std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Response_<std::allocator<void> > >) const ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#15 0x00007fffe33f916a in rclcpp::AnyServiceCallback<controller_manager_msgs::srv::ConfigureController>::dispatch(std::shared_ptr<rclcpp::Service<controller_manager_msgs::srv::ConfigureController> > const&, std::shared_ptr<rmw_request_id_s> const&, std::shared_ptr<controller_manager_msgs::srv::ConfigureController_Request_<std::allocator<void> > >) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#16 0x00007fffe33ee18b in rclcpp::Service<controller_manager_msgs::srv::ConfigureController>::handle_request(std::shared_ptr<rmw_request_id_s>, std::shared_ptr<void>) ()
from target:/home/ralphieraccoon/ros2_ws/install/controller_manager/lib/libcontroller_manager.so
#17 0x00007ffff73dafca in ?? () from target:/opt/ros/jazzy/lib/librclcpp.so
#18 0x00007ffff7303a54 in rclcpp::Executor::execute_service(std::shared_ptr<rclcpp::ServiceBase>) () from target:/opt/ros/jazzy/lib/librclcpp.so
#19 0x00007ffff7307c6a in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&) () from target:/opt/ros/jazzy/lib/librclcpp.so
Affected Packages
List of affected packages:
- webots_ros2_epuck (though this probably affects all of them)
System
- Webots Version: R2025a
- ROS Version: Jazzy
- Operating System: Ubuntu 24.04 Noble Numbat