Originally opened in the jco repository (bytecodealliance/jco#668). Also posting here for visibility. Feel free to close one of them.
Here is a minimal reproduction:
Create the following files
wit/component.wit:
package pack:name; world component { import wasi:http/outgoing-handler@0.2.0; export wasi:cli/run@0.2.0; }
src/main.js:
const run = { async run() { try { var n = 0; let requests = []; while (n < 1000) { requests.push(fetch("https://jsonplaceholder.typicode.com/todos/1")); n += 1; } for (const request of requests) { const response = await request; const data = await response.json(); console.log("HTTP Response:", data); } } catch (error) { console.error("HTTP Request Error:", error); } } }; export { run };
Run the following commands:
jco componentize -w wit -o dist/main.wasm src/main.jswasmtime run -S http=y dist/main.wasm
Output:
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
HTTP Response: { userId: 1, id: 1, title: "delectus aut autem", completed: false }
Error: failed to run main module `dist/main.wasm`
Caused by:
0: failed to invoke `run` function
1: error while executing at wasm backtrace:
0: 0x7fcce3 - <unknown>!<wasm function 13434>
1: 0x242dac - <unknown>!<wasm function 5248>
2: 0x80c526 - <unknown>!post_wasi:cli/run@0.2.0#run
2: memory fault at wasm address 0x9ad94527 in linear memory of size 0xb10000
3: wasm trap: out of bounds memory access
Exception: wasmtime exited with 134
Environment
System: Apple M4 Pro
OS: macOS 15.4.1 (24E263)
Tool Versions:
wasmtime 26.0.1
jco 1.10.2
componentize-js 0.18.0