Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

boost::algorithm::split_regex hangs and consumes CPU on dangling alternatives

Offen
#68 0 Kommentare 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
38/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
cpp
Bereich
tooling

Rechercherichtung

Beginne damit, den split_regex-Fall aus dem verlinkten Gist mit dem abschließenden ;|-Muster unter Verwendung der genannten Boost-1.65- oder 1.67-Umgebungen zu reproduzieren. Verfolge den Aufruf bis in den Boost-Algorithmus und das Regex-Verhalten, um festzustellen, warum die CPU-Nutzung nicht endet; abgeschlossen ist die Aufgabe, wenn die gemeldete Eingabe nicht mehr hängen bleibt und das Verhalten durch einen Regressionstest abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

I happened to typo a regex, and I noticed that boost::algorithm::split_regex started consuming a bunch of CPU. I don't know is this would have eventually caught itself and terminating. The regex in question was ;|, and this appears to be true for any dangling |.

I'm a bit surprised that boost::regex allowed ;| as valid, given split_regex's behavior.

Simple example up at https://gist.github.com/directionless/c38eb7dc216bcd93b40c3ecaf99f326e

I tested this on darwin with boost 1.67, and on linux with boost 1.65

(This was moved here from https://github.com/boostorg/regex/issues/76)

Vorherrschende Sprache
C++
Sterne
131
Forks
117
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

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 boostorg/algorithm

Alle Issues in boostorg/algorithm

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

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