{"repo":"NousResearch/hermes-agent","public_id":"76115","display_label":"Gateway starvation from leaked background subprocesses","summary":"An abandoned agent turn fails to clean up its background subprocesses, causing unbounded memory growth in the gateway cgroup and event loop starvation. The associated fixes scope subprocess reaping to only those created by the abandoned turn.","subsystem":null,"counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":76687},"resolution":{"state":"resolved","by":"pr-76687"},"freshness":{"state":"verified","last_verified_at":"2026-08-02T08:53:56+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":76115,"pr_number":76687,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":76115,"title":"Abandoned agent turn leaks its background subprocess (e.g. next build) unbounded → gateway cgroup hits MemoryHigh, event loop starves, all platforms/crons time out","url":null,"state":"closed"},{"kind":"pr","number":76172,"title":"fix: reap stale background processes to prevent gateway starvation (#76115)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#76188","number":76188},{"kind":"pr","value":"#76183","number":76183}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":76183,"title":"fix: reap stale background processes to prevent gateway starvation (#76115)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#76188","number":76188},{"kind":"pr","value":"#76172","number":76172}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":76188,"title":"fix(gateway): reap only the background processes an abandoned turn created","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"80e4fb599","number":0},{"kind":"commit","value":"a35691781","number":0},{"kind":"commit","value":"1b886822d","number":0},{"kind":"pr","value":"#76687","number":76687}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":76687,"title":"fix(gateway): reap only the background processes an abandoned turn created","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/platforms/api_server.py","gateway/run.py","gateway/turn_context.py","tests/gateway/test_abandoned_turn_process_cleanup.py","tests/gateway/test_api_server.py","tests/gateway/test_tool_response_drop_recovery.py","tests/tools/test_process_registry.py","tools/process_registry.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}