Repository navigation
replace an unreachable daemon holding the port - #4
Closed
DexterStorey wants to merge 1 commit into
Closed
DexterStorey wants to merge 1 commit into
DexterStorey wants to merge 1 commit into
Conversation
Contributor
Author
|
landed on main as 9e43ffb, one commit on top of the resets release |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3.
A daemon left running across the 0.0.41 home rename keeps port 8459, but its IPC socket lives in the old
~/.codex-authhome. The CLI only pings the socket in the current home, sodaemon statussaidstoppedandtokenmaxx statusspawned children that died three times on the port bind. Deletingmanager.sockunder a live daemon strands the CLI the same way.The port is the contended resource, so the CLI now reads it directly. Every released daemon answers
tokenmaxx proxy: unknown routeon unknown routes;proxyIdentity(port)uses that as a fingerprint, and the 404 body is now pinned by a test as a protocol.daemon statusreportsunreachable — a tokenmaxx daemon (process N) holds port P but does not answer, exit 1, instead of lying withstopped.daemon startreplaces an unreachable tokenmaxx occupant: SIGTERM, wait up to 5s for the port to free, SIGKILL fallback. The shutdown watchdog in daemons ≥0.0.21 makes SIGTERM sufficient; older daemons that hang draining get the SIGKILL.Port P is in use by another program (process N); stop it or set TOKENMAXX_PROXY_PORT.doctorshows the unreachable state with the same guidance.Verified against live daemons in isolated homes: the exact issue #3 sequence (stale cross-home daemon), the deleted-socket variant, and a foreign
python3 -m http.serveron the port, which errors cleanly and survives untouched.