Skip to content

Conversation

ChrisDenton
Copy link
Member

Windows will report a broken pipe as a normal error which in turn println! will panic on. Currently this causes rustc to produce a backtrace and ICE. However, this is not a bug with rustc so a backtrace is overly verbose and ultimately unhelpful to the user.

Kind of fixes #98700. Although this is admittedly a bit of a hack because at panic time all we have is a string to inspect. On zulip it was suggested that libstd might someday provide a way to indicate a soft panic but that day isn't today.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 2, 2022
@rust-highfive
Copy link
Contributor

r? @davidtwco

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 2, 2022
Copy link
Member

@davidtwco davidtwco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you note in the description, this fix is a bit of a hack but I can't think of a better solution.

@davidtwco
Copy link
Member

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Aug 9, 2022

📌 Commit 27b9b16 has been approved by davidtwco

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 9, 2022
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Aug 9, 2022
Error on broken pipe but do not backtrace or ICE

Windows will report a broken pipe as a normal error which in turn `println!` will panic on. Currently this causes rustc to produce a backtrace and ICE. However, this is not a bug with rustc so a backtrace is overly verbose and ultimately unhelpful to the user.

Kind of fixes rust-lang#98700. Although this is admittedly a bit of a hack because at panic time all we have is a string to inspect. On zulip it was suggested that libstd might someday provide a way to indicate a soft panic but that day isn't today.
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 10, 2022
…iaskrgr

Rollup of 14 pull requests

Successful merges:

 - rust-lang#98775 (rustdoc: improve scroll locking in the rustdoc mobile sidebars)
 - rust-lang#99479 (rustdoc-json: Remove doc FIXME for Import::id and explain)
 - rust-lang#100040 (Error on broken pipe but do not backtrace or ICE)
 - rust-lang#100072 (linker-plugin-lto.md: Correct the name of example c file)
 - rust-lang#100098 (Some "this expression has a field"-related fixes)
 - rust-lang#100226 (Do not manually craft a span pointing inside a multibyte character.)
 - rust-lang#100240 (Fail gracefully when const pattern is not structural match.)
 - rust-lang#100256 (Add some high-level docs to `FnCtxt` and `ItemCtxt`)
 - rust-lang#100261 (Set tainted errors bit before emitting coerce suggestions.)
 - rust-lang#100275 (also update anyhow in codegen_cranelift)
 - rust-lang#100281 (Remove more Clean trait implementations)
 - rust-lang#100314 (Mention `unit-test` in MIR opt test README)
 - rust-lang#100319 (Remove more Clean trait implementations)
 - rust-lang#100323 ([rustdoc] Don't render impl blocks with doc comment if they only contain private items by default)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit cf7a9ae into rust-lang:master Aug 10, 2022
@rustbot rustbot added this to the 1.65.0 milestone Aug 10, 2022
@ChrisDenton ChrisDenton deleted the broken-pipe branch October 1, 2024 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rustc -C help panics (ICEs) when piped to a closed stdout
5 participants