{"repo":"NousResearch/hermes-agent","public_id":"5760","display_label":"Windows gateway crashes from os.kill PID checks","summary":"A cluster of bug reports and fixes addressing crashes in the gateway startup on Windows caused by unhandled OSError, SystemError, and WinError exceptions from os.kill(pid, 0) during PID liveness checks. Also includes one unrelated feature adding model list support for user-defined providers in the CLI.","subsystem":"gateway","counts":{"members":17,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":8,"merged_prs":0,"attempt_prs":9},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.13235294117647053},"fix_edges":[],"members":[{"kind":"issue","number":5760,"title":"Windows: os.kill(pid, 0) raises SystemError/OSError in gateway/status.py","url":null,"state":"closed"},{"kind":"issue","number":7227,"title":"Windows: hermes gateway crashes on stale gateway.pid after abrupt shutdown (os.kill(pid, 0) -> OSError)","url":null,"state":"closed"},{"kind":"issue","number":8978,"title":"[Bug]: Windows: hermes gateway crashes on startup with OSError WinError 87","url":null,"state":"closed"},{"kind":"issue","number":9574,"title":"[Bug]: Windows Git Bash gateway startup can crash on stale gateway.pid when os.kill(pid, 0) raises WinError 11","url":null,"state":"closed"},{"kind":"issue","number":12359,"title":"[BUG]:Windows: os.kill(pid, 0) raises OSError [WinError 87] and crashes gateway startup","url":null,"state":"closed"},{"kind":"issue","number":13932,"title":"[Bug]: Windows: os.kill(pid, 0) causes WinError 87 and fails to start hermes gateway","url":null,"state":"closed"},{"kind":"issue","number":14359,"title":"os.kill(pid, 0) in gateway/status.py raises unhandled OSError on Windows","url":null,"state":"closed"},{"kind":"issue","number":21432,"title":"os.kill(pid, 0) raises SystemError on Windows in get_running_pid(), crashing hermes gateway","url":null,"state":"closed"},{"kind":"pr","number":5762,"title":"fix(gateway): handle Windows OSError/SystemError in os.kill probes (#5760)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"4c02e4597ec971ca2bd5b985e694fa7e5f26fd08","number":0},{"kind":"commit","value":"cc38282b04d997468db782caa3443387fd454359","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":6310,"title":"fix(gateway): handle windows pid probe failures","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":9024,"title":"fix(gateway): #8978 resolve Windows startup crash caused by os.kill(0…","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"4c02e4597ec971ca2bd5b985e694fa7e5f26fd08","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":9579,"title":"fix: tolerate Windows stale gateway pid OSError","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#14364","number":14364},{"kind":"pr","value":"#12363","number":12363},{"kind":"pr","value":"#11156","number":11156}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":12363,"title":"fix(windows): handle OSError from os.kill() for non-existent PIDs","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"324567c93662d726e05650c83b06078dce599e37","number":0}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":13587,"title":"fix(gateway): use ctypes.OpenProcess for Windows process existence check","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#13986","number":13986}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":13986,"title":"fix(windows): handle OSError from os.kill and add UTF-8 encoding for Windows (#5760, #8978, #7537, #8901)","url":null,"state":"closed","close_reason":{"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":14364,"title":"fix(gateway): catch OSError from os.kill on Windows for stale PID detection","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#11140","number":11140},{"kind":"pr","value":"#5760","number":5760},{"kind":"pr","value":"#12359","number":12359},{"kind":"pr","value":"#9574","number":9574}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":26411,"title":"fix(gateway/status): catch SystemError from os.kill on Windows","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#5760","number":5760},{"kind":"pr","value":"#5762","number":5762},{"kind":"pr","value":"#21514","number":21514},{"kind":"pr","value":"#13587","number":13587}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}