-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_parameter_server_cpp times out #420
Comments
This reminded me of an outstanding issue we have with services: ros2/demos#304 Indeed, I can reproduce what's happening in the Start a server:
And repeatedly send requests:
Every time the server receives the request. But only some of the time does the client get the response. I can also reproduce this issue with CycloneDDS, although it happens much less frequently. |
@hidmic this is happening with cyclonedds too https://ci.ros2.org/view/nightly/job/nightly_win_rel/1537/testReport/junit/(root)/projectroot/test_parameter_server_cpp__rmw_cyclonedds_cpp/. |
@ivanpauno I'd think issues in CycloneDDS are related to ros2/rmw_cyclonedds#74. |
I originally thought the same, but then I discovered ros2/rclcpp#1101. |
Alright, it's not a race in SPDP comms. And the service reply change set is being sent and arriving. I can't tell what the root cause of the problem is yet, but each and every time the client hangs, the
It'd almost seem like the One interesting and annoying detail is that hooking up |
@hidmic Thanks for the in-deep analysis This seems like the same issue we were trying to solve with eProsima/Fast-DDS#1190 which, in particular,
|
@MiguelCompany indeed. I can no longer reproduce. |
Considering that recent repeated OSX nightlies no longer show this flake (https://ci.ros2.org/view/nightly/job/nightly_osx_repeated/1941 or https://ci.ros2.org/view/nightly/job/nightly_osx_repeated/1943 for instance), I'll close this. |
Bug report
Required Info:
Steps to reproduce issue
Here is an example failure:
https://ci.ros2.org/view/nightly/job/nightly_osx_repeated/1918/testReport/junit/(root)/projectroot/test_parameter_server_cpp__rmw_fastrtps_cpp/
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):
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 anAsyncParametersClient
fail to get a response.The text was updated successfully, but these errors were encountered: