Spurious cargo test failure in alt_registry::no_api
Open
Nobody has claimed this yet.
A-spurious
A-testsuite
C-bug
T-cargo
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Seen on aarch64-apple
---- alt_registry::no_api stdout ----
running `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2-tools/aarch64-apple-darwin/release/cargo check`
running `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2-tools/aarch64-apple-darwin/release/cargo login --registry alternative`
thread 'alt_registry::no_api' (2024432) panicked at src/tools/cargo/tests/testsuite/alt_registry.rs:821:10:
test failed running `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2-tools/aarch64-apple-darwin/release/cargo login --registry alternative`
error: could not exec process `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2-tools/aarch64-apple-darwin/release/cargo login --registry alternative`: could not execute process `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage2-tools/aarch64-apple-darwin/release/cargo login --registry alternative` (never executed)
Caused by:
Broken pipe (os error 32)
Stack backtrace:
0: <std::backtrace::Backtrace>::create
1: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<cargo_util::process_error::ProcessError>
2: <cargo_util::process_builder::ProcessBuilder>::output
3: <cargo_util::process_builder::ProcessBuilder>::exec_with_output
4: <cargo_test_support::Execs>::run
5: testsuite::alt_registry::no_api
6: <testsuite::alt_registry::no_api::{closure#0} as core::ops::function::FnOnce<()>>::call_once
7: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
8: test::run_test::{closure#0}
9: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
10: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
11: <std::sys::thread::unix::Thread>::new::thread_start
12: __pthread_cond_wait
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: cargo_test_support::panic_error::pe
3: <cargo_test_support::Execs>::run
4: testsuite::alt_registry::no_api
5: <testsuite::alt_registry::no_api::{closure#0} as core::ops::function::FnOnce<()>>::call_once
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---- alt_registry::no_api stdout end ----
failures:
alt_registry::no_api
Cc @weihanglo @epage
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/tools/cargo/tests/testsuite/alt_registry.rs at the no_api test and inspect the failure around line 821. Reproduce the test on aarch64-apple if possible, then trace the cargo login invocation and its process-error handling. Done means the spurious failure is understood and the test reliably reports the intended result on that platform.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100