Skip to content

fix: retry ephemeral web port collisions safely - #72

Merged
cppla merged 1 commit into
mainfrom
codex/web-listen-port-retry
Oct 8, 2026
Merged

cppla merged 1 commit into
mainfrom
codex/web-listen-port-retry

Conversation

@cppla

@cppla cppla commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Retry a shared web TCP/UDP :0 allocation only when the selected UDP port is already occupied, up to eight total attempts. A fixed port on either side, any other bind error, and any rollback failure still fail immediately.
  • Preserve non-benign cleanup failures inside joined/wrapped errors instead of treating the entire error as already closed.
  • Add deterministic real-socket collision/rollback tests, retry-policy and cleanup-error regressions, explicit non-skipped Windows repetitions, and protocol documentation.

Validation

  • Final source: GOFLAGS=-p=1 make check and GOFLAGS=-p=1 make race passed.
  • Focused new/normalizer tests: five top-level tests, three repetitions each on macOS; no failures/skips.
  • Isolated, network-disabled Linux ARM64 Docker: eight top-level tests, three repetitions each; no failures/skips.
  • Same SHA256-verified test binary on the native ARM64 test host: the same eight tests, three repetitions each; no failures/skips. Process exited; temporary evidence retained, no services deployed.
  • GitHub checks: 14/14 passed for 1ab4e351f23d8bdc7d6f84acb5e91e249669334f, including Windows explicit three-pass/zero-skip assertions for each new listener-retry test.
  • Independent code/test review found no merge blockers.

Scope

This addresses an observed ephemeral TCP/UDP port collision from the preceding upgrade validation. It does not change fixed deployment endpoints, authentication, handshake profiles, or wire behavior. No large passive corpus, comparative claim, version tag, or release is included.

@cppla
cppla marked this pull request as ready for review October 8, 2026 10:28
Copilot AI balanced review requested due to automatic review settings October 8, 2026 10:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cppla
cppla merged commit d386c66 into main Oct 8, 2026
14 checks passed
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.

2 participants