andywer / andywer/threads.js

Cannot create a handle without a HandleScope

Abierto
#298 2 comentarios 0 reacciones 0 asignados Ver en GitHub
question
Lenguaje dominante
TypeScript
Estrellas
3.5k
Forks
173
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

```
$ node index.js
FATAL ERROR: v8::HandleScope::CreateHandle() Cannot create a handle without a HandleScope
1: 0x1010285f9 node::Abort() (.cold.1) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
2: 0x10008634d node::FatalError(char const*, char const*) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
3: 0x10008648e node::OnFatalError(char const*, char const*) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
4: 0x100187c7e v8::Utils::ReportApiFailure(char const*, char const*) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
5: 0x1002de7a2 v8::internal::HandleScope::Extend(v8::internal::Isolate*) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
6: 0x1004dd11e v8::internal::JSReceiver::GetCreationContext() [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
7: 0x1001a3778 v8::Object::CreationContext() [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
8: 0x100001cad node::MakeCallback(v8::Isolate*, v8::Local, v8::Local, int, v8::Local*, node::async_context) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
9: 0x102e8d37f handleCompletion(Transfer*) [/Users/brandonros/Desktop/uds-server/node_modules/usb/build/Release/usb_bindings.node]
10: 0x102e8e48b UVQueue::internal_callback(uv_async_s*) [/Users/brandonros/Desktop/uds-server/node_modules/usb/build/Release/usb_bindings.node]
11: 0x1008e840d uv__async_io [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
12: 0x1008f7c12 uv__io_poll [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
13: 0x1008e8846 uv_run [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
14: 0x1000bb7a2 node::NodeMainInstance::Run() [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
15: 0x100062e9f node::Start(int, char**) [/Users/brandonros/.nvm/versions/node/v12.16.3/bin/node]
16: 0x7fff6a59bcc9 start [/usr/lib/system/libdyld.dylib]
17: 0x2
Abort trap: 6
```

device-worker.js

```
const { expose } = require('threads/worker')
const { Subject } = require('threads/observable')
const Device = require('./lib/gs_usb')

let rxSubject = new Subject()
let device = null

expose({
init: async () => {
device = new Device()
await device.init()
device.on('frame', (frame) => {
const arbitrationId = frame.readUInt32LE(0)
const data = frame.slice(4)
rxSubject.next({
arbitrationId,
data
})
})
//device.recv()
},
send: (arbitrationId, data) => {
return device.sendCanFrame(arbitrationId, data)
}
})
```

main.js

```
const { spawn, Thread, Worker } = require("threads")
const run = async () => {
const worker = await spawn(new Worker('./device-worker'))
await worker.init()
}
run()
```

`./lib/gs-usb` uses the `usb` native module

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.