-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows: Disable LLVM crash dialog boxes. #93402
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