Skip to content

rustup update fails on FreeBSD for nightly due to missing docs #49462

Closed

Description

@bdrewery

This seems related to #49187:

This breaks rustup update as well with --force.

# rustup update
info: syncing channel updates for 'stable-x86_64-unknown-freebsd'
info: syncing channel updates for 'nightly-x86_64-unknown-freebsd'
info: latest update on 2018-03-28, rust version 1.26.0-nightly (9c9424de5 2018-03-27)
error: component 'rust-docs' for 'x86_64-unknown-freebsd' is unavailable for download
info: checking for self-updates

       stable-x86_64-unknown-freebsd unchanged - rustc 1.24.1 (d3ae9a9e0 2018-02-27)
  nightly-x86_64-unknown-freebsd update failed - rustc 1.26.0-nightly (75af15ee6 2018-03-20)
# RUST_BACKTRACE=1 rustup update --force
info: syncing channel updates for 'stable-x86_64-unknown-freebsd'
info: syncing channel updates for 'nightly-x86_64-unknown-freebsd'
info: latest update on 2018-03-28, rust version 1.26.0-nightly (9c9424de5 2018-03-27)
thread 'main' panicked at 'components available', /checkout/src/libcore/option.rs:874:4
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:68
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:57
             at /checkout/src/libstd/panicking.rs:381
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:397
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:577
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:538
   6: std::panicking::begin_panic_fmt
             at /checkout/src/libstd/panicking.rs:522
   7: rust_begin_unwind
             at /checkout/src/libstd/panicking.rs:498
   8: core::panicking::panic_fmt
             at /checkout/src/libcore/panicking.rs:71
   9: core::option::expect_failed
             at /checkout/src/libcore/option.rs:874
  10: rustup_dist::manifestation::Manifestation::update
  11: rustup_dist::dist::update_from_dist_
fatal runtime error: failed to initiate panic, error 5
zsh: abort (core dumped)  RUST_BACKTRACE=1 rustup update --force

Activity

  1. added
    O-freebsdOperating system: FreeBSD
    T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
    on Mar 28, 2018
  2. kennytm commented on Mar 28, 2018

    @kennytm
    Member

    I'm not sure if this should be fixed at rust-central-station level (release promotion --- hard-link/copy the x86_64 Linux docs to every other targets), or rustup level (make docs not an essential component).

  3. prisme60 commented on Mar 29, 2018

    @prisme60
    Contributor

    It fails also on my raspberry pi:

    [christian@alarmpi ~]$ rustup update nightly
    info: syncing channel updates for 'nightly-arm-unknown-linux-gnueabihf'
    260.7 KiB / 260.7 KiB (100 %)  50.7 KiB/s ETA:   0 s
    info: latest update on 2018-03-29, rust version 1.26.0-nightly (e5277c145 2018-03-28)
    error: component 'rust-docs' for 'arm-unknown-linux-gnueabihf' is unavailable for download
  4. tarka commented on Mar 31, 2018

    @tarka
    Contributor

    Same with armv7:

    $ rustup install nightly
    info: syncing channel updates for 'nightly-armv7-unknown-linux-gnueabihf'
    info: latest update on 2018-03-31, rust version 1.26.0-nightly (80785a547 2018-03-30)
    error: component 'rust-docs' for 'armv7-unknown-linux-gnueabihf' is unavailable for download
    
  5. ctrlcctrlv commented on Apr 4, 2018

    @ctrlcctrlv

    Same problem here on x86_64-unknown-freebsd

  6. shisoft commented on Apr 5, 2018

    @shisoft

    Same problem on nightly-aarch64-unknown-linux-gnu

  7. ctrlcctrlv commented on Apr 5, 2018

    @ctrlcctrlv

    This sucks -- builds broken on major platforms for a week and no fix in sight. If we don't know how to fix it, why not just revert #49187 until it's figured out?

  8. Mark-Simulacrum commented on Apr 5, 2018

    @Mark-Simulacrum
    Member
  9. alexcrichton commented on Apr 5, 2018

    @alexcrichton
    Member

    I've attempted a mitigation of this at #49705 although I'm not certain it'll work

  10. 4 remaining items

  11. ctrlcctrlv commented on Apr 8, 2018

    @ctrlcctrlv

    Also working fine on FreeBSD. Thanks a lot for fixing it. 👍

    nightly-x86_64-unknown-freebsd installed - rustc 1.27.0-nightly (056f589fb 2018-04-07)

  12. asomers commented on May 11, 2018

    @asomers
    Contributor

    This issue is fixed on nightly, but still broken on stable. When will the fix be ported to stable?

  13. alexreg commented on May 11, 2018

    @alexreg
    Contributor

    @asomers It's not a matter of "porting", but rather when Rust 1.27 is released. Rust 1.26.0 just came out a few hours ago, so the next version will come exactly 6 weeks from now, June 22. I doubt the fix will be backported for an already-released stable version, as unfortunate as it is.

  14. asomers commented on May 11, 2018

    @asomers
    Contributor

    Is there a workaround to install 1.26.0 on FreeBSD (or any system that lacks the docs, like arm Linux) ?

  15. alexreg commented on May 11, 2018

    @alexreg
    Contributor

    It still installs fine, just missing the docs.

    Edit: Nope, it just left the 1.25.0 installation on my system. My bad.

  16. phyber commented on May 11, 2018

    @phyber

    How are you installing it via rustup to get it to install properly?

    $ rustup toolchain install stable
    info: syncing channel updates for 'stable-x86_64-unknown-freebsd'
    info: latest update on 2018-05-10, rust version 1.26.0 (a77568041 2018-05-07)
    error: component 'rust-docs' for 'x86_64-unknown-freebsd' is unavailable for download
    
    $ rustup toolchain install 1.26.0
    info: syncing channel updates for '1.26.0-x86_64-unknown-freebsd'
    info: latest update on 2018-05-10, rust version 1.26.0 (a77568041 2018-05-07)
    error: component 'rust-docs' for 'x86_64-unknown-freebsd' is unavailable for download
    
  17. kennytm commented on May 11, 2018

    @kennytm
    Member
    • Is it possible to modify https://static.rust-lang.org/dist/channel-rust-1.26.0.toml to fix it live? Or is this file immutable? (cc @rust-lang/infra)
    • If the manifest is immutable, do we want to make a point version 1.26.1 for this? My preference is "no" though since it only affects tier 2+ platforms (cc @rust-lang/release)
    • If we don't release 1.26.1, should we endorse a workaround in these 6 weeks (e.g. push the fixed manifest in a different server, and let user use RUSTUP_DIST_SERVER=... rustup)?
  18. asomers commented on May 11, 2018

    @asomers
    Contributor

    Rust's platform support page says that Tier 2 platforms are "required to have each of the following: Official binary releases are provided for the platform...". That, to me, suggests that a 1.26.1 release is required.
    https://forge.rust-lang.org/platform-support.html

  19. kennytm commented on May 11, 2018

    @kennytm
    Member

    @asomers Thanks for the correction. Though, technically the binaries (rustc, std, cargo) are available, it is just that the docs (which are not binaries) are missing and messed up rustup. </lawyer-hat>

  20. asomers commented on May 11, 2018

    @asomers
    Contributor

    Do you mean the binaries at the bottom of this page: https://www.rust-lang.org/en-US/other-installers.html ? I can't find any instructions on how to use those in a way that places nicely with an existing rustup installation. Is such a thing possible?

  21. Mark-Simulacrum commented on May 11, 2018

    @Mark-Simulacrum
    Member

    I think the reasonable fix would be to make rustup able to take a flag or environment variable of some sort that would tell it to keep going despite missing components. This seems long-term useful and is probably not terribly difficult, though I am not familiar with internals.

  22. alexreg commented on May 11, 2018

    @alexreg
    Contributor

    @phyber My mistake. I didn't realise it was bailing completely, and leaving the 1.25.0 stable installation on my system.

  23. alexreg commented on May 11, 2018

    @alexreg
    Contributor

    I think the reasonable fix would be to make rustup able to take a flag or environment variable of some sort that would tell it to keep going despite missing components. This seems long-term useful and is probably not terribly difficult, though I am not familiar with internals.

    @Mark-Simulacrum Totally agree. I expected this behaviour already to be honest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

T-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

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions