[eloquent] Ensure rcl_clock accesses are thread-safe (ABI-safe version).#1056
[eloquent] Ensure rcl_clock accesses are thread-safe (ABI-safe version).#1056clalancette wants to merge 4 commits intoeloquentfrom
Conversation
This is an alternative PR to #999 The code in this one is less nice, but it is ABI-safe. Thus, it can be used as a short-term workaround for users hurt by the problem now, and/or used as the solution for Eloquent. Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
|
@ros-pull-request-builder retest this please |
hidmic
left a comment
There was a problem hiding this comment.
LGTM and CI's happy. I think this one's ready to go.
|
@mjcarroll correctly pointed out that https://ci.ros2.org/job/ci_linux/10124/testReport/junit/(root)/test_rclcpp/gtest_spin__rmw_connext_cpp_gtest_missing_result/ looks suspiciously like a regression from this patch. I wasn't able to reproduce locally, but I think it needs more looking into. |
|
After doing a bit of debugging here, it turns out that there are some accesses to the |
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
|
Thanks to some help from @hidmic, I think we've solved the crash. Here is another CI on Linux (all packages, all tests, Eloquent/Bionic), to be sure: |
|
There are 194 failures in the Linux build. If I filter out all of the flake8 and pep257 ones, that leaves me with the following list: I believe that the WString interoperability with Connext is a known issue, so we can ignore those. That leaves us with: But if memory serves correctly, the Cyclone version in Eloquent didn't support liveliness or deadline. So overall, I think we're pretty good to go here. I'm going to run one last CI on the other platforms, then go ahead and merge this. |
|
While we could potentially slip this into Eloquent, I think it is too risky given that Eloquent is going EOL in 4-6 weeks. I'm just going to close this out; the fix is in Foxy and later. |
This is an alternative PR to #999
The code in this one is less nice, but it is ABI-safe. Thus,
it can be used as a short-term workaround for users hurt by
the problem now, and/or used as the solution for Eloquent.
Signed-off-by: Chris Lalancette clalancette@openrobotics.org
I'm still testing this, so consider this a request for comment on the approach. Once I run a full CI on it, I'll be more confident in it.