Skip to content

Intermittent configure timeout (ROS Jazzy) #503

@squirrel532

Description

@squirrel532

Affected Client Library version(s)

2.9.0

What combination of platform is the Client Library running on.

Docker

How did you install the Client Library

From ROS binary packets

Which robot platform is the library connected to.

URSim in docker

Robot SW / URSim version(s)

5.17.3

How are you using the Client Library

Headless without using the teach pendant

Issue details

Summary

The UR driver failed with a log line saying "Could not get configuration package within timeout".

Issue details

The hardware interface of ros_control failed to start in current jazzy build with client library version 2.9.0. It happens in the second and later runs. For the very fresh start, everything works find, but error happens when I restart the ur driver.

Here's my test on different version:

  • ursim=5.17, ur_client_library=2.6.1 (Jazzy snapshot Jan 28th). Safe
  • ursim=5.17, ur_client_library=2.7.0 (Kilted). Safe
  • ursim=5.17, ur_client_library=2.9.0(Jazzy). Error
  • ursim>5.21. Safe.

ur_client_library_test.zip

Steps to Reproduce

  1. Start a ursim version 5.17: docker compose up ursim
  2. Start the robot and enable the remote control mode.
  3. Start ur_driver: docker compose up dev
  4. Restart ur_driver: docker compose restart dev

Sometimes, the ur driver will not hit the race condition at the fresh start, and the error begins in later runs.

Expected Behavior

No error.

Actual Behavior

dev-1  | [ros2_control_node-1] [FATAL] [1778490326.620643539] [URPositionHardwareInterface]: Could not get configuration package within timeout, are you connected to the robot?(Configured timeout: 1 sec)
dev-1  | [ros2_control_node-1] [ERROR] [1778490326.620762277] [resource_manager]: Failed to 'configure' hardware 'ur5e'

Workaround Suggestion

My workaround is use a snapshot repository in order to avoid the problem version.

Relevant log output

dev-1  | [INFO] [launch]: All log files can be found below /root/.ros/log/2026-05-11-09-05-25-091708-code0-1
dev-1  | [INFO] [launch]: Default logging verbosity is set to INFO
dev-1  | [INFO] [dashboard_client-2]: process started with pid [21]
dev-1  | [INFO] [controller_stopper_node-4]: process started with pid [23]
dev-1  | [INFO] [ros2_control_node-1]: process started with pid [20]
dev-1  | [INFO] [robot_state_helper-3]: process started with pid [22]
dev-1  | [INFO] [urscript_interface-5]: process started with pid [24]
dev-1  | [INFO] [robot_state_publisher-6]: process started with pid [25]
dev-1  | [INFO] [rviz2-7]: process started with pid [26]
dev-1  | [INFO] [trajectory_until_node-8]: process started with pid [27]
dev-1  | [INFO] [spawner-9]: process started with pid [28]
dev-1  | [INFO] [spawner-10]: process started with pid [29]
dev-1  | [dashboard_client-2] �[0m[INFO] [1778490325.311269568] [UR_Client_Library:]: Starting primary client pipeline�[0m
dev-1  | [robot_state_helper-3] [INFO] [1778490325.312394354] [UR_Client_Library:]: Starting primary client pipeline
dev-1  | [robot_state_publisher-6] [INFO] [1778490325.314891946] [robot_state_publisher]: Robot initialized
dev-1  | [controller_stopper_node-4] �[0m[INFO] [1778490325.322863119] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller�[0m
dev-1  | [rviz2-7] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
dev-1  | [ros2_control_node-1] [INFO] [1778490325.329001856] [controller_manager]: Using Steady (Monotonic) clock for triggering controller manager cycles.
dev-1  | [ros2_control_node-1] [INFO] [1778490325.332053123] [controller_manager]: Subscribing to '/robot_description' topic for robot description.
dev-1  | [ros2_control_node-1] [INFO] [1778490325.333222948] [controller_manager]: update rate is 500 Hz
dev-1  | [ros2_control_node-1] [INFO] [1778490325.333233693] [controller_manager]: Overruns handling is : enabled
dev-1  | [ros2_control_node-1] [INFO] [1778490325.333236148] [controller_manager]: Spawning controller_manager RT thread with scheduler priority: 50
dev-1  | [ros2_control_node-1] [INFO] [1778490325.333281817] [controller_manager]: Successful set up FIFO RT scheduling policy with priority 50.
dev-1  | [rviz2-7] pci id for fd 33: 10de:2504, driver (null)
dev-1  | [rviz2-7] pci id for fd 34: 10de:2504, driver (null)
dev-1  | [rviz2-7] pci id for fd 35: 10de:2504, driver (null)
dev-1  | [rviz2-7] glx: failed to create dri3 screen
dev-1  | [rviz2-7] failed to load driver: nvidia-drm
dev-1  | [rviz2-7] pci id for fd 39: 10de:2504, driver (null)
dev-1  | [dashboard_client-2] �[0m[INFO] [1778490325.417962440] [dashboard_client]: Connecting to Dashboard Server at 172.22.0.2 with policy G5�[0m
dev-1  | [dashboard_client-2] �[0m[INFO] [1778490325.418077047] [UR_Client_Library:]: DashboardClient created for host 172.22.0.2�[0m
dev-1  | [dashboard_client-2] �[0m[INFO] [1778490325.418346492] [UR_Client_Library:]: Connected: Universal Robots Dashboard Server
dev-1  | [dashboard_client-2] �[0m
dev-1  | [rviz2-7] pci id for fd 40: 10de:2504, driver (null)
dev-1  | [rviz2-7] pci id for fd 41: 10de:2504, driver (null)
dev-1  | [rviz2-7] glx: failed to create dri3 screen
dev-1  | [rviz2-7] failed to load driver: nvidia-drm
dev-1  | [rviz2-7] [INFO] [1778490325.506140791] [rviz2]: Stereo is NOT SUPPORTED
dev-1  | [rviz2-7] [INFO] [1778490325.506233026] [rviz2]: OpenGl version: 4.5 (GLSL 4.5)
dev-1  | [ros2_control_node-1] [INFO] [1778490325.511051546] [controller_manager]: Received robot description from topic.
dev-1  | [ros2_control_node-1] [INFO] [1778490325.511081186] [controller_manager]: Enforcing command limits is disabled. Command limits from URDF will be ignored.
dev-1  | [ros2_control_node-1] text not specified in the tf_prefix tag
dev-1  | [ros2_control_node-1] [INFO] [1778490325.512572961] [controller_manager]: Loading hardware 'ur5e' 
dev-1  | [spawner-10] [INFO] [1778490325.513844197] [spawner_joint_trajectory_controller]: waiting for service /controller_manager/list_controllers to become available...
dev-1  | [ros2_control_node-1] [INFO] [1778490325.514723258] [controller_manager]: Loaded hardware 'ur5e' from plugin 'ur_robot_driver/URPositionHardwareInterface'
dev-1  | [ros2_control_node-1] [INFO] [1778490325.514788478] [controller_manager]: Initialize hardware 'ur5e' 
dev-1  | [ros2_control_node-1] [INFO] [1778490325.518748526] [controller_manager]: Successful initialization of hardware 'ur5e'
dev-1  | [ros2_control_node-1] [INFO] [1778490325.519562642] [controller_manager]: Activating component 'ur5e'.
dev-1  | [ros2_control_node-1] [INFO] [1778490325.519575154] [resource_manager]: 'configure' hardware 'ur5e' 
dev-1  | [ros2_control_node-1] [INFO] [1778490325.519580504] [URPositionHardwareInterface]: Starting ...please wait...
dev-1  | [ros2_control_node-1] [INFO] [1778490325.519588662] [URPositionHardwareInterface]: Initializing driver...
dev-1  | [ros2_control_node-1] [INFO] [1778490325.520995547] [UR_Client_Library:]: Negotiated RTDE protocol version to 2.
dev-1  | [ros2_control_node-1] [INFO] [1778490325.521056836] [UR_Client_Library:]: Received URControl version 5.17.3.0
dev-1  | [ros2_control_node-1] [INFO] [1778490325.521069292] [UR_Client_Library:]: Setting up RTDE communication with frequency 500.000000
dev-1  | [rviz2-7] [INFO] [1778490325.523857733] [rviz2]: Stereo is NOT SUPPORTED
dev-1  | [ros2_control_node-1] [INFO] [1778490325.529515258] [UR_Client_Library:]: Starting primary client pipeline
dev-1  | [ros2_control_node-1] [INFO] [1778490326.533550118] [UR_Client_Library:]: Stopping primary client pipeline
dev-1  | [ros2_control_node-1] [FATAL] [1778490326.620643539] [URPositionHardwareInterface]: Could not get configuration package within timeout, are you connected to the robot?(Configured timeout: 1 sec)
dev-1  | [ros2_control_node-1] [ERROR] [1778490326.620762277] [resource_manager]: Failed to 'configure' hardware 'ur5e'
dev-1  | [ros2_control_node-1] terminate called after throwing an instance of 'std::runtime_error'
dev-1  | [ros2_control_node-1]   what():  Failed to set the initial state of the component : ur5e to active
dev-1  | [ros2_control_node-1] Stack trace (most recent call last) in thread 184:
dev-1  | [ros2_control_node-1] #17   Object "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2", at 0xffffffffffffffff, in 
dev-1  | [ros2_control_node-1] #16   Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x71ffa073bc6b, in 
dev-1  | [ros2_control_node-1] #15   Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x71ffa06aeaa3, in 
dev-1  | [ros2_control_node-1] #14   Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33", at 0x71ffa093edb3, in 
dev-1  | [ros2_control_node-1] #13   Object "/opt/ros/jazzy/lib/librclcpp.so", at 0x71ffa0c0f9c6, in rclcpp::executors::MultiThreadedExecutor::run(unsigned long)
dev-1  | [ros2_control_node-1] #12   Object "/opt/ros/jazzy/lib/librclcpp.so", at 0x71ffa0bfcf59, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
dev-1  | [ros2_control_node-1] #11   Object "/opt/ros/jazzy/lib/librclcpp.so", at 0x71ffa0bfc82a, in rclcpp::Executor::execute_subscription(std::shared_ptr<rclcpp::SubscriptionBase>)
dev-1  | [ros2_control_node-1] #10   Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x71ffa0eaf794, in 
dev-1  | [ros2_control_node-1] #9    Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x71ffa0e26c9a, in controller_manager::ControllerManager::robot_description_callback(std_msgs::msg::String_<std::allocator<void> > const&)
dev-1  | [ros2_control_node-1] #8    Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x71ffa0e23f3b, in controller_manager::ControllerManager::init_resource_manager(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
dev-1  | [ros2_control_node-1] #7    Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x71ffa0de8148, in 
dev-1  | [ros2_control_node-1] #6    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33", at 0x71ffa090d390, in __cxa_throw
dev-1  | [ros2_control_node-1] #5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33", at 0x71ffa08f7a54, in std::terminate()
dev-1  | [ros2_control_node-1] #4    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33", at 0x71ffa090d0d9, in 
dev-1  | [ros2_control_node-1] #3    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33", at 0x71ffa08f7ff4, in 
dev-1  | [ros2_control_node-1] #2    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x71ffa063a8fe, in abort
dev-1  | [ros2_control_node-1] #1    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x71ffa065727d, in raise
dev-1  | [ros2_control_node-1] #0    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x71ffa06b0b2c, in pthread_kill
dev-1  | [ros2_control_node-1] Aborted (Signal sent by tkill() 20 0)
dev-1  | [ERROR] [ros2_control_node-1]: process has died [pid 20, exit code -6, cmd '/opt/ros/jazzy/lib/controller_manager/ros2_control_node --ros-args --params-file /opt/ros/jazzy/share/ur_robot_driver/config/ur5e_update_rate.yaml --params-file /tmp/launch_params_vuf1qpo8'].
dev-1  | [spawner-10] [FATAL] [1778490335.523921831] [spawner_joint_trajectory_controller]: Could not contact service /controller_manager/list_controllers
dev-1  | [spawner-9] [INFO] [1778490335.581631521] [spawner_joint_state_broadcaster]: waiting for service /controller_manager/list_controllers to become available...
dev-1  | [ERROR] [spawner-10]: process has died [pid 29, exit code 1, cmd '/opt/ros/jazzy/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 --inactive joint_trajectory_controller forward_velocity_controller forward_position_controller forward_effort_controller force_mode_controller passthrough_trajectory_controller freedrive_mode_controller tool_contact_controller --ros-args'].

Accept Public visibility

  • I agree to make this context public

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions