apache / apache/pulsar-client-cpp
[Bug] getPartitionsForTopic Cause Signal 11 SIGSEGV (Segmentation Fault)
- Vorherrschende Sprache
- C++
- Sterne
- 71
- Forks
- 90
- Ø Merge
- 2 Std. 33 Min.
- Gemergte PRs (30 T.)
- 3
Beschreibung
### 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!
Beitragsleitfaden
Rechercherichtung
Beginne damit, den gemeldeten intermittierenden Absturz mit dem C++-Client 3.6.0 und Broker 3.0.4 zu reproduzieren, wobei Client::getPartitionsForTopic und getPartitionsForTopicAsync als Einstiegspunkte verwendet werden. Untersuche den Fehler an den Stellen im Stack-Trace und vergleiche wiederholte Aufrufe mit unterschiedlichen Topics. Fertig ist die Aufgabe, wenn die Partitionssuche ohne SIGSEGV konsistent das korrekte Ergebnis zurückgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- api
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100