-
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
Occasional non-reproducibility when building rustc #69352
Comments
This comment has been minimized.
This comment has been minimized.
It seems plausible that bumping the optimization level would cause instability in llvm, cc @eddyb |
cc @nagisa @nikic @hanna-kruppe Is there any easy way to diagnose this sort of thing, short of getting @Mark-Simulacrum If we do have to do this the hard way, maybe exposing |
@jgalenson I forget if/how we expose this, but if you can change |
@eddyb Doesn't |
@eddyb You can use I don't have a great suggestion on how to debug this beyond diffing the transform log. There is some open non-determinism in LVI (will usually manifest in jump threading), though no idea if that is hit or something else. |
This wold be pretty painful to do today I suspect do to how rustbuild works internally, and I haven't had the energy to try and investigate changes there for the past couple months. |
@Mark-Simulacrum How so, can't we "just" turn one of the |
Hm, perhaps. Though I'm not sure :) Certainly one would likely expect some way to get the arguments passed in a stage-specific way... I would need to look into it, and I don't have the bandwidth or energy right now unfortunately. |
I mean, everything would still be go through the For now it's probably easier to locally change |
We unfortunately have to add a patch to fix rust-lang/rust#69352.
Over the past few days I have occasionally seen my builds of rustc be non-reproducible. The differences most often seem to be in stage 1's libparking_log, librustc_parse, or librustc_driver.
A git bisect suggests that this was caused by 138c50f, although due to the fact that this issue is itself difficult to reproduce this could potentially be incorrect. But after many builds with and without that patch, I have only seen the error with it. Assuming that is correct, I believe this issue might well be due to non-determinism in LLVM's
-O3
, but I'm not sure how to run just the LLVM portion on the compile so I'm not sure.Note that this is a part of #34902.
The text was updated successfully, but these errors were encountered: