Repository navigation
Stop the no-CPU test slice so guarded-runner runs stop leaking systemd units - #229
Merged
Merged
Conversation
The dropped-CPUQuota stand-in launcher placed its scope in ecosystem-check-nocpu-$$.slice and nothing stopped it. systemd keeps an emptied transient slice loaded, so each run of test_scope_with_a_dropped_or_altered_cpu_quota_is_refused_with_78 left one empty slice on the host (63 had accumulated on the WSL2 host). The slice name is now fixed per test process, the test registers a cleanup stop, and it asserts the slice is inactive after stopping it. The slice is still fresh (no CPUQuota unit touches it), so the dropped-quota refusal is unchanged. manifests/evidence.json carries the file's new hash. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
seathatflowsinourveins
deleted the
claude/nocpu-slice-cleanup-20260924
branch
September 25, 2026 05:09
Merged
7 of 8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tests.test_adoption_guarded_runners.BoundedRunCpuQuotaTests.test_scope_with_a_dropped_or_altered_cpu_quota_is_refused_with_78left one empty systemd user slice on the host every time it ran. Its dropped-CPUQuota stand-in launcher placed the scope inecosystem-check-nocpu-$$.slice(the launcher's PID) and nothing stopped it. systemd keeps an emptied transient slice loaded, so the units piled up: a read-only host audit on the WSL2 host found 63 emptyecosystem-check-nocpu-*.sliceunits (Tasks 0, Memory 0B) spanning 21 hours.Change. The slice name is fixed per test process (
NOCPU_SLICE = ecosystem-check-nocpu-<test pid>.slice). The test registers a cleanup stop, then stops the slice itself and asserts itsActiveStateisinactive. The slice is still one that no CPUQuota unit touches, so the refusal it exercises (cpu.max is not enforced) is unchanged.manifests/evidence.jsonre-registers the file's hash.Checks (WSL2 Ubuntu 24.04, systemd 255, cgroup v2 with cpu delegated, Python 3.13, on 636751a):
BoundedRunCpuQuotaTestsclass (7 tests OK): still 63. The user journal showsCreated slice ecosystem-check-nocpu-1273346.slicewith no removal for the original, andCreatedthenRemoved slice ecosystem-check-nocpu-1273365.slicefor the fix.python3 -m unittest tests.test_adoption_guarded_runners: 33 tests, OK (skipped=1).scripts/validate.pypassed (5338 hashed files, 145 receipts),scripts/evidence_manifest.py --checkpassed,scripts/verdict_review_gate.py --base origin/mainreports no verdict rows changed, and the gitleaks 8.30.1 pre-commit hook found no leaks. The fullpython3 -m unittestsuite and the othervalidate.ymlsteps were not run locally; CI runs them.The 63 leaked slices on the audited host were stopped separately, and only those with 0 tasks.
🤖 Generated with Claude Code