Bug 242780

Summary: mozilla.github.io/translate fails with wasm streaming error
Product: WebKit Reporter: Karl Dubost <karlcow>
Component: WebAssemblyAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, saam, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: BrowserCompat, InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   

Description Karl Dubost 2022-07-14 18:21:54 PDT
Steps to reproduce:
1. with macOS Ventura on Safari Version 16.0 (18614.1.19.1.5)
2. Go to https://mozilla.github.io/translate/

Expected:
page loads and menu are initialized.

Actual:
drop down menu stays blank and the page is inactive.

The console displays:

```
[Debug] Message 'import' received from main script (worker.js, line 33)
[Warning] wasm streaming compile failed: CompileError: WebAssembly.Module doesn't parse at byte 1088: can't get 0th Type's return value (bergamot-translator-worker.js, line 734)
[Warning] falling back to ArrayBuffer instantiation (bergamot-translator-worker.js, line 735)
[Warning] failed to asynchronously prepare wasm: CompileError: WebAssembly.Module doesn't parse at byte 1088: can't get 0th Type's return value (bergamot-translator-worker.js, line 723)
[Warning] CompileError: WebAssembly.Module doesn't parse at byte 1088: can't get 0th Type's return value (bergamot-translator-worker.js, line 647)
[Error] Unhandled Promise Rejection: RuntimeError: abort(CompileError: WebAssembly.Module doesn't parse at byte 1088: can't get 0th Type's return value). Build with -s ASSERTIONS=1 for more info.
	(anonymous function)
	rejectPromise
	promiseReactionJob
```

the message seems to be generated by 
https://github.com/WebKit/WebKit/blob/612c245823a515c8c70c2ad486957bd8a850f0f9/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp#L63-L70


This is currently working both in Firefox and Chrome.
Comment 1 Radar WebKit Bug Importer 2022-07-14 18:22:36 PDT
<rdar://problem/97047187>
Comment 2 Yusuke Suzuki 2023-03-07 16:47:31 PST
Fixed with SIMD support.