Skip to content

test: set Rust test thread stack size#19067

Merged
bolinfest merged 1 commit intomainfrom
pr19067
Apr 23, 2026
Merged

test: set Rust test thread stack size#19067
bolinfest merged 1 commit intomainfrom
pr19067

Conversation

@bolinfest
Copy link
Copy Markdown
Collaborator

@bolinfest bolinfest commented Apr 23, 2026

Summary

Set RUST_MIN_STACK=8388608 for Rust test entry points so libtest-spawned test threads get an 8 MiB stack.

The Windows BuildBuddy failure on #18893 showed //codex-rs/tui:tui-unit-tests exiting with a stack overflow in a #[tokio::test] even though later test binaries in the shard printed successful summaries. Default #[tokio::test] uses a current-thread Tokio runtime, which means the async test body is driven on libtest's std-spawned test thread. Increasing the test thread stack addresses that failure mode directly.

To date, we have been fixing these stack-pressure problems with localized future-size reductions, such as #13429, and by adding Box::pin() in specific async wrapper chains. This gives us a baseline test-runner stack size instead of continuing to patch individual tests only after CI finds another large async future.

What changed

  • Added common --test_env=RUST_MIN_STACK=8388608 in .bazelrc so Bazel test actions receive the env var through Bazel's cache-keyed test environment path.
  • Set the same RUST_MIN_STACK value for Cargo/nextest CI entry points and just test.
  • Annotated the existing Windows Bazel linker stack reserve as 8 MiB so it stays aligned with the libtest thread stack size.

Testing

  • just --list
  • parsed .github/workflows/rust-ci.yml and .github/workflows/rust-ci-full.yml with Ruby's YAML loader
  • compared bazel aquery TestRunner action keys before/after explicit --test_env=RUST_MIN_STACK=... and after moving the Bazel env to .bazelrc
  • bazel test //codex-rs/tui:tui-unit-tests --test_output=errors
    • failed locally on the existing sandbox-specific status snapshot permission mismatch, but loaded the Starlark changes and ran the TUI test shards

@bolinfest bolinfest changed the title increase stack size test: set Rust test thread stack size Apr 23, 2026
@bolinfest bolinfest merged commit e8ba912 into main Apr 23, 2026
38 of 39 checks passed
@bolinfest bolinfest deleted the pr19067 branch April 23, 2026 02:51
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants