Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: WASM library is crashing in Node.js #1062

Open
timokoessler opened this issue Oct 20, 2024 · 1 comment
Open

Bug: WASM library is crashing in Node.js #1062

timokoessler opened this issue Oct 20, 2024 · 1 comment
Assignees
Labels
bug W-WasmThemis 🌐 Wrapper: WasmThemis, JavaScript API, npm packages

Comments

@timokoessler
Copy link

timokoessler commented Oct 20, 2024

Describe the bug
The package wasm-themis can not be used with Node.js because it tries to call fetch() on a file path.

To Reproduce
Steps to reproduce the behavior:

  1. Install Node.js v22
  2. Run npm i wasm-themis
  3. Minimal example script
const themis = require('wasm-themis');

async function test() {
    await themis.initialized;
    console.log('Themis initialized');
    const keyPair = new themis.KeyPair();
    console.log('Generated key pair:', keyPair);
}

test();

Exception:

TypeError: fetch failed
    at node:internal/deps/undici/undici:13392:13 {
  [cause]: Error: unknown scheme
      at makeNetworkError (node:internal/deps/undici/undici:9166:35)
      at schemeFetch (node:internal/deps/undici/undici:10568:34)
      at node:internal/deps/undici/undici:10410:26
      at mainFetch (node:internal/deps/undici/undici:10429:11)
      at fetching (node:internal/deps/undici/undici:10377:7)
      at fetch (node:internal/deps/undici/undici:10246:20)
      at fetch (node:internal/deps/undici/undici:13390:10)
      at fetch (node:internal/bootstrap/web/exposed-window-or-worker:72:12)
      at instantiateAsync (C:\Users\info\Documents\Git\hash-chat\backend\node_modules\wasm-themis\dist\libthemis.js:9:19056)
      at createWasm (C:\Users\info\Documents\Git\hash-chat\backend\node_modules\wasm-themis\dist\libthemis.js:9:19666)
}

Expected behavior
A clear and concise description of what you expected to happen.

Environment (please complete the following information):

  • OS: Windows 11
  • Hardware: 64-bit
  • Themis version: [email protected]
  • Installation way: via package manager

Additional context
A temporary workaround I found is modifying the function instantiateAsync in the file libthemis.js by adding return instantiateArrayBuffer(receiveInstantiationResult); to the begging of the function.

@vixentael vixentael added bug W-WasmThemis 🌐 Wrapper: WasmThemis, JavaScript API, npm packages labels Nov 11, 2024
@vixentael
Copy link
Contributor

Thank you for reporting!
That's definitely not expected, we will test on Linux/macOS to see if we could reproduce the issue, or maybe it will required a windows-only fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug W-WasmThemis 🌐 Wrapper: WasmThemis, JavaScript API, npm packages
Projects
None yet
Development

No branches or pull requests

3 participants