Description
Problem
fetch → arrayBuffer() → WebAssembly.instantiate(buffer) can produce frames like:
wasm://wasm/0bee4c4e:wasm-function[1]:0x8c (no file URL).
Module is registered, but patchFrames fails: streaming regex matches first, getImage('wasm://wasm/…') misses, debug_meta.images never attached.
Works / breaks
- ✅
instantiateStreaming
- ✅
instantiate(buffer) when stack has http://…/file.wasm:wasm-function[…] (Emscripten, dev Rust)
- ❌
instantiate(buffer) + wasm://wasm/… (minimal wasm, e2e simple.wasm)
- ❌ 2+ registered wasm modules (
wasm://wasm/<id> not mappable)
- ❌ module not registered (no
build_id / untagged buffer)
Proposed fix
- Handle
wasm://wasm/… before streaming regex
- Map to sole registered module when count === 1
postprocessEvent hook
- Browser e2e:
suites/wasm/nonStreaming/
Limitation
Single registered wasm module only until multi-module mapping exists.
Description
Problem
fetch→arrayBuffer()→WebAssembly.instantiate(buffer)can produce frames like:wasm://wasm/0bee4c4e:wasm-function[1]:0x8c(no file URL).Module is registered, but
patchFramesfails: streaming regex matches first,getImage('wasm://wasm/…')misses,debug_meta.imagesnever attached.Works / breaks
instantiateStreaminginstantiate(buffer)when stack hashttp://…/file.wasm:wasm-function[…](Emscripten, dev Rust)instantiate(buffer)+wasm://wasm/…(minimal wasm, e2esimple.wasm)wasm://wasm/<id>not mappable)build_id/ untagged buffer)Proposed fix
wasm://wasm/…before streaming regexpostprocessEventhooksuites/wasm/nonStreaming/Limitation
Single registered wasm module only until multi-module mapping exists.