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

Offen
#454 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Ruhig
Tech-Stack
cpp
Bereich
api

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.

Beschreibung

Search before asking
  • I searched in the 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!
Vorherrschende Sprache
C++
Sterne
72
Forks
93
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/pulsar-client-cpp

Alle Issues in apache/pulsar-client-cpp

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

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