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: enable introspector for Rust #12854

Merged
merged 4 commits into from
Dec 17, 2024
Merged

infra: enable introspector for Rust #12854

merged 4 commits into from
Dec 17, 2024

Conversation

DavidKorczynski
Copy link
Collaborator

No description provided.

@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py rust --sanitizer introspector --fuzzing-engine libfuzzer

@DavidKorczynski
Copy link
Collaborator Author

Errors in the builds fail with:

Step #6: gcr.io/oss-fuzz-base/base-builder-swift-testing-rust-fi-int:latest
Finished Step #6
Step #1: CommandException: No URLs matched: gs://oss-fuzz-coverage/migtd/textcov_reports/20241216/*
Step #1: CommandException: 1 file/object could not be transferred.

This is in essence expected because it's a chicken-and-egg situation: we need this PR to enable uploading of textcov_reports:

if project.fuzzing_language in LANGUAGES_WITH_INTROSPECTOR_SUPPORT:
# Upload the text coverage reports. Delete the old ones just in case.
upload_textcov_reports_url = bucket.get_upload_url('textcov_reports')
build_steps.append(build_lib.gsutil_rm_rf_step(upload_textcov_reports_url))
build_steps.append({
'name':
'gcr.io/cloud-builders/gsutil',
'args': [
'-m',
'cp',
'-r',
os.path.join(build.out, 'textcov_reports'),
upload_textcov_reports_url,
],

@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer

@DavidKorczynski
Copy link
Collaborator Author

DavidKorczynski commented Dec 16, 2024

To solve the textcov_reports issue I'll allow failure on this step:

coverage_data_path = os.path.join(f'{out_dir}/textcov_reports/')
bucket_url = f'gs://{bucket_name}/{project_name}/textcov_reports/{latest}/*'
steps.append({
'name': 'gcr.io/cloud-builders/gsutil',
'args': ['-m', 'cp', '-r', bucket_url, coverage_data_path]
})

This code is only used by Fuzz Introspector runs and it's okay if it fails.

Will do it after the current trial build, since we still want to test the bumping of Fuzz Introspector and the changes applies are okay for non-rust projects.

@DavidKorczynski
Copy link
Collaborator Author

The latest trial build succeeds. The ones that fail are rust projects because of the textcov issues, which is also related to failing coverage builds.

Signed-off-by: David Korczynski <[email protected]>
Signed-off-by: David Korczynski <[email protected]>
@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py rust --sanitizer introspector --fuzzing-engine libfuzzer

@DavidKorczynski
Copy link
Collaborator Author

Looks good -- the few projects failing are due to build issues and not this PR.

This is good to go.

@DavidKorczynski DavidKorczynski merged commit 6ee5336 into master Dec 17, 2024
18 of 19 checks passed
@DavidKorczynski DavidKorczynski deleted the rust-fi-int branch December 17, 2024 18:12
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