Martin Vogel
c78c077a50
fix(subprocess): fail the tree probe on a live member it cannot measure
...
cbm_subprocess_tree_rss_bytes skipped any non-root process it could not
measure and still returned OK with a smaller total, so a descendant the
platform refused to measure silently dropped out of the RSS watchdog.
Now a member is skipped only when the platform says it no longer exists:
ESRCH from proc_pid_rusage on macOS, ENOENT or ESRCH for /proc/<pid>/stat on
Linux, ERROR_INVALID_PARAMETER from OpenProcess (or an exit code from a
handle whose memory query failed) on Windows. Any other failure fails the
probe, which the supervisor already turns into resource_probe_failed after
three consecutive errors. The root stays strict as before.
On macOS the members now come from proc_listpids(PROC_PGRP_ONLY): the old
all-process scan read every process with proc_pidinfo, which answers EPERM
for every process of another user (178 of 6438 on this machine), so it could
not tell a foreign process from an unreadable member and fail-closed
semantics would have failed every probe there. Linux keeps its /proc scan;
stat files are world-readable on a default mount, and a hidepid=1 mount now
fails closed, which the doc states.
A test seam makes every non-root measurement fail with one platform error.
RED (old skip-any-failure decision): the live-member test returns OK where
ERROR is required. GREEN with the fix; the exited-member test passes in both,
so verified exit races are still ignored.
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-11-02 00:27:33 +01:00
..
2026-10-17 20:44:27 +02:00
2026-09-18 23:27:23 +02:00
2026-10-14 04:08:22 +02:00
2026-10-15 18:07:25 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-09-12 16:50:42 +02:00
2026-09-28 00:30:10 +02:00
2026-10-11 20:16:34 +02:00
2026-09-18 03:31:22 +02:00
2026-10-01 19:59:02 +02:00
2026-10-13 18:33:40 +02:00
2026-10-01 00:10:39 +02:00
2026-10-13 19:35:11 +02:00
2026-10-13 00:33:09 +02:00
2026-10-13 18:33:40 +02:00
2026-09-11 23:26:33 +02:00
2026-09-08 02:04:51 +02:00
2026-10-04 16:22:57 +02:00
2026-09-25 22:56:39 +02:00
2026-10-14 22:09:37 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 03:19:38 +02:00
2026-10-06 03:19:38 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-10 15:24:17 +02:00
2026-10-14 21:05:58 +02:00
2026-10-19 17:18:01 +08:00
2026-10-05 18:52:26 +02:00
2026-09-25 23:03:56 +02:00
2026-09-30 23:33:54 +02:00
2026-10-11 16:57:48 +02:00
2026-09-28 00:01:56 +02:00
2026-10-11 12:00:31 +02:00
2026-10-12 19:07:09 +02:00
2026-10-09 02:55:23 +02:00
2026-10-11 12:43:35 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 23:13:18 +02:00
2026-10-11 02:09:04 +02:00
2026-10-12 19:11:19 +02:00
2026-10-11 12:43:35 +02:00
2026-10-11 16:46:52 +02:00
2026-10-11 02:09:04 +02:00
2026-10-11 02:09:04 +02:00
2026-10-10 11:34:47 +02:00
2026-10-11 02:09:04 +02:00
2026-10-09 18:24:01 +02:00
2026-09-22 08:48:33 +02:00
2026-10-13 00:02:21 +02:00
2026-10-09 01:56:17 +02:00
2026-10-18 16:42:21 +02:00
2026-10-13 00:31:54 +02:00
2026-10-19 04:47:30 +02:00
2026-10-12 20:18:19 +02:00
2026-10-11 11:42:35 +02:00
2026-10-01 22:56:52 +02:00
2026-10-14 20:18:55 +02:00
2026-09-30 23:50:03 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-11 02:08:58 +02:00
2026-10-16 18:16:50 +02:00
2026-10-10 15:40:21 +02:00
2026-10-10 17:19:41 +02:00
2026-10-14 22:54:02 +02:00
2026-10-05 18:52:31 +02:00
2026-10-06 03:19:38 +02:00
2026-09-18 23:27:23 +02:00
2026-09-30 23:50:03 +02:00
2026-10-11 20:16:34 +02:00
2026-09-26 07:14:58 +02:00
2026-10-16 02:10:53 +02:00
2026-10-19 17:18:00 +08:00
2026-10-02 20:51:31 +02:00
2026-11-02 00:16:13 +01:00
2026-10-18 18:31:05 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 18:07:16 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 18:07:16 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-18 16:42:30 +02:00
2026-10-05 18:52:31 +02:00
2026-10-17 14:48:52 +02:00
2026-10-10 13:37:44 +02:00
2026-09-10 10:21:35 +02:00
2026-10-11 22:11:56 +02:00
2026-11-02 00:16:48 +01:00
2026-10-19 17:18:00 +08:00
2026-09-18 23:27:23 +02:00
2026-10-14 22:54:02 +02:00
2026-09-13 13:52:08 +03:00
2026-10-11 02:08:58 +02:00
2026-09-28 19:45:45 +02:00
2026-10-18 23:58:22 +02:00
2026-10-12 20:23:13 +02:00
2026-10-02 05:34:41 +02:00
2026-10-19 01:03:15 +02:00
2026-10-05 02:15:08 +02:00
2026-10-05 23:55:25 +02:00
2026-10-19 07:20:14 +02:00
2026-10-10 15:40:21 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-10-12 21:29:00 +02:00
2026-10-18 04:48:27 +02:00
2026-10-18 03:41:31 +02:00
2026-10-03 18:37:19 +02:00
2026-10-15 18:07:25 +02:00
2026-10-18 06:55:57 +02:00
2026-09-28 00:13:39 +02:00
2026-10-11 20:42:19 +02:00
2026-10-03 18:37:19 +02:00
2026-09-13 01:27:43 +02:00
2026-10-15 03:18:42 +02:00
2026-10-11 18:23:58 +02:00
2026-10-17 14:48:52 +02:00
2026-10-11 15:46:00 +02:00
2026-10-02 06:50:04 +02:00
2026-09-18 03:31:42 +02:00
2026-09-18 23:27:23 +02:00
2026-09-30 23:21:43 +02:00
2026-09-21 11:29:04 +03:00
2026-09-13 13:52:00 +03:00
2026-10-06 02:44:56 +02:00
2026-09-25 18:37:16 +02:00
2026-10-14 21:20:07 +02:00
2026-10-07 19:20:08 +02:00
2026-10-05 23:55:25 +02:00
2026-10-13 18:33:40 +02:00
2026-10-14 21:05:58 +02:00
2026-10-14 18:26:57 +02:00
2026-10-03 23:55:18 +02:00
2026-10-14 21:20:07 +02:00
2026-09-21 20:29:27 +02:00
2026-11-02 00:27:33 +01:00
2026-10-05 02:15:08 +02:00
2026-10-05 18:52:26 +02:00
2026-10-03 23:55:18 +02:00
2026-10-05 02:15:08 +02:00
2026-10-17 20:44:27 +02:00
2026-10-17 14:48:52 +02:00
2026-10-03 23:55:18 +02:00
2026-10-05 02:15:08 +02:00
2026-10-05 02:15:08 +02:00
2026-10-03 23:55:18 +02:00
2026-10-03 23:55:18 +02:00
2026-09-30 23:29:52 +02:00
2026-10-03 23:55:18 +02:00
2026-10-17 14:48:52 +02:00
2026-10-03 23:55:18 +02:00
2026-10-17 14:48:52 +02:00
2026-10-17 14:48:52 +02:00
2026-10-13 18:33:40 +02:00
2026-10-05 18:52:31 +02:00
2026-10-06 18:07:16 +02:00
2026-10-06 05:58:39 +02:00
2026-10-18 17:10:45 +02:00
2026-09-18 23:26:05 +02:00
2026-10-18 00:17:58 +02:00
2026-10-13 20:57:12 +02:00
2026-10-11 23:14:24 +02:00
2026-10-03 23:55:18 +02:00
2026-10-07 18:20:52 +02:00
2026-10-16 18:09:06 +02:00
2026-10-03 23:55:18 +02:00
2026-10-06 03:36:33 +02:00
2026-10-06 03:36:33 +02:00
2026-10-03 18:37:19 +02:00
2026-10-11 16:57:48 +02:00
2026-09-12 16:21:30 +02:00
2026-10-03 23:55:18 +02:00
2026-09-09 16:06:59 +08:00
2026-10-19 17:18:00 +08:00
2026-09-09 16:06:59 +08:00
2026-10-04 19:08:28 +02:00