You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
atsushi421
changed the title
rclcpp::MultiThreadedExecutor may crash by assert in get_next_ready_executable_from_map()
MultiThreadedAgnocastExecutor may crash by assert in get_next_ready_executable_from_map()
Mar 4, 2025
MultiThreadedAgnocastExecutor::ros2_spin()
はExecutor::get_next_executable()
->Executor::get_next_ready_executable()
->Executor::get_next_ready_executable_from_map()
を呼び出す。get_next_ready_executable_from_map()
はsuccess=true
の際に、この行で can_be_taken_from()がtrueであることをassertするが、success=true
~895行目の間に execute_agnocast_executables() によって can_be_taken_from() が false に更新されると、このassert文でabortしてしまう。仮にassertが無かったとしても、MutuallyExclusiveのルールが破られてしまう (agnocast callbackとros2 callbackが同時に実行されうる) ので、いずれにせよバグである。
Related Slack
The text was updated successfully, but these errors were encountered: