emscripten-core/emscripten

Source map and offset converter is not loaded or created when providing a custom instantiateWasm function

Open

#9.836 aberto em 14 de nov. de 2019

Ver no GitHub
 (13 comments) (0 reactions) (0 assignees)C++ (3.519 forks)batch import
good first bughelp wanted

Métricas do repositório

Stars
 (27.361 stars)
Métricas de merge de PR
 (Mesclagem média 19d 10h) (147 fundiu PRs em 30d)

Description

If we provide a custom function for downloading and instantiating the wasm binary we are not getting source map loaded or offset converter created, thus getting stuck at waiting for those runtime dependencies if for example enabling sanitizer.

It looks like when providing this it bails out early https://github.com/emscripten-core/emscripten/blob/6df46b605078ba132821facbfc6d8946c838227e/src/preamble.js#L1094-L1105 and never loads source map which for async is later and for sync is in the instantiator itself. https://github.com/emscripten-core/emscripten/blob/6df46b605078ba132821facbfc6d8946c838227e/src/preamble.js#L1113 https://github.com/emscripten-core/emscripten/blob/6df46b605078ba132821facbfc6d8946c838227e/src/preamble.js#L1086

In addition the offset converter seems to be created only from the built-in instantiations at https://github.com/emscripten-core/emscripten/blob/6df46b605078ba132821facbfc6d8946c838227e/src/preamble.js#L1036-L1047 https://github.com/emscripten-core/emscripten/blob/6df46b605078ba132821facbfc6d8946c838227e/src/preamble.js#L1064-L1073 so these are also skipped when providing the custom function.

Is this intended, or is there a recommended way to go about this currently? There seems to be a few hoops to jump through to set this up from a custom instantiator properly.

Guia do colaborador