From 374f70c76f56bed0a08da8bab9f358e63dec49d3 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Mon, 20 Jul 2026 19:48:00 +0100 Subject: [PATCH] =?UTF-8?q?docs(backlog):=20re-measure=20#146=20=E2=80=94?= =?UTF-8?q?=20zero=20genuine=20hypridle=20zombies=20post-fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Re-ran the measurement per the entry's own recipe on the dev box (user journal persistent to 2026-05-01, full window). Post-linger-fix (2026-07-16 ~18:00 on) every `Disconnected from pollfd id 1` is a clean teardown bracketed by a logind `Session N logged out` + a systemd `Stopped hypridle` within <=11s (07-16 20:13, 07-17 17:04, 07-18 13:35, 07-19 16:46). Zero genuine zombies. Live daemon healthy (ss Recv-Q 0, NRestarts=0, active, ExecMainPID==pid). Caveat: all four were deliberate logouts, no compositor crash post-fix yet, so the crash path is confirmed by argument not observation, and 4 days < the "few weeks" bar. Set an explicit close condition (~2026-08-10 if still 0). Not closing today. Co-Authored-By: Claude Opus 4.8 --- agent/BACKLOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 9659b3d..a176b3a 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -128,6 +128,26 @@ v1+ polish, not a v1 blocker. ### 146. `[watch]` hypridle hangs instead of exiting when its compositor vanishes +**Re-measured 2026-07-20 (dev box; user journal is persistent back to 2026-05-01, +so this is the full window, not a fragment).** The linger fix landed between 17:25 +and 20:13 on 2026-07-16: the last zombie-shaped disconnect is the known one +(17:25:39, PID 1698 — logout→greeter with **no** following `Stopped hypridle`), and +**every** `Disconnected from pollfd id 1` since is a clean teardown bracketed by both +a logind `Session N logged out` and a systemd `Stopped hypridle` within ≤11s +(07-16 20:13:04, 07-17 17:04:38, 07-18 13:35:25, 07-19 16:46:49). **Genuine zombies +post-fix: 0.** The live daemon is healthy too — PID 1707: `active`, `NRestarts=0`, +`ExecMainPID`==pid, `ss` Recv-Q 0 on its D-Bus socket (reading, not the 48 KB-unread +wedge), `WCHAN futex_do_wait`, logged activity <10 min before inspection. **Why this +stays open a little longer, not closed today:** all four post-fix disconnects were +*deliberate* logouts — no Hyprland *crash* (the zombie's actual trigger; the nearby +coredumps were xdg-desktop-portal/swww/swayosd during teardown, not the compositor) +has occurred since the fix, so the crash path is confirmed by argument (a crash ends +the logind session too → no-linger manager teardown reaps hypridle) but not yet by an +observed crash, and ~4 days is under the "few weeks" bar. **Close condition:** if +genuine zombies stay 0 by ~2026-08-10 (≈3 weeks post-fix), close unbuilt; one wedged +process (`ps` alive + `ss` Recv-Q high + `NRestarts=0` while `active`) reopens it as +real work. Everything below is prior context, unchanged. + **Rewritten 2026-07-16, hours after filing: the premise was disproven and almost nothing survives.** As filed it said hypridle "dies silently ~2×/week — 19 times in 11 days", with Jul 14 as the clean example ("`CRITICAL` at 13:08:17, then