Closed
Description
Over in #138162 I am trying to update the standard library to Rust 2024. I'm running into a problem where core's doctests are failing on x86_64-pc-windows-msvc.
The behavior is:
- Rustdoc prints
thread 'main' has overflowed its stack
- It then starts running the tests:
running 1672 tests
- After they are all done, it prints
test result: ok. 1671 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 109.68s
- After all the tests complete, it exits 101.
From what I can tell, there is a const TESTS: [test::TestDescAndFn; 3641]
array in the combined test code. When calling test::test_main
, it fails somewhere in there. I'm struggling a bit figuring out a good way to debug exactly where the stack is overflowing.
There are a few issues here:
- Obviously it shouldn't overflow its stack.
- The "has overflowed its stack" message has no context, and doesn't explain where it is coming from (it is coming from executing the combined suite, but for some reason I guess rustdoc continues to run the uncombined tests?).
- The error is at the beginning of the output, but there is no summary at the end to explain what has happened (like the normal test runner would do if an individual test would fail). In fact, it prints a summary that says "everything was okay" when it was not.
I haven't put together an isolated repro. I wonder if just creating something with 4,000 doctests would suffice? So far, I've been using --persist-doctests
to get a copy of core's combined suite, and then running rustc
directly on that.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done