You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
Paul C
committed
v24.7.32: dnsmasq zombie leak + wolfnet config save + VM network save
Three Sponsor-reported fixes ship together.
* KO4BSR 2026-05-28: 1300+ defunct dnsmasq processes parented to
wolfstack on his node. Root cause: `Command::new("dnsmasq").spawn()`
in both `ensure_lxcbr0_services` (containers) and the per-TAP
WolfNet DHCP setup (vms) launched dnsmasq and dropped the Child
handle without ever calling `.wait()`. dnsmasq daemonizes by double-
fork, so its initial process exits the moment the daemon is forked
— and that initial process becomes a zombie under wolfstack
because nothing reaps it. Switched both call sites to `.status()`
so the parent dnsmasq is reaped synchronously after its quick
daemonize fork. Restarting wolfstack clears the existing pile.
* Klas (Sponsor) 2026-05-28 #1: editing the listen port on one node
wiped `/etc/wolfnet/config.toml` and wolfnet then exited on every
start. WolfStack-side `save_wolfnet_config` and the four other
paths that rewrote the file now route through one helper that
refuses empty/malformed payloads, snapshots the existing file to
`config.toml.bak`, and atomic-renames a `.tmp` into place. wolfnet
0.5.25 (shipped separately) adds the matching self-heal on the
load side: if config.toml is missing or empty but .bak exists,
it gets restored before parsing.
* Klas (Sponsor) 2026-05-28 #2: "trying to change a network setting
on a vm and an unable to click save button; a little later it
says settings saved but settings have not been changed" on a
Proxmox node. Two issues:
- The Save/Cancel footer in the VM-settings modal scrolled with
the body and could end up below the viewport on small screens.
Made it position:sticky to the bottom of the modal-body so it
is always reachable.
- On the Proxmox update path, `qm set --net0`, `qm set --net1`,
and the WolfNet bridge reconcile all logged a warning and
returned Ok(()) on failure — so the handler answered 200 to
the API and the UI showed a success toast while PVE had
rejected the change. All three now propagate the error so the
frontend surfaces what PVE actually said. `qm set --delete
net1` keeps treating "net1 not in config" as a no-op since
that's the desired state.
0 commit comments