Skip to content

[BUG]: ros2_control_node crash in rolling #240

Closed
@amarburg

Description

@amarburg

Issue Description

Running the joystick teleoperation demo in the current rolling build from #220, ros2_control_node appears to crash with this error (in the window running bluerov2_controllers.launch.py)

[ros2_control_node-2] pure virtual method called
[ros2_control_node-2] terminate called without an active exception
[ERROR] [ros2_control_node-2]: process has died [pid 1551, exit code -6, cmd '/opt/ros/rolling/lib/controller_manager/ros2_control_node --ros-args --params-file /home/ubuntu/ws_blue/install/blue_demos/share/blue_demos/control_integration/config/bluerov2_controllers.yaml -r /controller_manager/robot_description:=/robot_description'].

ros2_control is installed from apt:

$ dpkg -l | grep ros2-control
ii  ros-rolling-ros2-control                           4.13.0-1noble.20240713.231337        amd64        Metapackage for ROS2 control related packages

Need to produce a backtrace to see if it's an issue in ros2_control or if auv_controllers needs to be updated to match an API change.

It only seems to occur once joystick teleoperation has actually started.

Steps to Reproduce

Follow the joystick teleoperation demo using the ghcr.io/apl-ocean-engineering/blue:rolling-desktop image.

Expected Behavior

ros2_control_node should run perpetually.

Error Message

Here'a backtrace from attaching gdb to ros_control_node

#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007f86fddc826e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007f86fddab8ff in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007f86fe067ffe in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007f86fe07ce9c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f86fe067a49 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007f86fe07dc45 in __cxa_pure_virtual () from /lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007f86fd771966 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold() () from /lib/x86_64-linux-gnu/libspdlog.so.1.12
#10 0x00007f8672133e1b in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() ()
   from /home/ubuntu/ws_blue/install/velocity_controllers/lib/libvelocity_controllers.so
#11 0x00007f8672130fb4 in std::__shared_ptr<geometry_msgs::msg::Twist_<std::allocator<void> >, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() ()
   from /home/ubuntu/ws_blue/install/velocity_controllers/lib/libvelocity_controllers.so
#12 0x00007f8672130fd4 in std::shared_ptr<geometry_msgs::msg::Twist_<std::allocator<void> > >::~shared_ptr() ()
   from /home/ubuntu/ws_blue/install/velocity_controllers/lib/libvelocity_controllers.so
#13 0x00007f8672113323 in velocity_controllers::IntegralSlidingModeController::update_reference_from_subscribers(rclcpp::Time const&, rclcpp::Duration const&)
    () from /home/ubuntu/ws_blue/install/velocity_controllers/lib/libvelocity_controllers.so
#14 0x00007f86fdd75e55 in controller_interface::ChainableControllerInterface::update(rclcpp::Time const&, rclcpp::Duration const&) ()
   from /opt/ros/rolling/lib/libcontroller_interface.so
#15 0x00007f86fe57dc6b in controller_manager::ControllerManager::update(rclcpp::Time const&, rclcpp::Duration const&) ()
   from /opt/ros/rolling/lib/libcontroller_manager.so
#16 0x000055f184058ae9 in ?? ()
#17 0x00007f86fe0acbb4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#18 0x00007f86fde1fa94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#19 0x00007f86fdeacc3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Runtime Environment

amd64 running Ubuntu 20.04

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds triageThis issue needs triage support

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions