Bug 169722

Summary: WebAssembly: spec-tests/f32.wast.js fails on ARM64
Product: WebKit Reporter: JF Bastien <jfbastien>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: bfulgham, chi187, fpizlo, jfbastien, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer, yegor.jbanov, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=170683
Bug Depends on:    
Bug Blocks: 161709    

Description JF Bastien 2017-03-15 17:14:02 PDT
# DYLD_FRAMEWORK_PATH=... .../jsc -m --useWebAssembly=1 ./spec-tests//f32.wast.js
Exception: Error: Unreachable code should not be executed (evaluating '$$.exports["assert_0"]()')
<wasm>@[wasm code]
<wasm>@[wasm code]
assert_0@[native code]
/private/var/root/jsc-stress-results/.tests/wasm/spec-tests/f32.wast.js:128:43
assert_return@/private/var/root/jsc-stress-results/.tests/wasm/spec-tests/f32.wast.js:80:22
module code@/private/var/root/jsc-stress-results/.tests/wasm/spec-tests/f32.wast.js:128:14
evaluate@[native code]
moduleEvaluation@[native code]
[native code]
promiseReactionJob@[native code]
Comment 1 JF Bastien 2017-03-15 17:15:21 PDT
Same thing for:

./spec-tests//f64.wast.js
./spec-tests//float_exprs.wast.js
./spec-tests//float_misc.wast.js
Comment 2 JF Bastien 2017-03-22 09:57:14 PDT
I looked into this and it seems related to NaN handling. The spec tests try to validate NaNs are handled properly and compare their values.

The bug could be:
 - In our code
 - In the spec tests (they're not currently up to date, see https://github.com/WebAssembly/spec/pull/414)
 - In the code that translates .wast -> .wast.js

This is unlikely to be important for the near future, so I'll ignore it for now. Maybe we can just comment out the "assert_[0-9]+" invocations for now, and revisit when we update the tests.
Comment 3 Radar WebKit Bug Importer 2017-05-03 09:54:34 PDT
<rdar://problem/31965311>
Comment 4 Sergey Rubanov 2020-11-27 08:50:43 PST
I think that this issue is not valid anymore
Comment 5 Yegor 2021-01-13 09:14:12 PST
We're seeing this error occasionally, specifically:

Error: Unreachable code should not be executed (evaluating 'invoker(fn, thisWired)')

We run on:

LastOSVersionSafariWasLaunchedOn = "10.15.7";
NewestLaunchedSafariVersion = "609.4.1";

Is there something Emscripten could do to work around the issue?
Comment 7 Yusuke Suzuki 2021-01-13 11:59:25 PST
(In reply to Yegor from comment #6)
> Full log:
> https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.
> com/8858212739179103328/+/steps/felt_test_safari_desktop/0/stdout

I don't think this error is related to f32.wast.js. Please open a new bug.
And please attach a test case which can reproduce this :)