-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
infra: downgrade rust #11681
infra: downgrade rust #11681
Conversation
Signed-off-by: David Korczynski <david@adalogics.com>
I can confirm that Tokio (from #11626) builds correctly with coverage and I'm able to do a full run (1) build fuzzers; (2) run fuzzers; (3) build with coverage; (4) generate HTML report of Tokio. |
Am able to generate full runs (fuzz + coverage) for:
which are a subset of the projects mentioned in #11626 -- I didn't test all the projects mentioned in the PR, but I didn't run into any projects that failed coverage builds. |
Signed-off-by: David Korczynski <david@adalogics.com>
/gcbrun trial_build.py all --fuzzing-engines libfuzzer |
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.
thanks!
/gcbrun trial_build.py rust --engine libfuzzer --sanitizer coverage |
/gcbrun trial_build.py rust --fuzzing-engines libfuzzer --sanitizers coverage address |
The rust-lang/rust#110475 issue referenced is no longer a problem since the `geo` crate has been updated in SurrealDB. However, the change in default Rust version in the image builder implemented in #11681 breaks fuzzing due to SurrealDB now requiring Rust 1.77 after surrealdb/surrealdb#3591, leading to a bump in the MSRV in surrealdb/surrealdb#3778. I have replaced the obsolete `--cfg uuid_unstable` for the generic `--cfg surrealdb_unstable`, which will allow fuzzing any features still deemed unstable in SurrealDB including the new experimental parser.
This commit updates the default version of Rust installed for fuzzing. In google#11626 it was found that at the time Rust's upgraded version of LLVM didn't play well with the LLVM used on OSS-Fuzz, but since then Rust was temporarily pinned in google#11681 to an older nightly. It looks like though that in google#11714 the LLVM version was upgraded to 18 so this updates Rust to today's nightly which is using LLVM 18.1.7. Discussion in google#11626 seems to point in the direction of keeping Rust pinned rather than going back to using `nightly` which updates each day. The motivation for this commit is that the Wasmtime project is seeing [build failures][log] for using APIs stabilized in Rust 1.77.0. The older nightly version used on OSS-Fuzz doesn't have access to these APIs, so this update should help resolve Wasmtime's build failure. [log]: https://oss-fuzz-build-logs.storage.googleapis.com/log-cc290775-8669-4cba-8370-60d5a56a9de8.txt
This commit updates the default version of Rust installed for fuzzing. In google#11626 it was found that at the time Rust's upgraded version of LLVM didn't play well with the LLVM used on OSS-Fuzz, but since then Rust was temporarily pinned in google#11681 to an older nightly. It looks like though that in google#11714 the LLVM version was upgraded to 18 so this updates Rust to today's nightly which is using LLVM 18.1.7. Discussion in google#11626 seems to point in the direction of keeping Rust pinned rather than going back to using `nightly` which updates each day. The motivation for this commit is that the Wasmtime project is seeing [build failures][log] for using APIs stabilized in Rust 1.77.0. The older nightly version used on OSS-Fuzz doesn't have access to these APIs, so this update should help resolve Wasmtime's build failure. [log]: https://oss-fuzz-build-logs.storage.googleapis.com/log-cc290775-8669-4cba-8370-60d5a56a9de8.txt
Downgrades Rust to nightly at 28th Dec 2023. The version that is build is: