-
Notifications
You must be signed in to change notification settings - Fork 453
EventsExecutor misses one-shot-timer and never executes it again. #2803
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
Comments
Hm, I fear this is not fixable in jazzy without breaking ABI. The long term plan is to replace the events executor with the The EventsCBGExecutor is available for jazzy from here : Usage : #include <cm_executors/events_cbg_executor.hpp>
rclcpp::executors::EventsCBGExecutor executor(rclcpp::ExecutorOptions(), 1); Output of the EventsCBGExecutor for your test code :
|
@robin-zealrobotics @jmachowinski just checking, this problem happens on rolling too, right? |
Yes |
Uh oh!
There was an error while loading. Please reload this page.
Operating System:
Linux robin-zeal 6.9.3-76060903-generic #202405300957~1732141768~22.04~f2697e1~dev-Ubuntu SMP PREEMPT_DY x86_64 x86_64 x86_64 GNU/Linux
ROS version or commit hash:
jazzy
RMW implementation (if applicable):
rmw_zenoh_cpp
RMW Configuration (if applicable):
No response
Client library (if applicable):
rclcpp
'ros2 doctor --report' output
ros2 doc --report
<COPY OUTPUT HERE>
Steps to reproduce issue
Run this code
Expected behavior
The one-shot timer callback should be called every time, or at least every time after the sleep part ends.
Actual behavior
The one-shot timer callback gets called a few times at the start, then it never gets called again even after the sleep part ends.
Additional information
The sleep is there because the event seems to be missed only when the executor takes a while handling other things. Once the event is missed, it is stuck forever.
On the single-threaded executor the callback gets called every single time, it never skips creation.
The text was updated successfully, but these errors were encountered: