What happens
cargo test -p codewhale-tui --lib -- mcp
...
test commands::groups::plugins::tests::mcp_review_discloses_host_authority_and_names_without_secret_values ...
fatal runtime error: stack overflow, aborting
error: test failed
process didn't exit successfully: signal: 6, SIGABRT
Isolated with --test-threads=1: the abort happens while that test is running, so it is that test and not a neighbour.
It is pre-existing, not a regression from in-flight work
Reproduced on clean origin/main (3f3aa9ed7) after removing an unrelated local change and rebuilding. Found while verifying #5974's fix; explicitly re-checked against a clean tree so it would not be misattributed.
Why it matters
The abort kills the whole test binary, so every test scheduled after it in that process is silently not run. A filter that happens to include this test reports a process failure rather than a test failure, and a filter that excludes it looks green. That makes local -- mcp runs unreliable as evidence, and it is the kind of thing that hides other failures.
Worth checking whether CI's cargo nextest run masks this — nextest runs each test in its own process, so an abort there would be attributed to the single test and the rest of the suite would still run. If so, this reproduces locally but not in CI, which is the worst shape for a defect like this.
Likely shape
A stack overflow in a test named for disclosure of host authority and names suggests unbounded recursion in a formatter/serializer walking a self-referential structure — likely a plugin/MCP review value that can contain itself, or a Display/Debug impl that recurses. Not investigated further.
What happens
Isolated with
--test-threads=1: the abort happens while that test is running, so it is that test and not a neighbour.It is pre-existing, not a regression from in-flight work
Reproduced on clean
origin/main(3f3aa9ed7) after removing an unrelated local change and rebuilding. Found while verifying #5974's fix; explicitly re-checked against a clean tree so it would not be misattributed.Why it matters
The abort kills the whole test binary, so every test scheduled after it in that process is silently not run. A filter that happens to include this test reports a process failure rather than a test failure, and a filter that excludes it looks green. That makes local
-- mcpruns unreliable as evidence, and it is the kind of thing that hides other failures.Worth checking whether CI's
cargo nextest runmasks this — nextest runs each test in its own process, so an abort there would be attributed to the single test and the rest of the suite would still run. If so, this reproduces locally but not in CI, which is the worst shape for a defect like this.Likely shape
A stack overflow in a test named for disclosure of host authority and names suggests unbounded recursion in a formatter/serializer walking a self-referential structure — likely a plugin/MCP review value that can contain itself, or a
Display/Debugimpl that recurses. Not investigated further.