Skip to content

Fail a running goal whose action server has disappeared - #1

Merged
Aaron-VG merged 1 commit into
jazzyfrom
fix/fail-when-the-server-disappears
Oct 23, 2026
Merged

Aaron-VG merged 1 commit into
jazzyfrom
fix/fail-when-the-server-disappears

Conversation

@Aaron-VG

Copy link
Copy Markdown
Collaborator

A RosActionNode whose action server crashed or was restarted while its goal ran stayed RUNNING for ever: the result could never arrive. A tree that starts an action only when it is not already running then never started it again.

Seen on Reachy Mini: restarting the gaze server left the controller's gaze tracking dead until the controller itself was restarted.

Change. While running, the node checks that the server is still there. When it has been gone for longer than server_timeout (so a discovery hiccup does not count), the goal fails with SERVER_UNREACHABLE, and the tree can start it again on the new server.

Tested. With the controller on an isolated ROS domain and a fake gaze server restarted mid-goal: the goal failed, and tracking resumed on the new server within a second.

Known limit. A server that crashes hard and comes back within the DDS lease (about 20 s) is not seen as gone.

A RosActionNode whose action server crashed or was restarted while its
goal ran stayed RUNNING for ever: the result could never arrive. A tree
that starts an action only when it is not already running then never
started it again. Seen on Reachy Mini: restarting the gaze server left
the controller's gaze tracking dead until the controller was restarted.

While running, the node now checks that the server is still there; gone
for longer than server_timeout (so a discovery hiccup does not count),
the goal fails with SERVER_UNREACHABLE.
@Aaron-VG
Aaron-VG merged commit da7f026 into jazzy Oct 23, 2026
1 check failed
@Aaron-VG
Aaron-VG deleted the fix/fail-when-the-server-disappears branch October 23, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant