-
Notifications
You must be signed in to change notification settings - Fork 153
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
Teach rustc-fake to tell the truth about subprocess exit statuses #1366
Conversation
nika has also suggested we may also want to make it so |
Co-authored-by: Eduard-Mihai Burtescu <[email protected]>
Co-authored-by: Jane Losare-Lusby <[email protected]>
bump rustc-perf commit split off from rust-lang#99431 needed to access bugfix from rust-lang/rustc-perf#1366
@@ -467,8 +467,9 @@ fn process_self_profile_output(prof_out_dir: PathBuf, args: &[OsString]) { | |||
#[cfg(windows)] | |||
fn exec(cmd: &mut Command) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW using return type -> !
(like the Unix version) would have caught this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh I forgot that part when I posted @mystor's suggestion (#1366 (comment)).
This resolves the ci failure observed in rust-lang/rust#99431
turns out the impl of
fn exec()
in rustc-perf'srustc-fake
is incorrect on windows and only reports a failure when the subprocess fails to spawn, but if it spawns correctly it always reports success rather than checking the exit status of the subprocess. This causes the probe in anyhow to succeed and enable#[cfg(backtrace)]
which then causes anyhow to fail to compile, but because it was inside ofrustc-fake
it reports success and continues! This happens quite a bit and we get some very exciting compiler errors whenRUST_LOG=collector=trace
is set.