confluentinc / confluentinc/confluent-kafka-javascript
Segfault while closing the consumer while consume loop is running
- Dominant language
- TypeScript
- Stars
- 304
- Forks
- 45
- Avg merge
- 11h 47m
- Merged PRs (30d)
- 5
Description
Reproduction code:
```
function runConsumer() {
const consumer = new RdKafka.KafkaConsumer({
'group.id': 'test-group' + Math.random(),
'bootstrap.servers': 'localhost:9092',
}, {
'auto.offset.reset': 'earliest',
});
consumer.connect();
consumer.on('ready', () => {
console.log("Consumer is ready");
consumer.subscribe(['test-topic']);
consumer.consume(); // consume loop
});
consumer.on('data', (data) => {
console.log("Received data");
console.log(data);
consumer.disconnect();
});
consumer.on('event.error', (err) => {
console.error(err);
});
}
```
Cause: `NodeKafka::Workers::KafkaConsumerConsumeLoop::HandleMessageCallback` is called after `KafkaConsumerConsumerLoop:Close` and the callback has been cleared by that time so callback->Call causes a segfault.
Contributor guide
Assessment
This issue has not been assessed yet.