Skip to content

fix(frontdoor): start a watchdog replacement under the launcher's start lock - #513

Merged
Mearman merged 1 commit into
mainfrom
fix/sticky-port-retry
Oct 18, 2026
Merged

Mearman merged 1 commit into
mainfrom
fix/sticky-port-retry

Conversation

@Mearman

@Mearman Mearman commented Oct 18, 2026

Copy link
Copy Markdown
Member

fix(frontdoor): start a watchdog replacement under the launcher's start lock

A launcher that found the stalled door's pid dead in state.json spawned a
door of its own while the watchdog's replacement was still booting, because
the respawn never took the start lock the launcher's ensure checks. Under
load the launcher's door took long enough to start that the replacement had
already bound the sticky ports and was serving; the late door found them
held, moved off them, and then superseded the healthy door, stranding every
session launched against the old addresses.

The respawn now takes the same lock, naming the replacement as its holder,
so a launch that sees the dead pid waits for the replacement instead of
starting a second door. A live lock holder that already has a door starting
stops the respawn, and a dead holder's lock is cleared as the launcher
clears it.

…rt lock

A launcher that found the stalled door's pid dead in state.json spawned a
door of its own while the watchdog's replacement was still booting, because
the respawn never took the start lock the launcher's ensure checks. Under
load the launcher's door took long enough to start that the replacement had
already bound the sticky ports and was serving; the late door found them
held, moved off them, and then superseded the healthy door, stranding every
session launched against the old addresses.

The respawn now takes the same lock, naming the replacement as its holder,
so a launch that sees the dead pid waits for the replacement instead of
starting a second door. A live lock holder that already has a door starting
stops the respawn, and a dead holder's lock is cleared as the launcher
clears it.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-10-18T16:06:00.541752Z c02e071 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Mearman
Mearman merged commit 23752cd into main Oct 18, 2026
32 checks passed
@Mearman
Mearman deleted the fix/sticky-port-retry branch October 18, 2026 16:07
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