Skip to content

1.67 release broken on illumos when stdout is not a tty #11629

Closed
@davepacheco

Description

@davepacheco

Problem

After installing toolchain 1.67 on illumos, all cargo invocations with stdout not being a tty fail with:

$ cargo version > /dev/null
thread 'main' panicked at 'unexpected error from isatty: 0', /cargo/registry/src/proxy-git.cwkhome.fun-1ecc6299db9ec823/rustix-0.36.3/src/backend/libc/termios/syscalls.rs:141:20
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It's fine if stdout is a tty:

$ cargo version
cargo 1.67.0 (8ecd4f20a 2023-01-10)

This is unfortunately a showstopper for us because stdout is not a tty in CI, so we can't use this toolchain in CI.

Steps

On an illumos system:

  1. rustup toolchain update stable
  2. cargo version (to make sure you got 1.67)
  3. cargo version > /dev/null (should reproduce the problem)

Possible Solution(s)

We believe this is bytecodealliance/rustix#467, which was introduced to Cargo by 48895b1. This has been fixed upstream.

Notes

No response

Version

$ cargo version --verbose
cargo 1.67.0 (8ecd4f20a 2023-01-10)
release: 1.67.0
commit-hash: 8ecd4f20a9efb626975ac18a016d480dc7183d9b
commit-date: 2023-01-10
host: x86_64-unknown-illumos
libgit2: 1.5.0 (sys:0.16.0 vendored)
libcurl: 7.86.0-DEV (sys:0.4.59+curl-7.86.0 vendored ssl:OpenSSL/1.1.1q)
os: illumos helios-1.0.21408 [64-bit]

(thanks @jgallagher for having found this before, fixed it upstream, and identified it here)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bugS-blocked-externalStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fixregression-from-stable-to-stableRegression in stable that worked in a previous stable release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions