-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Windows: Disable LLVM crash dialog boxes. #93402
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
I am unfamiliar with both Windows assertions and LLVM, so I do not know if this is a good idea. However, I wanted to open this PR up to start a discussion. I also don't know if anyone finds these dialog boxes useful. With them enabled, it is possible to open a debugger and get a stack trace. With them disabled, I'm not sure how to do that easily on an assertion failure. So this may be too extreme. Another option is to have a runtime check. It could be something simple like checking if the |
Thanks for the PR, @ehuss!
That sounds like a good idea. |
The "CI" environment var isn't universal (for example, I think Azure uses TF_BUILD). However, we are mostly concerned with rust-lang/rust's own CI which currently is GitHub Actions which does set "CI". And I think most other providers use "CI" as well.
Sure, done. |
Alright, I think we can just merge this as is now, and come back later if it causes any trouble. @bors r+ |
📌 Commit c64d6bf has been approved by |
Windows: Disable LLVM crash dialog boxes. This disables the crash dialog box on Windows. When LLVM hits an assertion, it will open a dialog box with Abort/Retry/Ignore. This is annoying on CI because CI will just hang until it times out (which can take hours). Instead of opening a dialog box, it will print a message like this: ``` Assertion failed: isa<X>(Val) && "cast<Ty>() argument of incompatible type!", file D:\Proj\rust\rust\src\llvm-project\llvm\include\llvm/Support/Casting.h, line 255 ``` Closes rust-lang#92829
Windows: Disable LLVM crash dialog boxes. This disables the crash dialog box on Windows. When LLVM hits an assertion, it will open a dialog box with Abort/Retry/Ignore. This is annoying on CI because CI will just hang until it times out (which can take hours). Instead of opening a dialog box, it will print a message like this: ``` Assertion failed: isa<X>(Val) && "cast<Ty>() argument of incompatible type!", file D:\Proj\rust\rust\src\llvm-project\llvm\include\llvm/Support/Casting.h, line 255 ``` Closes rust-lang#92829
⌛ Testing commit c64d6bf with merge e281c7ba0a71e90a36def05d7eb56f70ffcb8369... |
💥 Test timed out |
@bors retry dist-i586-gnu-i586-i686-musl appears to be hung compiletest hung after finishing the ui tests without printing a summary. |
⌛ Testing commit c64d6bf with merge eb2ec2ea810beeb8a97326b4208d7bfc98d76f92... |
💥 Test timed out |
…askrgr Rollup of 11 pull requests Successful merges: - rust-lang#92735 (Add crate filter parameter in URL) - rust-lang#93402 (Windows: Disable LLVM crash dialog boxes.) - rust-lang#93508 (Add rustdoc info to jsondocck output) - rust-lang#93551 (Add package.json in gitignore) - rust-lang#93555 (Link `try_exists` docs to `Path::exists`) - rust-lang#93585 (Missing tests for rust-lang#92630) - rust-lang#93593 (Fix ret > 1 bound if shadowed by const) - rust-lang#93630 (clippy::perf fixes) - rust-lang#93631 (rustc_mir_dataflow: use iter::once instead of Some().into_iter) - rust-lang#93632 (rustdoc: clippy::complexity fixes) - rust-lang#93638 (rustdoc: remove unused Hash impl) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This disables the crash dialog box on Windows. When LLVM hits an assertion, it will open a dialog box with Abort/Retry/Ignore. This is annoying on CI because CI will just hang until it times out (which can take hours).
Instead of opening a dialog box, it will print a message like this:
Closes #92829