Skip to content

Nighly no longer builds offline, fails in Vendoring sources to... #156982

@AMDmi3

Description

@AMDmi3

Summary

I'm maintaining FreeBSD port of rust-nighly, updating it to latest version ~bi-weekly. The current update (from 2026-05-11 to 2026-05-25) failed. The error suggests that it fails to access crates.io, so it makes sense to note that build is done without network access for obvious reasons of stability and reproducibility. I'm still bisecting the problem (on date level), and it's somewhere between 2026-05-17 and 2026-05-20.

Relevant build log excerpt:

Dist rust-analysis-nightly-wasm32-unknown-unknown
running: LD_LIBRARY_PATH="/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/bootstrap-tools/x86_64-unknown-freebsd/release/deps" RUSTC="/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc" "/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd
/stage1-tools-bin/rust-installer" "generate" "--image-dir" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-analysis/wasm32-unknown-unknown/image" "--component-name=rust-analysis-wasm32-unknown-unknown" "--rel-manifest-dir=rustlib" "--legacy-manifest-dirs=rustlib,cargo
" "--product-name=Rust" "--success-message=rust-analysis installed." "--package-name=rust-analysis-nightly-wasm32-unknown-unknown" "--non-installed-overlay" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-analysis/wasm32-unknown-unknown/overlay" "--output-dir" "/work/
usr/ports/lang/rust-nightly/work/_build/dist" "--work-dir" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-analysis/wasm32-unknown-unknown" "--compression-formats" "xz" "--compression-profile" "balanced" (failure_mode=Exit) (created at src/bootstrap/src/core/build_ste
ps/tool.rs:1618:23, executed at src/bootstrap/src/utils/tarball.rs:421:13)
        finished in 0.019 seconds
Vendoring sources to "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/image/lib/rustlib/src/rust"
running: cd "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/image/lib/rustlib/src/rust/library" && RUSTC="/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc" RUSTC_BOOTSTRAP="1" "/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/cargo" "vendor" "--versioned-dirs" "vendor" (failure_mode=Exit) (created at src/bootstrap/src/core/build_steps/vendor.rs:131:23, executed at src/bootstrap/src/core/build_steps/vendor.rs:149:34)
    Updating crates.io index
error: failed to sync

Caused by:
  failed to load lockfile for /work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/image/lib/rustlib/src/rust/library

Caused by:
  failed to get `cfg-if` as a dependency of package `std v0.0.0 (/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/image/lib/rustlib/src/rust/library/std)`

Caused by:
  failed to load source for dependency `cfg-if`

Caused by:
  unable to update registry `crates-io`

Caused by:
  download of config.json failed

Caused by:
  curl failed

Caused by:
  [6] Could not resolve hostname (Could not resolve host: index.crates.io)
Command `cd "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/image/lib/rustlib/src/rust/library" && RUSTC="/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc" RUSTC_BOOTSTRAP="1" "/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/cargo" "vendor" "--versioned-dirs" "vendor" (failure_mode=Exit)` failed with exit code 101
Created at: src/bootstrap/src/core/build_steps/vendor.rs:131:23
Executed at: src/bootstrap/src/core/build_steps/vendor.rs:149:34


--- STDOUT vvv


--- BACKTRACE vvv
   0: <bootstrap::utils::exec::DeferredCommand>::finish_process
             at ./src/bootstrap/src/utils/exec.rs:935:17
   1: <bootstrap::utils::exec::DeferredCommand>::wait_for_output::<&bootstrap::utils::exec::ExecutionContext>
             at ./src/bootstrap/src/utils/exec.rs:831:21
   2: <bootstrap::utils::exec::ExecutionContext>::run
             at ./src/bootstrap/src/utils/exec.rs:741:45
   3: <bootstrap::utils::exec::BootstrapCommand>::run_capture_stdout::<&bootstrap::core::builder::Builder>
             at ./src/bootstrap/src/utils/exec.rs:351:27
   4: <bootstrap::core::build_steps::vendor::Vendor as bootstrap::core::builder::Step>::run
             at ./src/bootstrap/src/core/build_steps/vendor.rs:149:34
   5: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::vendor::Vendor>
             at ./src/bootstrap/src/core/builder/mod.rs:1595:36
   6: <bootstrap::core::build_steps::dist::Src as bootstrap::core::builder::Step>::run
             at ./src/bootstrap/src/core/build_steps/dist.rs:1215:30
   7: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::dist::Src>
             at ./src/bootstrap/src/core/builder/mod.rs:1595:36
   8: <bootstrap::core::build_steps::dist::Src as bootstrap::core::builder::Step>::make_run
             at ./src/bootstrap/src/core/build_steps/dist.rs:1175:21
   9: <bootstrap::core::builder::StepDescription>::maybe_run
             at ./src/bootstrap/src/core/builder/mod.rs:476:13
  10: bootstrap::core::builder::cli_paths::match_paths_to_steps_and_run
             at ./src/bootstrap/src/core/builder/cli_paths.rs:141:22
  11: <bootstrap::core::builder::Builder>::run_step_descriptions
             at ./src/bootstrap/src/core/builder/mod.rs:1138:9
  12: <bootstrap::core::builder::Builder>::execute_cli
             at ./src/bootstrap/src/core/builder/mod.rs:1117:14
  13: <bootstrap::Build>::build
             at ./src/bootstrap/src/lib.rs:803:25
  14: bootstrap::main
             at ./src/bootstrap/src/bin/main.rs:130:11
  15: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:250:5
  16: std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/backtrace.rs:166:18
  17: std::rt::lang_start::<()>::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:206:18
  18: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:287:21
  19: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
  20: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  21: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  22: std::rt::lang_start_internal::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:175:24
  23: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
  24: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  25: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  26: std::rt::lang_start_internal
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:171:5
  27: std::rt::lang_start::<()>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:205:5
  28: main
  29: __libc_start1
  30: _start
             at /usr/src/lib/csu/amd64/crt1_s.S:80:0


Traceback (most recent call last):
  File "/work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/x.py", line 53, in <module>
    bootstrap.main()
  File "/work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/src/bootstrap/bootstrap.py", line 1425, in main
    bootstrap(args)
  File "/work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/src/bootstrap/bootstrap.py", line 1383, in bootstrap
    run(args, env=env, verbose=build.verbose, is_bootstrap=True)
  File "/work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/src/bootstrap/bootstrap.py", line 237, in run
    raise RuntimeError(err)
RuntimeError: failed to run: /work/usr/ports/lang/rust-nightly/work/_build/bootstrap/debug/bootstrap dist --jobs=10

Excerpt from the build log of older version for reference (not there's no Vendoring sources step):

Dist rust-analysis-nightly-wasm32-unknown-unknown
running: LD_LIBRARY_PATH="/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/bootstrap-tools/x86_64-unknown-freebsd/release/deps" RUSTC="/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc" "/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd
/stage1-tools-bin/rust-installer" "generate" "--image-dir" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-analysis/wasm32-unknown-unknown/image" "--component-name=rust-analysis-wasm32-unknown-unknown" "--rel-manifest-dir=rustlib" "--legacy-manifest-dirs=rustlib,cargo
" "--product-name=Rust" "--success-message=rust-analysis installed." "--package-name=rust-analysis-nightly-wasm32-unknown-unknown" "--non-installed-overlay" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-analysis/wasm32-unknown-unknown/overlay" "--output-dir" "/work/
usr/ports/lang/rust-nightly/work/_build/dist" "--work-dir" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-analysis/wasm32-unknown-unknown" "--compression-formats" "xz" "--compression-profile" "balanced" (failure_mode=Exit) (created at src/bootstrap/src/core/build_ste
ps/tool.rs:1618:23, executed at src/bootstrap/src/utils/tarball.rs:421:13)
        finished in 0.019 seconds
Dist rust-src-nightly
running: LD_LIBRARY_PATH="/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/bootstrap-tools/x86_64-unknown-freebsd/release/deps" RUSTC="/work/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc" "/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd
/stage1-tools-bin/rust-installer" "generate" "--image-dir" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/image" "--component-name=rust-src" "--rel-manifest-dir=rustlib" "--legacy-manifest-dirs=rustlib,cargo" "--product-name=Rust" "--success-message=rust-src inst
alled." "--package-name=rust-src-nightly" "--non-installed-overlay" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball/rust-src/overlay" "--output-dir" "/work/usr/ports/lang/rust-nightly/work/_build/dist" "--work-dir" "/work/usr/ports/lang/rust-nightly/work/_build/tmp/tarball
/rust-src" "--compression-formats" "xz" "--compression-profile" "balanced" (failure_mode=Exit) (created at src/bootstrap/src/core/build_steps/tool.rs:1618:23, executed at src/bootstrap/src/utils/tarball.rs:421:13)
        finished in 6.401 seconds

Command used

make -C /usr/ports/lang/rust-nighly

Expected behaviour

Rust builds fine without any network access.

Actual behaviour

Rust fails to build without network access.

Bootstrap configuration (bootstrap.toml)

[build]
build-dir="/usr/ports/lang/rust-nightly/work/_build"
build-stage=2
doc-stage=2
test-stage=2
vendor=true
extended=true
python="/usr/local/bin/python3.11"
docs=false
verbose=2
profiler=true
target=["x86_64-unknown-freebsd","wasm32-unknown-unknown"]
cargo="/usr/ports/lang/rust-nightly/work/bootstrap/bin/cargo"
rustc="/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc"
tools=["analysis","cargo","clippy","rust-analyzer","rustdoc","rustfmt","src","miri","cargo-miri"]
ccache=false
[install]
prefix="/usr/ports/lang/rust-nightly/prefix"
sysconfdir="/usr/ports/lang/rust-nightly/prefix/etc"
[rust]
channel="nightly"
default-linker="cc"
deny-warnings=false
verbose-tests=true
download-rustc=false
lld=true
lto="thin"
remap-debuginfo=true
[llvm]
download-ci-llvm=false
clang=true
thin-lto=true
ninja=true
[target.x86_64-unknown-freebsd]
ar="ar"
cc="cc"
cxx="c++"
linker="cc"
[target.wasm32-unknown-unknown]
ar="ar"
cc="/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/llvm/bin/clang"
cxx="/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/llvm/bin/clang++"
linker="/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/llvm/bin/clang"
[dist]
compression-formats=["xz"]
src-tarball=false

Operating system

FreeBSD 15.0

HEAD

known-good: d3cd040
known-failing: e50aa6f

Additional context

Full build log: https://gist.github.com/AMDmi3/f2e1ffaca57d4942fafae50a68e640ff

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-bootstrap-vendoringC-bugCategory: This is a bug.P-mediumMedium priorityT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions