Skip to content

Adding stack shuffler loop bug#16605

Merged
msooseth merged 2 commits intodevelopfrom
new-shuffle-loop
Apr 16, 2026
Merged

Adding stack shuffler loop bug#16605
msooseth merged 2 commits intodevelopfrom
new-shuffle-loop

Conversation

@msooseth
Copy link
Copy Markdown
Contributor

@msooseth msooseth commented Apr 16, 2026

How to reproduce

This is a .stack file that hopefully is correct. It reproduces in develop. You can generate this, and many others by cloning:

https://github.com/argotorg/solidity-fuzzing

Then following the README.md to build both normal & docker and then:

# (we are now in the `solidity-fuzzer` directory, NOT in `build/` or `build_ossfuzz`)
mkdir my_corpus_shuffler
./build_ossfuzz/tools/ossfuzz/shuffler_proto_ossfuzz my_corpus_shuffler
# [wait about 5s for it to crash]
PROTO_FUZZER_DUMP_PATH=crash.stack ./build_ossfuzz/tools/ossfuzz/shuffler_proto_ossfuzz ./crash-[crashnumber]
./build/tools/shuffler-fuzzer/stackshuffler --verbose crash.stack

Minimization

Enjoy! You can probably minimize it with:

./build_ossfuzz/tools/ossfuzz/shuffler_proto_ossfuzz  -minimize_crash=1 ./crash-[crashnumber]

and then take the ./minimized... to run the PROTO_FUZZER_DUMP to dump it then you'll get:

initial: [v0, phi0, phi0, lit0]
targetStackTop: [phi0, v0, v0, JUNK, phi0]
targetStackTailSet: {v0}
targetStackSize: 7

That has the same effect as the one I just committed here. So this is ALSO a minimizer, actually...

@msooseth msooseth requested review from blishko and clonker April 16, 2026 13:07
Copy link
Copy Markdown
Member

@clonker clonker left a comment

Choose a reason for hiding this comment

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

sweet! thanks :) please squash

@msooseth msooseth enabled auto-merge (squash) April 16, 2026 14:39
@msooseth msooseth merged commit 5b79872 into develop Apr 16, 2026
80 of 83 checks passed
@msooseth msooseth deleted the new-shuffle-loop branch April 16, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants