Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_coretest_timer_handoff_1 at Robotics Stack Exchange
Package Summary
| Version | 0.0.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-11-12 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_coretest_timer_handoff_1
Core test for the hand-off of a timer created on the state machine thread to the
executor in the signal detector’s polling loop. It is sm_coretest_forced_finish_1’s
cycle run at 100 ms instead of 1 s, which is the shape that reproduced the missed
hand-off (finding W): a plain two-state timer ping-pong with no forced finish did not.
What it does
StA ──EvCountdownEnd──▶ StB ──EvTimer<CbTimerCountdownLoop>──▶ StA
-
StArunsCbSleepFor(30s)inOrSleepandCbTimerCountdownOnce(100ms)inOrTimer, with anSrEventCountdown(1)reactor on the timer event. The timer always wins, so everyStAexit forces the sleep to finish: the state machine thread holds the exit for the forced-finish wait, then entersStB, whoseCbTimerCountdownLoop(100ms)creates a new ROS timer in itsonEntry. - The polling loop’s executor has to pick that timer up. A hand-off it misses leaves
the timer ready and never executed, and the machine sits in
StBfor good. - About three cycles a second; a healthy 60 s run logs some 300
Enteredlines with no gap longer than a cycle. The gate’s invariant is the gap: no two consecutive state entries more than 5 s apart, and the last one within 5 s of the interrupt.
Running it
ros2 launch sm_coretest_timer_handoff_1 sm_coretest_timer_handoff_1.launch.py
Output is teed to /tmp/sm_coretest_timer_handoff_1_latest.log. The plain build is
the one that matters: the sanitizer allocators delay the reuse of freed memory, and
the race this test exists for has only ever shown in a plain build.
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| smacc2 | |
| cl_ros2_timer | |
| sr_event_countdown | |
| rclcpp |