Add a test for destroy_node while spinning#663
Conversation
Signed-off-by: Scott K Logan <logans@cottsay.net>
|
After some digging, it appears that the exception generated by The segfault when using Here is an example of this occuring on a macOS build: #667 (comment) This doesn't appear to be a problem in The |
Signed-off-by: Scott K Logan <logans@cottsay.net>
The execption coming out of the spin thread when `rmw_fastrtps_cpp` is used is actually caused by the call to `context.shutdown()`, and is therefore expected behavior. We should make sure it happens that way. Signed-off-by: Scott K Logan <logans@cottsay.net>
|
As we discussed, I've converted this to a draft PR and assigned it to one of the rclpy maintainers. This is probably something that we should try to fix for Galactic, so I'm also putting it on the Galactic board. |
|
Now that we've merged #761, I think it is probably a good idea to rebase this one and see if it is fixed. |
Signed-off-by: Scott K Logan <logans@cottsay.net>
clalancette
left a comment
There was a problem hiding this comment.
Seems like a reasonable test to have to me! Should catch these kinds of issues in the future.
I'm not sure if we ever intended to support calling
Node.destroy_node()while another thread is spinning or not, but if you do so, the spinner will die with a segmentation fault.This PR doesn't actually address the issue, it just adds a test to demonstrate the problem.
With
rmw_cyclonedds_cpp:With
rmw_fastrtps_cpp: