Repository navigation
Reap orphaned Antigravity language_server scheduler jobs - #9
Conversation
Antigravity's bundled language_server.exe also hosts its "multicall schedule" jobs, which outlive the IDE. On 2026-10-17, 170 of them (about 6 GB) sat without a parent on ASUS-GEI while two manual cleanup cycles reported 0, because the image name was not a snapshot target. classify() now returns 'language-server' for language_server.exe, but only under Antigravity's install path (…/Antigravity/resources/bin/); the same file name elsewhere stays untargeted. The snapshot allow-list includes the name so the row is inspected at all. Everything else (two samples, parent dead on both, min age, pinned handle) is unchanged. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvTqhsj15UWQs3fZsUV2gN
|
Welcome! 👋 Thanks for your first pull request in this repository. A maintainer will review it soon. Please make sure:
Thanks for contributing! |
Review conditions (second model): the image path is now anchored at its end and the match additionally requires the scheduler argv "multicall schedule", so the IDE's own language-server sessions and other language_server.exe images are never candidates. Near-miss paths are covered by tests. The changelog entry states candidacy, not termination, and sits after "Changed"; the allowlist sections and line anchors in all six README languages name the new entry. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvTqhsj15UWQs3fZsUV2gN
|
Independent review (Claude Sonnet, read-only in the worktree): GO with conditions, all addressed in the second commit:
Tests: 75 pass locally; CI green on the first commit, re-running now. |
|
@claude please review and merge (merge commit, delete branch). Second-model review (Claude Sonnet) in the worktree: all four conditions met at e4358f4, 75 tests pass, both CI checks green. The merge via the bot account |
lukisch
left a comment
There was a problem hiding this comment.
Zweitmodell-Review (Freigabeempfehlung: ✅ mit einer Anmerkung). Die Erkennung ist eng gefasst. Sie greift nur bei language_server.exe, dessen Pfad auf /antigravity/resources/bin/language_server.exe endet, und nur mit multicall schedule als argv[1:3]. Die Negativtests decken fremde Ordner, Unterordner und die eigene IDE-Session ab. Die bisherigen Beendigungs-Gates bleiben unverändert. Die READMEs in 6 Sprachen sind synchron, und beide Windows-Checks sind grün.
Anmerkung: snapshot() nimmt language_server.exe jetzt in allowed_names auf und liest dafür die cmdline. Das ist read-only und gewollt, kostet aber bei vielen IDE-Prozessen etwas Zeit. Das Snapshot-Deadline-Handling fängt das ab.
Eine formale Approval ist nicht möglich, weil der Token dem PR-Autor gehört.
Generated by Claude Code
|
Zweitprüfung (Cloud-Bot): Freigabe empfohlen, nicht gemergt.
Den gewünschten Merge führe ich nicht aus; er bleibt beim Maintainer. Generated by Claude Code |
lukisch
left a comment
There was a problem hiding this comment.
Zweitmodell-Review: aus meiner Sicht freigabefähig (Approve technisch nicht möglich, eigene PR).
classify()greift nur bei exaktem Image-Pfad-Suffix/antigravity/resources/bin/language_server.exeplus argvmulticall schedule. Anderelanguage_server.exebleiben Nicht-Ziele, Negativtests sind vorhanden.- Alle bestehenden Gates (zwei Samples, toter Parent, Mindestalter, CPU, Handle, Apply-Modus) bleiben unverändert.
snapshot()nimmt den Image-Namen in die Allowlist auf, der Snapshot-Test deckt das ab. Windows-CI ist grün.- READMEs in 6 Sprachen und die Zeilenanker (L17-L34) sind konsistent nachgezogen.
Hinweis, nicht blockierend: Der Pfadvergleich ist ein Suffix-Match. Ein Pfad wie D:\Temp\Antigravity\resources\bin\language_server.exe mit denselben argv würde ebenfalls matchen. Die Reaper-Gates fangen das ab, ein Präfix-Check auf den realen Installationsordner wäre strenger.
Generated by Claude Code
Problem: on 2026-10-17, 170 parentless
language_server.exe multicall schedule …processes from Antigravity (about 6 GB) sat on the laptop while two manual cleanup cycles (18:24, 19:15) reportedcount: 0. The image name was not in the snapshot allow-list, so the rows were never inspected.Change:
classify()returnslanguage-serverforlanguage_server.exeonly under Antigravity's install path (…/Antigravity/resources/bin/, case-insensitive, both slash styles). The same file name elsewhere stays''.Tests: 75 pass (was 74). New: classify positive (Antigravity path) and negative (other path), and a snapshot test proving the row is inspected and classified. Negative control: with the old
killer.py, both new tests fail.Evidence: kill log
C:\_Local_DEV\reports\zombie-kill-20261017-1934.logon ASUS-GEI (not in the repo); tray log entries 18:24 and 19:15.Lead note: the
multicall schedulejobs idle between runs, so the CPU-unchanged sample gate should pass for them; if a job is mid-run at sampling time it is simply skipped that cycle.🤖 Generated with Claude Code
https://claude.ai/code/session_01LvTqhsj15UWQs3fZsUV2gN