a daemon whose socket file is deleted can never be reached by path again, and no admin verb reaches it any other way #84
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[claude 2026-09-04] Seen 2026-09-04. The daemon (pid 2562370, 3 days up, upgraded in place
at 11:51) lost
/run/user/1000/muxd.sockfrom disk between 13:21 and 13:45.It kept running, kept its three sessions, kept LISTENING on the unlinked
inode (
ss -xlpstill shows the path string), and kept its QUIC arm on UDP48418. But:
serve.adoptonly re-stamps the idof a file already there, and nothing re-binds (grep rebind: nothing);
mux dadmin verb — stop, upgrade, dump, stats — takes--sockonly,so the daemon cannot be stopped, upgraded, or inspected. It can be attached
to over
quic://127.0.0.1:48418, or killed with a signal, which "runsnothing" by design and orphans the ptys.
Meanwhile a second daemon bound the same path (see the auto-start issue),
so
ss -xlpshows two LISTEN entries for one path string and only the neweranswers dials. The rule "no socket stealing" held — nothing stole — but the
outcome is the one that rule exists to prevent: sessions stranded on a
daemon nobody can reach.
Options worth weighing: (a) a daemon that notices its path no longer names
its inode (a cheap stat on each accept, or on a timer) re-binds or at least
logs loudly; (b)
mux d stop/upgrade/dumpaccept--quic HOST:PORT --keylike
mux adoes, so a path-less daemon is still administrable; (c) both.Migrated from git-collab issue
7e02b9651c3ec8179111b5b5c8b776ac5cc075a7.Original author: a73x dev@a73x.sh.