Skip to content
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

Make halted robots immediately wake up #2254

Merged
merged 1 commit into from
Jan 3, 2025
Merged

Make halted robots immediately wake up #2254

merged 1 commit into from
Jan 3, 2025

Conversation

byorgey
Copy link
Member

@byorgey byorgey commented Dec 31, 2024

The code for halt used to (1) cancel the robot's CESK machine, and then (2) put it to sleep forever. However, at some point the way we cancel CESK machines changed: instead of immediately putting the machine into a finished state, we simply put it into a state which will propagate an uncatchable error all the way up the stack. This is necessary to make sure we finalize things appropriately, persist any definitions in the environment which ought to be persisted, etc., but it means that a "canceled" robot still has to run for a bit longer to do the finalization work. Robots which were inactive when they were canceled thus never got a chance to finalize. The solution is to wake up the robot after canceling rather than putting it to sleep!

Closes #2253.

@byorgey byorgey requested review from kostmo and xsebek December 31, 2024 20:44
@byorgey byorgey mentioned this pull request Dec 31, 2024
@byorgey byorgey added the merge me Trigger the merge process of the Pull request. label Jan 3, 2025
@mergify mergify bot merged commit 8335051 into main Jan 3, 2025
14 checks passed
@mergify mergify bot deleted the fix/issue-2253 branch January 3, 2025 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge me Trigger the merge process of the Pull request.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

halted waiting robots are stuck in limbo and cannot be reprogrammed
2 participants