Skip to content

Warnings being printed after input control is returned to cmd.exe #4463

@cher-nov

Description

@cher-nov

Although this bug has been spotted on outdated versions and a platform that is no longer supported, I still decided to write about it, because it may well still exist and indicate certain problems with the async code. Someone else needs to check it, since I don't have the opportunity to do it yet.


Problem

Assume having a Rust environment with tool management conflict(s) between Cargo and Rustup, which results in the well-known warning: tool is already installed. So, when a version specified in ${RUSTUP_UPDATE_ROOT}/rustup/release-stable.toml is distinct and I run rustup self update, then after downloading and installing it these warnings will be output literally into the command prompt. Moreover, this also sometimes happens not immediately, but literally a few seconds later. To me, this pretty suggests some kind of multithreading issue.

2025-08-28_163002.png

And once I noticed the same bug on another command: rustup toolchain install 1.77-gnu 1.77-i686 1.77-i686-gnu:

photo_2024-11-16_17-48-45.jpg.png

Configuration

Rustup versions tested: 1.27.1, 1.27.1+381 (03b7c56bf 2024-07-30)
Operating system: Windows 7 Ultimate (Service Pack 1) x64

Additional notes

  1. Setting the environment variable RUSTUP_IO_THREADS=1 doesn't affect the observed behavior.
  2. I tested version 1.27.1+381 because 03b7c56 is the last revision that can be built with Rust 1.77.2 and run on Windows 7 - I deliberately ran git bisect to find this out. It's worth noting that the bug is also present there, but in addition the text can no longer be colored in cmd.exe starting with commit 509714d, which is shown on the first screenshot as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions