Skip to content
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

Merged
merged 3 commits into from
Mar 13, 2024
Merged

infra: downgrade rust #11681

merged 3 commits into from
Mar 13, 2024

Conversation

DavidKorczynski
Copy link
Collaborator

@DavidKorczynski DavidKorczynski commented Mar 13, 2024

Downgrades Rust to nightly at 28th Dec 2023. The version that is build is:

 > [2/2] RUN install_rust.sh:                                                                                                                                                                                                                                                          
0.210 + curl https://sh.rustup.rs                                                                                                                                                                                                                                                      
0.210 + sh -s -- -y --default-toolchain=nightly-2023-12-28 --profile=minimal                                                                                                                                                                                                           
0.217   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                                                                                                                                                                                  
0.217                                  Dload  Upload   Total   Spent    Left  Speed                                                                                                                                                                                                    
100 26495  100 26495    0     0   205k      0 --:--:-- --:--:-- --:--:--  206k                                                                                                                                                                                                         
0.348 info: downloading installer                                                                                                                                                                                                                                                      
1.603 warning: it looks like you have an existing installation of Rust at:                                                                                                                                                                                                             
1.603 warning: /usr/local/bin                                                                                                                                                                                                                                                          
1.603 warning: It is recommended that rustup be the primary Rust installation.                                                                                                                                                                                                         
1.603 warning: Otherwise you may have confusion unless you are careful with your PATH                                                                                                                                                                                                  
1.603 warning: If you are sure that you want both rustup and your already installed Rust                                                                                                                                                                                               
1.603 warning: then please reply `y' or `yes' or set RUSTUP_INIT_SKIP_PATH_CHECK to yes                                                                                                                                                                                                
1.603 warning: or pass `-y' to ignore all ignorable checks.                                                                                                                                                                                                                            
1.603 error: cannot install while Rust is installed                                                                                                                                                                                                                                    
1.603 warning: continuing (because the -y flag is set and the error is ignorable)                                                                                                                                                                                                      
1.622 info: profile set to 'minimal'                                                                                                                                                                                                                                                   
1.622 info: default host triple is x86_64-unknown-linux-gnu                                                                                                                                                                                                                            
1.622 info: syncing channel updates for 'nightly-2023-12-28-x86_64-unknown-linux-gnu'                                                                                                                                                                                                  
2.595 info: latest update on 2023-12-28, rust version 1.77.0-nightly (89e2160c4 2023-12-27)                                                                                                                                                                                            
2.595 info: downloading component 'cargo'                                                                                                                                                                                                                                              
3.274 info: downloading component 'rust-std'      

@DavidKorczynski DavidKorczynski marked this pull request as draft March 13, 2024 00:13
Signed-off-by: David Korczynski <david@adalogics.com>
@DavidKorczynski
Copy link
Collaborator Author

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.

@DavidKorczynski
Copy link
Collaborator Author

DavidKorczynski commented Mar 13, 2024

Am able to generate full runs (fuzz + coverage) for:

  • Tokio
  • Askama
  • redis-rs
  • rustls
  • httparse
  • trust-dns
  • toml_edit
  • ron

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>
Signed-off-by: David Korczynski <david@adalogics.com>
@DavidKorczynski DavidKorczynski marked this pull request as ready for review March 13, 2024 00:37
@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py all --fuzzing-engines libfuzzer

Copy link
Collaborator

@oliverchang oliverchang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py rust --engine libfuzzer --sanitizer coverage

@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py rust --fuzzing-engines libfuzzer --sanitizers coverage address

@DavidKorczynski DavidKorczynski merged commit 54cf7a9 into master Mar 13, 2024
19 checks passed
@DavidKorczynski DavidKorczynski deleted the downgrade-rust branch March 13, 2024 13:12
jonathanmetzman pushed a commit that referenced this pull request Apr 5, 2024
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.
alexcrichton added a commit to alexcrichton/oss-fuzz that referenced this pull request Jun 17, 2024
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
alexcrichton added a commit to alexcrichton/oss-fuzz that referenced this pull request Jun 17, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants