Skip to content

Commit 52495da

Browse files
kripkenradekdoulik
authored andcommitted
Fuzzer: Ignore V8 errors on uninitialized non-defaultable locals (WebAssembly#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.
1 parent 3d8db94 commit 52495da

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

scripts/fuzz_opt.py

+9
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,13 @@ def pick_initial_contents():
462462
# --fuzz-exec reports a stack limit using this notation
463463
STACK_LIMIT = '[trap stack limit]'
464464

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

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

0 commit comments

Comments
 (0)