-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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: different results for shr_s
#4671
Comments
This is the result that would be obtained if the arguments were provided in reverse order. I think the solution is to change the following line of line 58: to line 58: This matches the existing use of EDIT: it looks like this path was exercised in the unit tests, but hilariously none of the current unit tests care about order of arguments! |
In bytecodealliance#4671, the meta-differential fuzz target was finding errors when running certain Wasm modules (specifically `shr_s` in that case). @conrad-watt diagnosed the issue as a missing reversal in the operands passed to the spec interpreter. This change fixes bytecodealliance#4671 and adds an additional unit test to keep it fixed.
In bytecodealliance#4671, the meta-differential fuzz target was finding errors when running certain Wasm modules (specifically `shr_s` in that case). @conrad-watt diagnosed the issue as a missing reversal in the operands passed to the spec interpreter. This change fixes bytecodealliance#4671 and adds an additional unit test to keep it fixed.
In bytecodealliance#4671, the meta-differential fuzz target was finding errors when running certain Wasm modules (specifically `shr_s` in that case). @conrad-watt diagnosed the issue as a missing reversal in the operands passed to the spec interpreter. This change fixes bytecodealliance#4671 and adds an additional unit test to keep it fixed.
) In #4671, the meta-differential fuzz target was finding errors when running certain Wasm modules (specifically `shr_s` in that case). @conrad-watt diagnosed the issue as a missing reversal in the operands passed to the spec interpreter. This change fixes #4671 and adds an additional unit test to keep it fixed.
Test Case
Also see attached files (annoyingly renamed with
.txt
appended due to GitHub upload restrictions):Steps to Reproduce
On the
abrown:meta-diff
branch:$ RUST_LOG=wasmtime_fuzzing=debug cargo +nightly fuzz run differential-new fuzz/artifacts/differential-new/crash-3be2c01861adcd71b08427e6ad1251de6fb3159b
Expected Results
Execution to match for both the Wasmtime and
wasm-spec-interpreter
run.Actual Results
The results of the shift do not match:
Versions and Environment
Wasmtime version or commit:
abrown:meta-diff
branchOperating system: Fedora 35
Architecture: x86-64
Other
I am reporting this to clean up any fuzz bugs found before trying to merge #4515. In talking to @alexcrichton, the first reaction seemed to be that this is a bug in the spec interpreter OCaml bindings (after all, Wasmtime passes all spec tests for this kind of simple operation as does the spec interpreter, I assume). @conrad-watt, any thoughts on this?
The text was updated successfully, but these errors were encountered: