Skip to content

Fix process hangs: add timeouts and fix atexit handler conflict#17

Open
mrkurt wants to merge 1 commit intomainfrom
fix/ci-hang-timeouts
Open

Fix process hangs: add timeouts and fix atexit handler conflict#17
mrkurt wants to merge 1 commit intomainfrom
fix/ci-hang-timeouts

Conversation

@mrkurt
Copy link
Copy Markdown
Member

@mrkurt mrkurt commented Feb 10, 2026

Summary

  • Fix atexit handler conflictcontrol.py's atexit handler could create a new event loop after loop.py's handler already stopped it (LIFO ordering), causing a hang during shutdown. Now checks if _loop is None before attempting cleanup.
  • Add HTTP timeouts to checkpoint operationscheckpoint.py used timeout=None for create/restore, meaning requests could block forever. Changed to 300s (5 minutes).
  • Add timeout to quickstart examplequickstart.py now uses timeout=30 on the command call to prevent indefinite blocking.

- Add timeout=30 to quickstart example command to prevent indefinite
  blocking on WebSocket hangs
- Change checkpoint HTTP client timeout from None to 300s to prevent
  indefinite blocking on slow API responses
- Fix atexit handler to skip cleanup if the event loop was already
  stopped by loop.py's handler, preventing creation of a new loop
  during shutdown
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