-
Notifications
You must be signed in to change notification settings - Fork 436
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
Unreliable services #1152
Comments
could you define the problem what you wanna fix?
you are mentioning the reliability, so after making sure service availability, service sometimes does not respond? right? |
Yes. After making sure service availability, service sometimes does not respond. Specifically, I want clear costmap services work well. |
thanks, I would like to see the stack trace or core when exactly this |
After making sure the navigation2 system is working, I run a small program listed below to call a service ( Also, run this snippet with 3-sec timeout hundreds of times. It randomly successes about 5% on my PC with Core i7-9750H @ 2.60GHz and about 70% on a server with Core i9-7920X @ 2.90GHz Example works perfectly.
|
ros2/ros2#922 looks same with this problem. |
Indeed. @daisukes mind to try ros2/rmw_fastrtps#390? It should mitigate the issue significantly. |
@fujitatomoya @hidmic I found a thing, still not sure how it relates to the problem though. |
FYI @MiguelCompany |
according to #1152 (comment), it is just a client stack, thread waiting for the event which is service availability. So as requester, service (looks) IS NOT ready. and the rest is the trace triggered by signal SIGINT. maybe we could check the service client/server debug log to see the difference? Any thoughts? |
Sent requests from the client are sometimes taken by the server, but sometimes not. planner_server_19898_1591165395685.log service_test program creates a node and client, then call success caseclient
server
failure caseclient
server
|
It works well if I use Fast-RTPS v1.10.0 instead of 2.0.x, which is changed in this April. |
Interesting.
I agree that a client hanging isn't a nice way to fail a service call, but if you don't wait for the service server the chances of the response future ever becoming ready are pretty low. |
Closing in favor of ros2/rmw_fastrtps#392 since these appear to be duplicates, and |
Hello @daisukes , Did you eventually solve it? I'm struggling with the same issue (I think it's the same). Some services just don't receive / respond to calls... |
Hello @omertal88, I have been using ros:galactic image on dockerhub and no preblems so far. I remember that we used to use Fast-RTPS(Fast-DDS) for foxy and needed to downgrade until the bug was fixed. The default DDS is changed to CycloneDDS for galactic from Fast-DDS for foxy. Have you checked different DDS implementations? |
Wow, so I changed the rmw to use cyclonedds and the issues were gone! |
@daisukes So in fact there are issues when calling services from CycloneDDS to Fast-RTPS. |
Bug report
Required Info:
Related to ros-navigation/navigation2#1788
Steps to reproduce issue
Expected behavior
Services should be responded.
Actual behavior
Services are sometimes not responded.
With my three environments described here, it could sometimes success and fail. Not sure but, It seems like depending CPU speed. I found this issue while trying to use clear costmap services.
Additional information
I have not checked all services in Navigation2, but at least some of the services are not responded.
The text was updated successfully, but these errors were encountered: