Skip to content

Some fixes to the fuzzing setup#16492

Closed
msooseth wants to merge 30 commits intodevelopfrom
develop-ossfuzz
Closed

Some fixes to the fuzzing setup#16492
msooseth wants to merge 30 commits intodevelopfrom
develop-ossfuzz

Conversation

@msooseth
Copy link
Copy Markdown
Contributor

@msooseth msooseth commented Feb 25, 2026

Changes are:

  • using MSIZE and GAS, the fuzzer can distinguish between optimized and unoptimized Yul too easily. So it's now banned under m_filterOptimizationNoise.
  • pragma experimental in solc is too easy to crash, and is unsupported -- filtering out
  • Yul interpreter can run way too long without proper caps on e.g. mem copy etc. Fixed via InstructionLimitReached and an associated "cost" for instructions... gas, basically :)
  • CallData is now also being fuzzed by all fuzzers.

I also improved the README so we have some explanation of what some of the binaries do. It has been hard to figure out what is what, and what it actually tests without it.

@msooseth msooseth changed the title [DRAFT] VERY early prototype, please DON'T look at it yet. Some fixed for ossfuzz. [DRAFT] VERY early prototype, please DON'T look at it yet. Some fixes for ossfuzz. Feb 25, 2026
None of this

Less noise

Update

Compile now

Less noise
@msooseth msooseth changed the title [DRAFT] VERY early prototype, please DON'T look at it yet. Some fixes for ossfuzz. Some fixes to the fuzzing setup Mar 3, 2026
@msooseth msooseth force-pushed the develop-ossfuzz branch 2 times, most recently from f70f8ab to 8258e60 Compare March 9, 2026 13:31
Copy link
Copy Markdown
Contributor Author

@msooseth msooseth left a comment

Choose a reason for hiding this comment

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

Todos for myself. Thanks to @r0qs for all the help!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Changes to the interpreter should be covered with tests in libyul/yulInterpreterTests/.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

VERY good catch. There was actually a bug introduced here that these tests caught. I fixed that, and added more test cases around wrapping for both memory and storage.

@msooseth msooseth marked this pull request as ready for review March 17, 2026 14:55
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.

@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Apr 1, 2026
@msooseth msooseth closed this Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale The issue/PR was marked as stale because it has been open for too long.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants