apache / apache/pulsar-client-cpp
[Bug] getPartitionsForTopic Cause Signal 11 SIGSEGV (Segmentation Fault)
- 主要言語
- C++
- スター
- 71
- フォーク
- 90
- 平均マージ
- 2時間 33分
- マージ済み PR(30日)
- 3
説明
### 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!
コントリビューションガイド
調査の方向性
まず、C++ クライアント 3.6.0 とブローカー 3.0.4 で報告されている断続的なクラッシュを、Client::getPartitionsForTopic と getPartitionsForTopicAsync をエントリーポイントとして再現します。スタックトレースの位置で障害を調査し、異なるトピックに対する呼び出しを繰り返した場合を比較します。パーティション検索が SIGSEGV を発生させず、常に正しい結果を返すようになれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- api
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100