Skip to content

fix(test): harness index worker must _Exit like the production worker#925

Merged
DeusData merged 1 commit into
mainfrom
fix/idx832-worker-lsan-exit
Jul 6, 2026
Merged

fix(test): harness index worker must _Exit like the production worker#925
DeusData merged 1 commit into
mainfrom
fix/idx832-worker-lsan-exit

Conversation

@DeusData

@DeusData DeusData commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Fifth and last dry-run blocker: the supervised-worker teardown skip pairs with _Exit (which bypasses LeakSanitizer) in production run_cli, but the test binary's worker emulation returned normally through main — LSan reported the intentionally-unfreed pipeline and forced exit 1, so the supervisor read a healthy index as worker_failed (IDX832 red on the four Linux legs only; macOS/Windows ASan run no leak pass).

Verified in an ubuntu:22.04 arm64 container (the failing condition): reap outcome=clean exit_code=0, mcp suite 140 passed / 0 failed. Local macOS suite and lint-ci green.

@DeusData DeusData merged commit ce23ce7 into main Jul 6, 2026
9 checks passed
The supervised-worker fast path deliberately skips the pipeline
teardown (the OS reclaims the process wholesale) and pairs that with
_Exit, which bypasses atexit/LeakSanitizer. The production worker in
run_cli has both halves; the test binary's worker emulation
(tf_maybe_run_index_worker) only had the first: it returned normally
through main(), LeakSanitizer ran at exit, reported the intentionally
unfreed pipeline and forced exit code 1 — so the supervisor read a
healthy index as worker_failed and IDX832 went red on exactly the
platforms whose ASan builds run a leak pass (all four Linux legs;
macOS/Windows ASan have none). Reproduced and verified fixed in an
ubuntu:22.04 arm64 container: reap outcome=clean, mcp suite 140/0.

Mirror the production exit: deliver the response file, fflush, _Exit.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant