Deleting/canceling a ros2 timer while executing causes segfault.

asked 2021-01-14 17:44:01 -0500

updated 2021-01-14 17:44:52 -0500

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.

edit retag flag offensive close merge delete



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.

tyler-picknik gravatar image tyler-picknik  ( 2021-01-15 13:13:34 -0500 )edit

A code sample would be required to really give us an understanding of what we're working with.

stevemacenski gravatar image stevemacenski  ( 2021-01-15 13:18:47 -0500 )edit