apache / apache/pulsar-client-cpp
[Bug] getPartitionsForTopic Cause Signal 11 SIGSEGV (Segmentation Fault)
- Ngôn ngữ chính
- C++
- Star
- 71
- Fork
- 90
- Merge trung bình
- 2 giờ 33 phút
- Pull request đã merge (30 ngày)
- 3
Mô tả
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/pulsar-client-cpp/issues) and found nothing similar.
### Version
CPP Client: 3.6.0
pulsar broker: 3.0.4
### Minimal reproduce step
1、create pulsar client
2、invoke client getPartitionsForTopic to get partition
### What did you expect to see?
can get partition correctlly
### What did you see instead?
Signal ID:11 Pid:920
Time:1731978465
/opt/lib/libpulsar.so(_ZN6pulsar6Client26getPartitionsForTopicAsyncERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8functionIFvNS_6ResultERKSt6vectorIS6_SaIS6_EEEE+0x10)[0xffff17ac16d8]
/opt/lib/libpulsar.so(_ZN6pulsar6Client21getPartitionsForTopicERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorIS6_SaIS6_EE+0xd8)[0xffff17ac5df0]
### Anything else?
This issue does not occur every time; it happens only with a certain probability.
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện lỗi crash không liên tục đã được báo cáo với client C++ 3.6.0 và broker 3.0.4, sử dụng Client::getPartitionsForTopic và getPartitionsForTopicAsync làm các điểm vào. Kiểm tra lỗi tại các vị trí trong stack trace và so sánh các lần gọi lặp lại với những topic khác nhau. Hoàn thành khi việc tra cứu partition luôn trả về kết quả chính xác mà không có SIGSEGV.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- api
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100