-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Bug report
Required Info:
- Operating System:
- All platforms
- Installation type:
- source
- Version or commit hash:
- master
- DDS implementation:
- Fast-RTPS (branch: 1.10.x, commit: eProsima/Fast-DDS@09e07c8)
- Client library (if applicable):
- rclcpp
Steps to reproduce issue
Here is an example failure:
Note, the "failed to set parameter" messages are expected output of the test.
I'm able to reproduce locally on Linux (note the test is flakey, but happens more often than not):
colcon test --packages-select test_rclcpp --ctest-args -R "test_parameter_server_cpp__rmw_fastrtps_cpp" --event-handlers console_direct+
Expected behavior
Tests pass.
Actual behavior
Tests fail (timeout)
Additional information
With #419 checked out, we can see that the different tests hang at different points in the execution.
With additional print statements, I've been able to determine that the timeouts occur due to the parameter client waiting forever for a service response (GetParameters.srv, SetParameters.srv, or ListParameters.srv). It looks to me that the service request always makes it to the service server (which succesfully makes the rcl call to send the response), but the response sometimes never reaches the client.
So far, I've only been focused on Fast-RTPS, which is the RMW we see failing on the nightlies.
Also, I've only seen the *_sync
tests fail. I have not witnessed a test with an AsyncParametersClient
fail to get a response.