rust-lang / rust-lang/cargo

Long stall when interrupting a long-running compilation with Ctrl+C on MSYS

Open
#8,679 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug O-windows S-needs-info
Dominant language
Rust
Stars
15.5k
Forks
3k
Avg merge
23h 30m
Merged PRs (30d)
51

Description

nightly-x86_64-pc-windows-msvc (default)
rustc 1.47.0-nightly (2d8a3b918 2020-08-26)
mintty 3.3.0 (x86_64-pc-msys)

To reproduce: Open up the default MSYS command line (MinTTY) on Windows 10. Download the ggez/ggez repository, navigate to that repository's root directory, and run cargo run --example 01_super_simple. Wait for the progress bar to reach at least 100/257, and then interrupt compilation by pressing Ctrl+C.

Expected behaviour: Control should return to the command line near-instantaneously. This is the observed behaviour when using cmd.exe.

Observed behaviour: The command line becomes unresponsive for tens of seconds. Throughout this time, Task Manager reports that several instances of rustc.exe are consuming a combined 100% CPU usage. Disk usage and memory usage remain at baseline.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the stall with cargo run --example 01_super_simple in the ggez repository under MSYS MinTTY, then interrupt after the progress bar passes 100/257. Compare the same interruption in cmd.exe and use the reported rustc CPU activity to narrow down the behavior. Done means Ctrl+C returns control near-instantaneously on MSYS without lingering rustc processes.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.