Skip to content

Commit

Permalink
Fuzzer: Ignore V8 errors on uninitialized non-defaultable locals (Web…
Browse files Browse the repository at this point in the history
…Assembly#6337)

See WebAssembly#5665 WebAssembly#5599, this is an existing issue and we have a workaround for it
using --dce, but it does not always work. I seem to be seeing this in higher
frequency since landing recent fuzzer improvements, so ignore it.

There is some risk of us missing real bugs here (that we validate and V8
does not), but this is a validation error which is not as serious as a difference
in behavior. And this is a long-standing issue that hasn't bitten us yet.
  • Loading branch information
kripken committed Feb 22, 2024
1 parent e2420f0 commit dabfd5b
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions scripts/fuzz_opt.py
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,13 @@ def pick_initial_contents():
# --fuzz-exec reports a stack limit using this notation
STACK_LIMIT = '[trap stack limit]'

# V8 reports this error in rare cases due to limitations in our handling of non-
# nullable locals in unreachable code, see
# https://github.com/WebAssembly/binaryen/pull/5665
# https://github.com/WebAssembly/binaryen/issues/5599
# and also see the --dce workaround below that also links to those issues.
V8_UNINITIALIZED_NONDEF_LOCAL = 'uninitialized non-defaultable local'


# given a call line that includes FUZZ_EXEC_CALL_PREFIX, return the export that
# is called
Expand Down Expand Up @@ -635,6 +642,8 @@ def filter_known_issues(output):
# strings in this list for known issues (to which more need to be
# added as necessary).
HOST_LIMIT_PREFIX,
# see comment above on this constant
V8_UNINITIALIZED_NONDEF_LOCAL,
]
for issue in known_issues:
if issue in output:
Expand Down

0 comments on commit dabfd5b

Please sign in to comment.