Cannot create a handle without a HandleScope
- 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.