apache / apache/pulsar-client-node
HandleScope Entering the V8 API without proper locking in place
- Lingua principale
- C++
- Stelle
- 164
- Fork
- 98
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hello, I am intermittently encountering an issue that appears to originate from the listener callback.
```
FATAL ERROR: HandleScope::HandleScope Entering the V8 API without proper locking in place
----- Native stack trace -----
1: 0xf410aa node::OnFatalError(char const*, char const*) [node]
2: 0x1389184 v8::Utils::ReportApiFailure(char const*, char const*) [node]
3: 0x138ab3e v8::EscapableHandleScopeBase::EscapableHandleScopeBase(v8::Isolate*) [node]
4: 0x103cd2a napi_open_escapable_handle_scope [node]
5: 0x7f794ed6f718 [/app/node_modules/.pnpm/pulsar-client@1.16.0/node_modules/pulsar-client/lib/binding/pulsar.node]
6: 0x7f794ed9346b [/app/node_modules/.pnpm/pulsar-client@1.16.0/node_modules/pulsar-client/lib/binding/pulsar.node]
7: 0x7f794ed7b097 [/app/node_modules/.pnpm/pulsar-client@1.16.0/node_modules/pulsar-client/lib/binding/pulsar.node]
8: 0x1061ab3 [node]
9: 0x210d4c3 [node]
10: 0x2123f6a [node]
11: 0x210e187 uv_run [node]
12: 0xf8c055 node::SpinEventLoopInternal(node::Environment*) [node]
13: 0x1119642 node::NodeMainInstance::Run() [node]
14: 0x1058782 node::Start(int, char**) [node]
15: 0x7f79af7fe24a [/lib/x86_64-linux-gnu/libc.so.6]
16: 0x7f79af7fe305 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
17: 0xf8761e _start [node]
```
I defined the listener callback as follows to handle messages asynchronously:
```
await getPulsarConsumer({
listener: async (message, messageConsumer): Promise => {
// do something
},
}
```
Can I know why this error occurred?
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia con il callback del listener asincrono e il binding nativo a cui si fa riferimento nello stack trace, in particolare napi_open_escapable_handle_scope. Riproduci il problema intermittente con l’utilizzo mostrato del listener e segui il callback fino a pulsar.node. Il lavoro è completato quando viene identificato il problema di locking e viene aggiunto un fix verificato o una copertura di regressione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, javascript, nodejs
- Ambito
- backend, distributed-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100