You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LEAK and LEAK-FAIL reports appear intermittently across this workspace's test suites. #1629 identified the cause: a race in nextest between pipe() and set_cloexec(), tracked upstream as nextest-rs/nextest#3553, which is still open.
The identification is complete and the reading is documented in contributing/ci.md. Nothing in this repository can fix it — peryx does not own the descriptor and holds nothing to close. Every proposed local remedy hides the report rather than changing what it reports: raising the timeout, excluding a test, retrying, or serialising.
So the remedy is an upgrade, and this issue exists so that upgrade is tracked rather than remembered.
At the time of filing, 0.9.143 is the newest release and does not contain it. Check the upstream issue and nextest's changelog before assuming a newer version helps — a version bump that does not include the fix is churn, and worse, it would invite the conclusion that the problem is solved when the reports continue.
When a release does contain it, bump the pinned version and confirm the reports stop. That confirmation matters: the reports are intermittent, roughly one event per few hundred spawns, so a single green run proves nothing. Run enough to be confident, and say how many.
Then remove the workaround guidance from contributing/ci.md and the corresponding rule from the lane brief, so the next person does not keep waving off a report that no longer has a benign explanation.
Enough runs to distinguish a fix from luck, with the count stated.
contributing/ci.md no longer tells readers to expect and ignore these reports.
If a LEAK still appears after the upgrade, it is treated as a new defect rather than folded back into the old explanation.
Boundary
A dependency upgrade and the documentation it obsoletes. Not a change to any test, not a timeout adjustment, and not a local workaround. If no fixed release exists yet, this issue simply waits — do not close it by working around the problem.
Problem
LEAKandLEAK-FAILreports appear intermittently across this workspace's test suites. #1629 identified the cause: a race in nextest betweenpipe()andset_cloexec(), tracked upstream as nextest-rs/nextest#3553, which is still open.The identification is complete and the reading is documented in
contributing/ci.md. Nothing in this repository can fix it — peryx does not own the descriptor and holds nothing to close. Every proposed local remedy hides the report rather than changing what it reports: raising the timeout, excluding a test, retrying, or serialising.So the remedy is an upgrade, and this issue exists so that upgrade is tracked rather than remembered.
Required change
Adopt a nextest release that contains the fix for nextest-rs/nextest#3553, once one exists.
At the time of filing, 0.9.143 is the newest release and does not contain it. Check the upstream issue and nextest's changelog before assuming a newer version helps — a version bump that does not include the fix is churn, and worse, it would invite the conclusion that the problem is solved when the reports continue.
When a release does contain it, bump the pinned version and confirm the reports stop. That confirmation matters: the reports are intermittent, roughly one event per few hundred spawns, so a single green run proves nothing. Run enough to be confident, and say how many.
Then remove the workaround guidance from
contributing/ci.mdand the corresponding rule from the lane brief, so the next person does not keep waving off a report that no longer has a benign explanation.Acceptance criteria
contributing/ci.mdno longer tells readers to expect and ignore these reports.Boundary
A dependency upgrade and the documentation it obsoletes. Not a change to any test, not a timeout adjustment, and not a local workaround. If no fixed release exists yet, this issue simply waits — do not close it by working around the problem.