mymonero / mymonero-core-js

The JS library containing the Monero crypto plus lightwallet functions behind the official MyMonero apps
BSD 3-Clause "New" or "Revised" License
101 stars 103 forks source link

Crash at instanciation/require on node-js #95

Open ang-st opened 5 years ago

ang-st commented 5 years ago

Tested with node version v11.9.0 and v8.9.1 and installed mymonero-core-js with npm install "git://github.com/mymonero/mymonero-core-js.git"

└─[$] <> node --expose-wasm #same behaviour without this flag
> var m = require("mymonero-core-js")
Using wasm:  true
undefined
> missing function: err
-1
-1
Error loading WASM_MyMoneroCoreCpp: -1
abort(-1) at Error
    at jsStackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12195)
    at stackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12366)
    at abort (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:546705)
    at _err (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:132441)
    at wasm-function[3380]:160
    at wasm-function[3381]:1
    at Module._init_random (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:507644)
    at func (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:28088)
    at callRuntimeCallbacks (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:17971)
    at ensureInitRuntime (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:18490)
abort(-1) at Error
    at jsStackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12195)
    at stackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12366)
    at abort (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:546705)
    at _err (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:132441)
    at wasm-function[3380]:160
    at wasm-function[3381]:1
    at Module._init_random (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:507644)
    at func (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:28088)
    at callRuntimeCallbacks (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:17971)
    at ensureInitRuntime (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:18490)

/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8
var Module=typeof MyMoneroCoreCpp!=="undefined"?MyMoneroCoreCpp:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRO
abort("abort(-1) at Error\n    at jsStackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12195)\n    at stackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12366)\n    at abort (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:546705)\n    at _err (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:132441)\n    at wasm-function[3380]:160\n    at wasm-function[3381]:1\n    at Module._init_random (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:507644)\n    at func (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:28088)\n    at callRuntimeCallbacks (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:17971)\n    at ensureInitRuntime (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:18490)") at Error
    at jsStackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12195)
    at stackTrace (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:12366)
    at process.abort (/tmp/boom/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_WASM.js:8:546705)
    at emitTwo (events.js:126:13)
    at process.emit (events.js:214:7)
    at emitPendingUnhandledRejections (internal/process/promises.js:94:22)
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)
paulshapiro commented 5 years ago

I thought perhaps we need to rebuild the core WASM and push due to some changes but now I'm less convinced of that. I can repro this. Unsure of the issue at the moment.

ang-st commented 5 years ago

not sure it come from WASM as

└─[$] <> node
> const ee = require("mymonero-core-js/monero_utils/MyMoneroCoreBridge")
undefined
> ee({asmjs:true})
Using wasm:  false
Promise {
  <pending>,
  domain:
   Domain {
     domain: null,
     _events: { error: [Function: debugDomainError] },
     _eventsCount: 1,
     _maxListeners: undefined,
     members: [] } }
> missing function: err
-1
-1
Thrown: abort(-1) at Error
    at jsStackTrace (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:8:14101)
    at stackTrace (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:8:14272)
    at abort (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:10:55922)
    at _err (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:8:589397)
    at Hka (eval at <anonymous> (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreBridge.js:145:5), <anonymous>:9:28295)
    at Gka (eval at <anonymous> (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreBridge.js:145:5), <anonymous>:9:27939)
    at asm._init_random (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:10:23232)
    at func (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:8:22528)
    at callRuntimeCallbacks (/tmp/boubou/node_modules/mymonero-core-js/monero_utils/MyMoneroCoreCpp_ASMJS.js:8:17590)