Windows 10 will reach EOS (end of support) on October 14, 2025. For more information, see this article.

Prohledat stránky podpory

Vyhněte se podvodům. Za účelem poskytnutí podpory vás nikdy nežádáme, abyste zavolali nebo poslali SMS na nějaké telefonní číslo nebo abyste sdělili své osobní údaje. Jakékoliv podezřelé chování nám prosím nahlaste pomocí odkazu „Nahlásit zneužití“.

Zjistit více

Webassembly.compile() doesn't support SharedArrayBuffer in 138

  • 1 odpověď
  • 0 má tento problém
  • 30 zobrazení
  • Poslední odpověď od TyDraniu

more options

Hello,

as per description I noticed that firefox version 138 requires an ArrayBuffer as the argument of WebAssembly.compile() and doesn't allow anymore (like in 137) a SharedArrayBuffer, is this intended or it will be fixed in the future? Follows a simple test case. Kind reagards.


--- index.html --- <title>Example</title> <script> let instance = undefined; async function loadWasm() { try { const response = await fetch('./sum.wasm'); const buffer = await response.arrayBuffer(); const sharedBuffer = new SharedArrayBuffer(buffer.byteLength); const tmpView = new Uint8Array(sharedBuffer); tmpView.set(new Uint8Array(buffer)); const module = await WebAssembly.compile(sharedBuffer); instance = await WebAssembly.instantiate(module); } catch (error) { alert(`failed to compile in wasm: ${error.message}`); } } loadWasm(); function testWasm() { if (instance) alert(`sum 1 + 2 = ${instance.exports.add(1, 2)}`); else alert('invalid instance, failed to compile'); } </script> <button onclick="testWasm()">Press to run wasm function (sum)</button> --- ---

--- sum.wat --- (to convert into .wasm using: wat2wasm sum.wat -o sum.wasm) (module (func $add (param $lhs i32) (param $rhs i32) (result i32) local.get $lhs local.get $rhs i32.add) (export "add" (func $add)) ) --- ---

Hello, as per description I noticed that firefox version 138 requires an ArrayBuffer as the argument of WebAssembly.compile() and doesn't allow anymore (like in 137) a SharedArrayBuffer, is this intended or it will be fixed in the future? Follows a simple test case. Kind reagards. --- index.html --- <!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <script> let instance = undefined; async function loadWasm() { try { const response = await fetch('./sum.wasm'); const buffer = await response.arrayBuffer(); const sharedBuffer = new SharedArrayBuffer(buffer.byteLength); const tmpView = new Uint8Array(sharedBuffer); tmpView.set(new Uint8Array(buffer)); const module = await WebAssembly.compile(sharedBuffer); instance = await WebAssembly.instantiate(module); } catch (error) { alert(`failed to compile in wasm: ${error.message}`); } } loadWasm(); function testWasm() { if (instance) alert(`sum 1 + 2 = ${instance.exports.add(1, 2)}`); else alert('invalid instance, failed to compile'); } </script> <button onclick="testWasm()">Press to run wasm function (sum)</button> </body> </html> --- --- --- sum.wat --- (to convert into .wasm using: ''wat2wasm sum.wat -o sum.wasm'') (module (func $add (param $lhs i32) (param $rhs i32) (result i32) local.get $lhs local.get $rhs i32.add) (export "add" (func $add)) ) --- ---

Všechny odpovědi (1)

more options
  1. Please report this bug on https://bugzilla.mozilla.org .
  2. You can use mozregression to find a commit that broke it.

Pomohla vám tato odpověď?

Položit dotaz

Pro přidání odpovědi se musíte přihlásit ke svému účtu. Pokud dosud nemáte účet, položte nový dotaz.