-
Notifications
You must be signed in to change notification settings - Fork 13.3k
LLVM assertion failures hang with a modal dialog on Windows #92829
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
Labels
O-windows
Operating system: Windows
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
Could this be part of why we're getting so many hangs in the CI? |
@Patrick-Poitras That was responsible for four stuck |
This was referenced Jan 26, 2022
Posted #93402 with a possible solution. |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 3, 2022
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
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 3, 2022
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
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Labels
O-windows
Operating system: Windows
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
The Windows CI build with LLVM assertions enabled recently hung without an error message. It turned out to be an LLVM assertion failure resulting in a dialog which needed to be acknowledged, see #92535 (comment).
According to the assert documentation such a dialog is always displayed, but that is not the whole truth. Apparently _CrtSetReportHook() can be used to customize assertion failure handling. We should definitely make assertions failures exit with error after printing failure information to stderr instead of displaying a dialog and hanging.
@rustbot label O-windows
The text was updated successfully, but these errors were encountered: