Closed alexcrichton closed 1 week ago
Ok I've updated this as recommended in #12077 to update Rust as far as possible before Rust started using LLVM 18.1.7. This should then be a relatively routine update of rustc without breaking coverage information.
Looks like the libfuzzer coverage build for x86_64 failed in CI with the reasons as "System.IO.IOException: No space left on device" (from the summary) (if someone wouldn't mind kicking that with a retry)
The CI is underpowered for infra changes. This needs a full rust trial run from a maintainer of this repo.
cc @jonathanmetzman for a trial run
/gcbrun trial_build.py rust
Reading over the trial build my naive interpretation is that it looks like things passed, but one of y'all more familiar with the output there probably want to double-check me. Given the number of what I thought were spurious failures on https://github.com/google/oss-fuzz/pull/12077 I'm surprised that there are seemingly zero failures.
The other one is testing an order of magnitude more projects. This Looks ok
Can i land this now? Or do I need to wait for the other PR?
This should be good to go yeah, no blockers on my end at least
Yes, this is good to go. The motivation is to get almost all of rust 1.77 (https://blog.rust-lang.org/2024/03/21/Rust-1.77.0.html#stabilized-apis) into OSS-Fuzz by default (no need for each project to do it themselves locally).
This commit updates the default version of Rust installed for fuzzing to the last nightly of Rust that used LLVM 17. The next version uses LLVM 18.1.7 which is incompatible with the fuzz infrastructure's own LLVM which is currently 18.0.0. This is intended to update the Rust toolchain as far as possible without causing coverage incompatibilities.
This additionally updates a few pinned projects to all use this nightly as well. Furthermore the containers are now configured to by-default ignore
rust-toolchain
andrust-toolchain.toml
files which will force this particular toolchain to be used.