Windows: codex-tui app test stack overflows on clean HEAD
Summary
On Windows, codex-tui can abort with STATUS_STACK_OVERFLOW when running the app::tests::attach_live_thread_for_selection_rejects_unmaterialized_fallback_threads test. This reproduces from a clean detached worktree at upstream HEAD, so it is not caused by unrelated local TUI skill-popup changes.
Environment
- OS: Windows
- Repo:
openai/codex - Clean HEAD tested:
6de6eaa0c([4/4] Honor Streamable HTTP MCP placement (#18584)) - Test path used: short path under
C:\Users\stefa\codex-clean-head-proof-*to avoid Windows path-length failures from deeper worktree paths
Reproduction
From a clean detached worktree at HEAD:
cd C:\Users\stefa\codex-clean-head-proof-8868\codex-rs
cargo test -p codex-tui app::tests::attach_live_thread_for_selection_rejects_unmaterialized_fallback_threads -- --test-threads=1
Actual Result
running 1 test
test app::tests::attach_live_thread_for_selection_rejects_unmaterialized_fallback_threads ...
thread 'app::tests::attach_live_thread_for_selection_rejects_unmaterialized_fallback_threads' has overflowed its stack
error: test failed, to rerun pass `-p codex-tui --lib`
Caused by:
process didn't exit successfully: ... (exit code: 0xc00000fd, STATUS_STACK_OVERFLOW)
A full local run of cargo test -p codex-tui also aborts with the same class of stack overflow before the suite can complete.
Expected Result
The test should pass or fail with a normal assertion. It should not abort the process with a stack overflow.
Notes
This was separated from a focused TUI skill mention popup change because the failure reproduces on clean HEAD. Keeping this as its own issue should make the root cause easier to triage without mixing it into unrelated UI behavior changes.
2 Comments
We're not seeing this in our Windows CI test runs, but I can take a look and see if there's a simple fix.
Follow-up from local Windows testing after the related PR was closed:
cargo test -p codex-tuion the same checkout still aborts withSTATUS_STACK_OVERFLOWin unrelated debug-heavyapp::tests::*cases.RUST_MIN_STACK=16777216before runningcargo test -p codex-tuigets past the stack-overflow abort locally.status::helpers::tests::compose_agents_summary_includes_global_agents_pathstatus::helpers::tests::compose_agents_summary_names_global_agents_overridestatus::helpers::tests::compose_agents_summary_orders_global_before_project_agentsSo from this machine, the stack-overflow part still looks real and broader than one attach-fallback test, but separable from the path-display assertion failures. I am keeping those as separate issues rather than mixing fixes.