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

Verify recent error cause #2011

Closed
wants to merge 6 commits into from
Closed

Verify recent error cause #2011

wants to merge 6 commits into from

Conversation

DonggeLiu
Copy link
Contributor

Recent PR experiments experience similar errors.
This PR intends to verify if the error is caused by our recent code changes.

@DonggeLiu
Copy link
Contributor Author

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-03-dg --fuzzers libfuzzer --benchmarks libxml2_xml

@DonggeLiu
Copy link
Contributor Author

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-03-test --fuzzers libfuzzer --benchmarks libxml2_xml

@DonggeLiu DonggeLiu mentioned this pull request Aug 3, 2024
@DonggeLiu
Copy link
Contributor Author

Experiment 2024-08-03-test data and results will be available later at:
The experiment data.
The experiment report.
The experiment report(experimental).

@vanhauser-thc
Copy link
Collaborator

@DanBlackwell
Copy link

@DonggeLiu I think there may be a correlation with merging results. One of my experiments (here) on 1 aug ran fine merging disabled, but the ones with merging enabled failed to run the coverage checker... I see your run up above ran fine with merging disabled too.

@DonggeLiu
Copy link
Contributor Author

weird your experiment is not coming up at https://www.fuzzbench.com/reports/experimental/index.html but is available here - https://storage.googleapis.com/www.fuzzbench.com/reports/2024-08-03-test/index.html

Yep, I recall @jonathanmetzman has changed the logic.

@DonggeLiu
Copy link
Contributor Author

@DonggeLiu I think there may be a correlation with merging results. One of my experiments (here) on 1 aug ran fine merging disabled, but the ones with merging enabled failed to run the coverage checker... I see your run up above ran fine with merging disabled too.

Interesting observation, thanks!
Let me run another one with merge enabled.

@DonggeLiu
Copy link
Contributor Author

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-05-test --fuzzers libfuzzer_test --benchmarks libxml2_xml

@DonggeLiu
Copy link
Contributor Author

Experiment 2024-08-05-test data and results will be available later at:
The experiment data.
The experiment report.
The experiment report(experimental).

@DanBlackwell
Copy link

@DonggeLiu I think there may be a correlation with merging results. One of my experiments (here) on 1 aug ran fine merging disabled, but the ones with merging enabled failed to run the coverage checker... I see your run up above ran fine with merging disabled too.

Interesting observation, thanks! Let me run another one with merge enabled.

Ok, bad news is it doesn't seem to be quite so simple. This failed to run with merging disabled :/

@DonggeLiu
Copy link
Contributor Author

Ok, bad news is it doesn't seem to be quite so simple. This failed to run with merging disabled :/

Yep, the experiment did not generate a report at all.
Merging only happens at the very end stage after the experiment is completed.

@DonggeLiu
Copy link
Contributor Author

Hi @DanBlackwell,
The two experiments in this PR seem to be working as expected, so is #1966.
The cloud log shows the report generation failure in 2024-08-05-dgfuzz is due to Profdata files Prmerging failed. from

result = merge_profdata_files(files_to_merge, self.merged_profdata_file)
if result.retcode != 0:
logger.error('Profdata files merging failed.')

There are also many Error watching metadata: context canceled from gcloud rather than FB or your fuzzer.

I will cancel all experiment instances for 2024-08-05-dgfuzz for now. Meanwhile, would you mind rebasing your PR on this one, just in case the error is related to the commit that this PR reverted? Thanks!

@DanBlackwell
Copy link

Hi @DanBlackwell, The two experiments in this PR seem to be working as expected, so is #1966. The cloud log shows the report generation failure in 2024-08-05-dgfuzz is due to Profdata files Prmerging failed. from

result = merge_profdata_files(files_to_merge, self.merged_profdata_file)
if result.retcode != 0:
logger.error('Profdata files merging failed.')

There are also many Error watching metadata: context canceled from gcloud rather than FB or your fuzzer.

I will cancel all experiment instances for 2024-08-05-dgfuzz for now. Meanwhile, would you mind rebasing your PR on this one, just in case the error is related to the commit that this PR reverted? Thanks!

Hi @DonggeLiu , I believe it's only possible to rebase onto branches in the parent repo; not PRs. As an alternative I've created a squashed patch of #2000, and you should be able to just git patch apply it in this PR, then commit and push it up if you want to test that the issue is resolved.

Here's the patch file: dgfuzz_commit.patch

@DonggeLiu
Copy link
Contributor Author

Hi @DonggeLiu , I believe it's only possible to rebase onto branches in the parent repo; not PRs.

I reckon clicking the Edit button (on the top, to the right of the PR title) works?
image

image

Let me know if this is not available to you though, I can do it for you (if you don't mind).

With that said, seeing libfuzzer works on your PR and aflpp work in #1966, I wonder if other reasons caused the failure.

@DanBlackwell
Copy link

Hi @DonggeLiu , I believe it's only possible to rebase onto branches in the parent repo; not PRs.

I reckon clicking the Edit button (on the top, to the right of the PR title) works? image

image Let me know if this is not available to you though, I can do it for you (if you don't mind).

My bad, you are correct; I have rebased it now.

With that said, seeing libfuzzer works on your PR and aflpp work in #1966, I wonder if other reasons caused the failure.

Hmm, is there anything in the logs for the measurer at all?

@DonggeLiu
Copy link
Contributor Author

Hmm, is there anything in the logs for the measurer at all?

The report shows the coverage of the fuzzer, so I presume the measurer must be running?
Please correct me if I missed anything : )

@DonggeLiu
Copy link
Contributor Author

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-07-libfuzzer-zlib --fuzzers libfuzzer --benchmarks zlib_zlib_uncompress_fuzzer

@DonggeLiu
Copy link
Contributor Author

I reckon we can conclude the error is not caused by FuzzBench infra?
@DanBlackwell please feel free to reopen this if proven otherwise.
Thanks : )

@DonggeLiu DonggeLiu closed this Aug 9, 2024
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.

3 participants