You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: we have "guard condition handle not from this implementation" errors in tests sometimes. it seems to me that the rmw_fastrtps_cpp code is doing the right thing, but it's a race condition in fastrtps. I opened eProsima/Fast-DDS#134 with a fix that works for me locally, this ticket is for local tracking.
An example of when this is likely to happen is an executable that creates a publisher but is in the process of shutting down before it finally gets advertised. I can reproduce it pretty often with ~/ros2_ws/build_isolated/test_rclcpp/gtest_local_parameters__rmw_fastrtps_cpp --gtest_filter=test_local_parameters__rmw_fastrtps_cpp.set_parameter_if_not_set, and
here's example output from test_publisher__rmw_fastrtps_cpp on the buildfarm:
[ RUN ] TestPublisherFixture__rmw_fastrtps_cpp.test_publisher_nominal_string
[ERROR] [rmw_fastrtps_cpp]: failed to trigger graph guard condition: guard condition handle not from this implementation, at /home/rosbuild/ci_scripts/ws/src/ros2/rmw_fastrtps/rmw_fastrtps_cpp/src/rmw_trigger_guard_condition.cpp:31 (onNewCacheChangeAdded() at /home/rosbuild/ci_scripts/ws/src/ros2/rmw_fastrtps/rmw_fastrtps_cpp/src/types/writer_info.hpp:105)
-- run_test.py: return code -11
That error output is from when the guard condition is triggered from within onNewCacheChageAdded, or if you're unlucky you can get:
Summary: we have "guard condition handle not from this implementation" errors in tests sometimes. it seems to me that the
rmw_fastrtps_cpp
code is doing the right thing, but it's a race condition in fastrtps. I opened eProsima/Fast-DDS#134 with a fix that works for me locally, this ticket is for local tracking.A crash that can occur when the onNewCacheChageAdded of the custom ReaderListener in ROS 2 (used for listening to info about the graph e.g. topic names and types) is being called after we have removed the listener.
An example of when this is likely to happen is an executable that creates a publisher but is in the process of shutting down before it finally gets advertised. I can reproduce it pretty often with
~/ros2_ws/build_isolated/test_rclcpp/gtest_local_parameters__rmw_fastrtps_cpp --gtest_filter=test_local_parameters__rmw_fastrtps_cpp.set_parameter_if_not_set
, andhere's example output from
test_publisher__rmw_fastrtps_cpp
on the buildfarm:That error output is from when the guard condition is triggered from within onNewCacheChageAdded, or if you're unlucky you can get:
The text was updated successfully, but these errors were encountered: