חיפוש בתמיכה

יש להימנע מהונאות תמיכה. לעולם לא נבקש ממך להתקשר או לשלוח הודעת טקסט למספר טלפון או לשתף מידע אישי. נא לדווח על כל פעילות חשודה באמצעות באפשרות ״דיווח על שימוש לרעה״.

מידע נוסף

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

  • 1 תגובה
  • 0 have this problem
  • 12 views
  • תגובה אחרונה מאת 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)) ) --- ---

כל התגובות (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.

Helpful?

פרסום שאלה

You must log in to your account to reply to posts. Please start a new question, if you do not have an account yet.