-
Notifications
You must be signed in to change notification settings - Fork 417
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
destroyed nodes can cause Executor to crash #272
Comments
Is this issue till open by now ? |
While debugging ros-simulation/gazebo_ros_pkgs#860 with @wjwwood we noticed that the original problem may be another symptom from this same issue. In that case, when the node is destroyed, the executor hangs while detaching a guard condition. Here's a backtrace:
|
While this logic takes care of removing expired weak pointers from rclcpp/rclcpp/src/rclcpp/executor.cpp Lines 421 to 432 in 131a11b
it doesn't remove the guard condition associated with the node though. In the rclcpp/rclcpp/src/rclcpp/executor.cpp Line 172 in 131a11b
As a consequence the wait set allocated in |
* initialize timer with clock * use rcl_clock_get_now * call rcl_clock_fini at the end of each test * modify rcl_clock_get_now to take a rcl_time_point_value_t * update docblock * update to pass time_point_value * add check for NULL * add rcl_timer_clock() * fix style * doc fixes * fini clock
Signed-off-by: Bey Hao Yun <[email protected]>
User error alert! This is probably because I'm still learning C++11 🤕 but I suspect I might not be the only person who tries to do this:
which results in this:
with this backtrace:
I'm not sure what the right answer is. If it's possible to somehow generate a warning and say something like "hey there! I hope you're having a gr8 day. You should probably hold a
shared_ptr
to that instance on your stack." But that might be hard to generate (actually I have no idea how one could generate that).The text was updated successfully, but these errors were encountered: