ros2 / rmw_cyclonedds

ROS 2 RMW layer for Eclipse Cyclone DDS
Apache License 2.0
117 stars 90 forks source link

Fix the triggering of guard conditions. #504

Closed clalancette closed 4 months ago

clalancette commented 4 months ago

When a guard condition goes active, we have to remember to increase the trig_idx so we look at the next trigger. Otherwise, we can get into situations where we skip a triggered member.

This is a regression from #482 . This fixes #494 and should also fix https://github.com/ros2/rclcpp/issues/2502 . @Crola1702 FYI.

This should also be backported to Jazzy.

clalancette commented 4 months ago

Here's regular CI on this:

But here is also a run with all RMWs except for CycloneDDS disabled:

clalancette commented 4 months ago

Here's another try of CycloneDDS-only, with a fix in the CI scripts:

ros-discourse commented 4 months ago

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/preparing-for-rolling-sync-2024-07-11/38526/2

clalancette commented 4 months ago

Since we haven't run CI on just CycloneDDS in a long time, here is a run of it on rolling (i.e. without this PR), just to see if it matches what we saw above:

clalancette commented 4 months ago

All right. Regular CI went swimmingly. CI on CycloneDDS only wasn't perfect, but it definitely showed less failures than without this PR. After poking at some of the other issues locally, I'm convinced that those are for other reasons.

So with all of that, and the approval, I'm going to go ahead and merge this, and also backport to Jazzy.

clalancette commented 4 months ago

@Mergifyio backport jazzy

mergify[bot] commented 4 months ago

backport jazzy

✅ Backports have been created

* [#505 Fix the triggering of guard conditions. (backport #504)](https://github.com/ros2/rmw_cyclonedds/pull/505) has been created for branch `jazzy`
claraberendsen commented 4 months ago

@Mergifyio backport iron

mergify[bot] commented 4 months ago

backport iron

✅ Backports have been created

* [#507 Fix the triggering of guard conditions. (backport #504)](https://github.com/ros2/rmw_cyclonedds/pull/507) has been created for branch `iron` but encountered conflicts