Temporarily disable building rustc with ThinLTO on x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc#105662
Closed
lqd wants to merge 2 commits intorust-lang:masterfrom
Closed
Temporarily disable building rustc with ThinLTO on x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc#105662lqd wants to merge 2 commits intorust-lang:masterfrom
x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc#105662lqd wants to merge 2 commits intorust-lang:masterfrom
Conversation
Collaborator
|
r? @jyn514 (rustbot has picked a reviewer for you, use r? to override) |
Member
Author
This comment was marked as resolved.
This comment was marked as resolved.
Member
Author
|
@bors ping |
Collaborator
|
😪 I'm awake I'm awake |
Member
Author
|
@bors try |
Member
Author
|
@bors try |
Member
|
Seems like bors doesn't want to part with LTO perf. gains :) |
Member
Author
|
@bors try |
Collaborator
|
⌛ Trying commit 548cc35 with merge 935dcc042c9966d1b4d4ee6c6cd3f528c1fe3ed9... |
Collaborator
|
☀️ Try build successful - checks-actions |
Member
Author
|
I believe #105800 fixed the underlying issue, so this workaround shouldn't be needed anymore. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context: we recently started building
librustc_driver.sowith ThinLTO on:x86_64-unknown-linux-gnuin Enable LTO for rustc_driver.so #101403,nightly-2022-10-24x86_64-pc-windows-msvcin Enable ThinLTO for rustc on x64 msvc #103591,nightly-2022-12-12x86_64-apple-darwinin Enable ThinLTO for rustc onx86_64-apple-darwin#103647,nightly-2022-12-12Unfortunately, it appears to regress the message we print during ICEs sometimes, including the query stack and explanation on how to open a GH issue. This was noticed in #105637 on mac (where I've enabled ThinLTO recently, and why I was pinged because of the regression and started looking into this), but is present on all the above targets today. There's also a summary and examples in that issue here and some more discussion in this zulip prioritization topic.
Since this is useful information for reporting issues, triage and bisections, it impacts the quality of bug reports. The issue was deemed P-critical, so this PR works around it by temporarily disabling ThinLTO on linux/windows (this setting is already being temporarily disabled for mac as well in #105646) until we can fully investigate and fix the underlying issue causing this early abort (e.g. some UB somewhere causing problems now because of the newly enabled optimizations).
Since this issue impacts the quality of bug reports, it could be more important than the perf ThinLTO provides. I don't have the time to fully investigate the cause right now, but maybe someone else does. (I believe we'd rather workaround the issue than live with it ?)
To that end, I'll cc:
(Note: #101403 will land in 1.66 on 12/15 in 2 days, but rebuilding stable artifacts this late was deemed not worth it in the zulip topic linked above)
(Opening as draft to not merge early)