-
Notifications
You must be signed in to change notification settings - Fork 155
Investigate the rcl struct drop order #369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
While trying to produce an occasionally observed segfault in our unit tests, I managed to get
|
I am iterating on #342 and got the following stack trace from gdb:
It does seem to point to the drop implementation, I'll investigate further. |
Since your PR @luca-della-vedova I am not seeing this. I think you're right that these specific intermittent failures were indeed caused by the drop order! Looking at the git history, we had the old drop order since roughly August 2022, which would also explain why you can see intermittent failures for develop builds in Github actions going back as far as we can see. Thanks for you work here. I'm going to close this for now. We can revisit if we see failures in CI again. |
As discussed in the March 11th monthly meetup, we have some occasional unit test failures. These failures have seemingly been narrowed down to rclrs_tests and appear to be related to DDS usage. See #364 for more details.
With that in mind, it is imperative that we take multiple approaches to thoroughly investigate and analyze the root causes of these failures.
For this issue, we agreed that it would be beneficial to look at the drop order for our structs. Since we interface with C, it is possible that we are not properly dropping owned resources (i.e. not in the right order). This is a rather subtle potential problem and will require lots of attention to detail. See Destructors from the rust language reference for more details.
The text was updated successfully, but these errors were encountered: