-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Enable debug assertions on alt builds #131077
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
Conversation
@bors try |
Enable debug assertions on alt builds Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions. We've discussed that this would be useful a few times in the past, most recently in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/cargo.20bisect-rustc'ing.20a.20debug.20assertions-only.20ICE), for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence. [In another thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Alt.20builds.20with.20debug.20assertions) we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work. I don't _believe_ this needs an MCP, but am not sure. To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to. try-job: dist-x86_64-linux-alt try-job: dist-x86_64-msvc-alt
☀️ Try build successful - checks-actions |
Assertions seem to be enabled in the CI log, and CI time doesn't seem to be regressed almost at all. No concerns from me. I'll ask on Zulip, but otherwise LGTM. |
I don’t expect CI times to change that much. Assertions will make the compiler slightly slower though. Do we run tests on the opt-dist alt builds? If so, then some of the codegen tests will fail. |
We don't, because they're not PGO/BOLT optimized. |
Ah cool. Mark said before some tier1 targets already have assertions enabled, I’m not sure how any using $DEPLOY can make it work but I don’t know the CI script workflow all that well. PR CI and some test builders already have them enabled so we should be covered at least there. |
Didn't see any objections/concerns, let's try this. @bors r+ |
Enable debug assertions on alt builds Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions. We've discussed that this would be useful a few times in the past, most recently in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/cargo.20bisect-rustc'ing.20a.20debug.20assertions-only.20ICE), for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence. [In another thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Alt.20builds.20with.20debug.20assertions) we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work. I don't _believe_ this needs an MCP, but am not sure. To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to. try-job: dist-x86_64-linux-alt try-job: dist-x86_64-msvc-alt
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
We're evidently PGOBOLTing the alt builds :3 |
I'll try to look into the tests soon @rustbot author |
Maybe I just looked at try builds before? 🤔 Sorry. |
@bors r- |
@bors r- Bors got confused. |
Enable debug assertions on alt builds Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions. We've discussed that this would be useful a few times in the past, most recently in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/cargo.20bisect-rustc'ing.20a.20debug.20assertions-only.20ICE), for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence. [In another thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Alt.20builds.20with.20debug.20assertions) we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work. I don't _believe_ this needs an MCP, but am not sure. To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to. try-job: dist-x86_64-linux-alt
this way opt-dist respects debug-assertions on alt builds, so that bootstrap runs the correct set of tests in stage0 post optimization tests.
☀️ Try build successful - checks-actions |
de276a9
to
6a637a0
Compare
linux works with this awful hack
now, the windows alt @bors try |
Enable debug assertions on alt builds Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions. We've discussed that this would be useful a few times in the past, most recently in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/cargo.20bisect-rustc'ing.20a.20debug.20assertions-only.20ICE), for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence. [In another thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Alt.20builds.20with.20debug.20assertions) we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work. I don't _believe_ this needs an MCP, but am not sure. To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to. try-job: dist-x86_64-msvc-alt
☀️ Try build successful - checks-actions |
oyyyy whaddup gamers @rustbot ready |
@bors try Running again, with the hope that the alt builder will be faster now.. |
Enable debug assertions on alt builds Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions. We've discussed that this would be useful a few times in the past, most recently in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/cargo.20bisect-rustc'ing.20a.20debug.20assertions-only.20ICE), for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence. [In another thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Alt.20builds.20with.20debug.20assertions) we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work. I don't _believe_ this needs an MCP, but am not sure. To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to. try-job: dist-x86_64-msvc-alt try-job: dist-x86-64-linux-alt
A job failed! Check out the build log: (web) (plain) Click to see the possible cause of the failure (guessed by this bot)
|
@bors try |
Enable debug assertions on alt builds Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions. We've discussed that this would be useful a few times in the past, most recently in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/cargo.20bisect-rustc'ing.20a.20debug.20assertions-only.20ICE), for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence. [In another thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Alt.20builds.20with.20debug.20assertions) we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work. I don't _believe_ this needs an MCP, but am not sure. To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to. try-job: dist-x86_64-msvc-alt try-job: dist-x86_64-linux-alt
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
Ok, so this still took 3h30, even with the unexpected failure, which is too slow for CI. There's no way to land this at this time. I'll pass this work on t-infra. |
Alt builds already have llvm assertions enabled, and this PR adds rustc's debug assertions.
We've discussed that this would be useful a few times in the past, most recently in this zulip thread, for example to bisect the source PR of an unexpected tripped debug assert, which is not that rare of an occurrence.
In another thread we discussed how it would help with Matthias' fuzzing workflow, and some of Ben's work.
I don't believe this needs an MCP, but am not sure.
To my knowledge there are 2 alt builds (x64 linux, x64 msvc) and this enables it for both, though we could limit to x64 linux if we wanted to.
try-job: dist-x86_64-msvc-alt
try-job: dist-x86_64-linux-alt