andywer / andywer/threads.js

Cannot create a handle without a HandleScope

Aberta
#298 2 comentários 0 reações 0 responsáveis Ver no GitHub
question
Linguagem predominante
TypeScript
Estrelas
3.5k
Forks
173
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

```
$ 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

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.