apache / apache/pulsar-client-cpp

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

Offen
#454 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.