LSP idle subprocess reaping and memory leak
NousResearch/hermes-agent · cluster 25016 · agent/lsp
Data as of
Nothing open on GitHub. Fix merged in #74058. Check it covers your case.
The short answer
- Known?
- Yes. 17 related items grouped here, 4 issues already closed.
- Fix event
- A fix was merged to main in PR #74058. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
partially resolved, deciding PR #74058. That is separate from the fix event. - Still open
- Nothing open on GitHub.
These issues and pull requests concern LSP language-server processes that are never terminated when idle, causing unbounded memory accumulation in long-running sessions. The work involves adding or enforcing an idle timeout and background reaper to shut down inactive language-server subprocesses.
Open issues0
Open PRs0
Fixes on record
-
#74058 fix(lsp): reap idle language servers (salvage #64141, closes #25016)
files:
agent/lsp/eventlog.py,agent/lsp/manager.py,contributors/emails/[redacted:email],hermes_cli/config.py,tests/agent/lsp/test_service.py,website/docs/user-guide/features/lsp.md
12 PRs closed without merging
From the close comments: done elsewhere 9 · duplicate 3
- #25021 fix(lsp): add idle-subprocess reaper to reclaim memory during long sessions · done elsewhere
-
#25109 fix: reap idle LSP subprocesses to stop memory leak · done elsewhere →
#74058,#25016 -
#36684 Fix LSP idle reaper: add background task to reap idle language-server clients · done elsewhere →
#74058,#64141,#25016 -
#36892 fix(lsp): reap idle language-server clients · done elsewhere →
#74058,#25016 -
#47332 feat(lsp): add idle timeout to shut down inactive LSP clients · done elsewhere →
#74058,#25016
Show 7 more
-
#52751 fix(lsp): add idle client reaper to prevent memory leak · done elsewhere →
#74058,#25016 -
#53430 fix(lsp): reap idle language servers (DEFAULT_IDLE_TIMEOUT was never enforced) · duplicate →
#36684,#36681,#25016,#52751 -
#62995 fix(lsp): reap idle servers and terminate process groups · done elsewhere →
#74058,#25016 -
#64980 fix(lsp): bound language-server lifecycle safely · done elsewhere →
#25016,#74058,#64141 -
#68091 fix: reap idle LSP clients · done elsewhere →
#74058,#25016 -
#73057 fix(lsp): add idle subprocess reaper (#25016) · duplicate →
#36684,#25016 -
#73794 fix(lsp): add idle subprocess reaper to reclaim memory (#25016) · duplicate →
#36684,#25016
Closed issues · 4
- Closed#25016lsp: idle subprocesses are never reaped — long-lived gateways accumulate ~200 MB per server forever
- Closed#36681LSP language-server processes accumulate indefinitely in long-running gateways (missing idle reaper)
- Closed#38365LSP idle timeout is declared but not enforced, leaving TypeScript tsserver processes alive
- Closed#47314[Feature]: Add idle timeout for LSP processes to reduce memory footprint
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.16: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Subsystem
- agent/lsp
- Merged PRs
- #74058
- Closed issues
- 4
- Attempts
- 12 PRs closed without merging
- Fix link checked
- 29 Jul 2026