apache / apache/pulsar-client-cpp

[Bug] getPartitionsForTopic Cause Signal 11 SIGSEGV (Segmentation Fault)

Đang mở
#454 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.