Repository navigation
1.100 beta crater regression: test failures in 64+ crates with "No such file or directory" #164098
Description
This was discovered in the 1.100 beta crater run.
64+ crates in the crater run had test failures with messages like:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
The most notable affected crates, from a quick glance, are ripgrep and once_cell:
- https://crater-reports.s3.amazonaws.com/beta-1.100-3/1.100.0-beta.1/reg/ripgrep-15.2.0/log.txt
- https://crater-reports.s3.amazonaws.com/beta-1.100-3/1.100.0-beta.1/reg/once_cell-1.21.4/log.txt
A larger list of affected crates can be found at https://crater-reports.s3.amazonaws.com/beta-1.100-4/index.html. (Click on regressed: root results and then scroll down to test failed (unknown) (156). Not all of the 156 crates listed are affected by this. Only 64 of them had the "No such file or directory" error.)
(Links above for ripgrep and once_cell are from an earlier crater run, which had more than 64 crates found, but potentially has more false positives due to spurious failures.)
I ran a bisection on once_cell-1.21.4 (obtained via cargo download), with the command cargo bisect-rustc --start=1.98.0 --end=beta -- test -- reentrant_init, and got the following output.
searched toolchains 96eb6d756bb98a82ae056c384575ff059bf80e8f through fd98695850065878fa7de48808dca4f0901cefbb
********************************************************************************
Regression in 83709eedfff36840b0749ca429ac43f5479b268f
********************************************************************************
Attempting to search unrolled perf builds
ERROR: couldn't find perf build comment
The regression happened in #159857. I personally suspect that the cause is the build-dir v2 change in cargo.
Note that running the bisection with --start=1.99.0 instead gave the error: ERROR: the commit at the start of the range (d453bdd8f092d099bc336f0bda4163f809ad18e0) includes the regression. This is consistent with my suspicion above, since cargo build-dir v2 is one of the changes that were initially in 1.99.0, and then had a beta backport to delay the change.
Activity
theemathas commentedon Oct 10, 2026
If we assume that all the failures with "No such file or directory" in the
beta-1.100-3run are real, then the number of crates affected would be 257+. The real number might be even higher.epage commentedon Oct 10, 2026
For
once_cell, we filed an issue back in March, see matklad/once_cell#297.For all of the issues and their status see our previous crater run: #149852
These crates are relying on internals of cargo and this is a change that unblocks a lot of high-value work so we were moving forward at a faster pace.
theemathas commentedon Oct 11, 2026
There are 53+ other crates that are failing with
These appear to be due to the tests using the
assert_cmdcrate, which appears to be maintained by @epage.theemathas commentedon Oct 11, 2026
Also, cc @matklad, maintainer of
once_cell.theemathas commentedon Oct 11, 2026
Are all of these crates also failing due to the same cause, and therefore accepted regressions?
"
CARGO_BIN_EXE_crate-name-hereis unset":Others:
theemathas commentedon Oct 11, 2026
Other crater regressions that might be due to the cargo build dir v2 change: #164082, #164085, #164160, #164136
ranger-ross commentedon Oct 11, 2026
for ripgrep, should already be resolved by BurntSushi/ripgrep#3501 but a new version has not been published.
assert_cmdwas updated to handle the new build-dir, its just a matter of users bumping to the newer versions. (see assert-rs/assert_cmd#234 and assert-rs/assert_cmd#282)weihanglo commentedon Oct 11, 2026
I used LLM to analyze #164098 (comment), and verified the analysis. So most of the failures above are expected.
LLM analysis
Issue/PR statuses were checked on 2026-10-11.
assert_cmdpath fallbackassert_cmdpath fallbackassert_cmdpath fallbackassert_cmdpath fallbackassert_cmdpath fallbackassert_cmdpath fallbackassert_cmdpath fallbackdeps/layout;assert_cmdpath fallbackdeps/layoutdeps/layoutdeps/layoutdeps/layoutdeps/layoutdeps/layoutdeps/deps/layoutdeps/layouttest_bin 0.4path lookupassert_cmd 1.xpath lookupdeps/layoutdeps/deps/Use CARGO_BIN_EXE_feedlynx instead of test_bin