Open YuanYuYuan opened 1 week ago
The analysis has been posted in rclpy https://github.com/ros2/rclpy/issues/1352
@YuanYuYuan thanks for the detailed analysis! Curious if this issue only arises with rclpy
or also rclcpp
? Also, would this be related to https://github.com/ros2/rmw_zenoh/issues/170?
I still think shutting down the Zenoh session within rmw_shutdown
is the right thing to do. If downstream packages such as rclpy
and rclcpp
are not equipped to handle cases where this function takes a while to execute, then we should fix expectations in those downstream implementations to handle these cases.
Hi @Yadunund, I believe this issue is mainly caused by rclpy and the fix is coming https://github.com/ros2/rclpy/pull/1353.
Also, would this be related to https://github.com/ros2/rmw_zenoh/issues/170?
Actually, it would be a possible consequence once we fix rclpy. I think there has already been many debates in Rust community about this problem. See here for more details. In short, Rust suggests not doing this way.
rmw_zenoh_cpp
sometimes fails to pass system_tests/test_communication with the following error.To reproduce
Note: The root cause is zenoh possibly takes a bit longer to close the session in
rmw_shutdown
. One can easily reproduce this by adding a sleep inrmw_shutdown
.