You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
rqt_joint_trajectory_controller crashes if former selected controller_manager is not available
To Reproduce
Steps to reproduce the behavior:
Launch a robot, e.g., ros2 launch ros2_control_demo_example_1 rrbot.launch.py and activate JTC
ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller, select the JTC.
Close all.
Run ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller, it crashes:
IndexError: list index out of range
Traceback (most recent call last):
File "/workspaces/ros2_rolling_ws/build/rqt_joint_trajectory_controller/rqt_joint_trajectory_controller/joint_trajectory_controller.py", line 229, in _update_cm_list
update_combo(self._widget.cm_combo, self._list_cm())
^^^^^^^^^^^^^^^
File "/workspaces/ros2_rolling_ws/build/rqt_joint_trajectory_controller/rqt_joint_trajectory_controller/utils.py", line 185, in __call__
self._cm_list = get_controller_managers(self._ns, self._cm_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/workspaces/ros2_rolling_ws/build/rqt_joint_trajectory_controller/rqt_joint_trajectory_controller/utils.py", line 80, in get_controller_managers
ns_list += [ns for ns in ns_list_curr if ns not in ns_list and is_controller_manager(node, ns)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/workspaces/ros2_rolling_ws/build/rqt_joint_trajectory_controller/rqt_joint_trajectory_controller/utils.py", line 101, in is_controller_manager
if not _srv_exists(node, cm_ns + srv_name, cm_services[srv_name]):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/workspaces/ros2_rolling_ws/build/rqt_joint_trajectory_controller/rqt_joint_trajectory_controller/utils.py", line 155, in _srv_exists
srv_obtained_type = srv_info[0][1][0]
~~~~~~~~^^^
IndexError: list index out of range
Expected behavior
no crash
Environment:
OS: noble
Version: Rolling from source
The text was updated successfully, but these errors were encountered:
Describe the bug
rqt_joint_trajectory_controller crashes if former selected controller_manager is not available
To Reproduce
Steps to reproduce the behavior:
ros2 launch ros2_control_demo_example_1 rrbot.launch.py
and activate JTCros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller
, select the JTC.ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller
, it crashes:Expected behavior
no crash
Environment:
The text was updated successfully, but these errors were encountered: