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

Fuzz fixes #1249

Merged
merged 17 commits into from
Nov 27, 2023
Merged

Fuzz fixes #1249

merged 17 commits into from
Nov 27, 2023

Conversation

graydon
Copy link
Contributor

@graydon graydon commented Nov 24, 2023

This contains the results of a few days of both reproducing and fixing fuzz bugs and also hacking on the fuzzer:

  1. Fixes fuzz found internal error deleting from instance storage #1203 which was a somewhat subtle budget-error-escalation bug the fuzzer found.
  2. Fixes a couple other instances of that pattern.
  3. Fixes a fuzzer-found instance of a frame invariant corruption.
  4. Moves the machinery the fuzzer needs from tests/utils (which was guarded by cfg(test) so inaccessible to testutils and guards it with cfg(feature="testutils")
  5. Removes the duplicate code in the fuzzer lib and instead uses host testutils
  6. Extends testutils to record the storage map and then switch to enforcing, rather than manually building the enforcing map
  7. Removes the other non-expr fuzz case, it's redundant.
  8. Adds some scaffolding for fuzz debugging.
  9. Adds support for passing arguments to the fuzzer to enable access to storage and cross-contract calls.
  10. Fix the thing where we rebuild every time due to build.rs not being conservative enough

@graydon graydon requested review from sisuresh, dmkozh and a team as code owners November 24, 2023 06:44
@graydon graydon added this pull request to the merge queue Nov 27, 2023
Merged via the queue into main with commit 8265384 Nov 27, 2023
10 checks passed
@graydon graydon deleted the fuzz-fixes branch November 27, 2023 22:49
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.

fuzz found internal error deleting from instance storage
2 participants