-
Notifications
You must be signed in to change notification settings - Fork 874
Description
Relates to #1017
Bug report
Required Info:
- Operating System:
- Ubuntu 20.04
- Installation type:
- binaries
- Version or commit hash:
- Latest galactic
- DDS implementation:
- Fast-RTPS
- Client library (if applicable):
- rclcpp
Steps to reproduce issue
I'm able to reproduce this intermittently both in CI as well as on real wireless devices, and it does not reproduce on cyclonedds. To replicate the behavior we see in real life, I issue service calls quickly over a WIFI network.
On machine 1
ros2 run demo_nodes_cpp add_two_ints_server
On machine 2, connected via WIFI to machine 1
seq 1 25 | parallel -j 25 ros2 run demo_nodes_cpp add_two_ints_client &
It's not 100% of the time, but using this setup over a wifi-based network, I'm able to reproduce the exact error we see in the wild.
Expected behavior
No terminations
Actual behavior
terminate called after throwing an instance of 'rclcpp::exceptions::RCLError' what(): failed to send response: client will not receive response, at /tmp/binarydeb/ros-galactic-rmw-fastrtps-shared-cpp-5.0.1/src/rmw_response.cpp:129, at /tmp/binarydeb/ros-galactic-rcl-3.1.2/src/rcl/service.c:287
Additional information
Doesn't break on CycloneDDS. Doesn't break when run locally with both nodes on the same host.