Deleting/canceling a ros2 timer while executing causes segfault.
I've found that at some low rate calling cancel
or deleting a timer that was created by create_wall_timer can cause a segfault inside rclcpp::QOSEventHandlerBase
. What is the correct way to clean up (stop) a timer while executing?
I discovered this issue on a Debian install of Foxy on 20.04.
I know this isn't a helpful question or bug report without a minimal example. I'm working on trying to produce that. Because it is proving hard to produce a minimal example I'm going back to assuming something in the environment where I'm experiencing this is corrupting memory. If that's true I'll delete this question.
A code sample would be required to really give us an understanding of what we're working with.