boostorg / boostorg/interprocess

open_or_create stuck in retry loop indefinitely on macOS aarch64 if retries are enabled

Offen
#189 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
185
Forks
131
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi, I don't have an isolated repro case at the moment but wanted to share my findings. I have a cross-platform application that worked well with boost 1.66 on Linux x86_64, Linux ppc64le, Linux s390x, macOS x86_64, macOS aarch64 (M1). I upgraded to boost 1.81 and all platforms worked well except macOS aarch64. On that platform open_or_create sticks in a loop and never finishes. The two macOS platforms are compiled as a single universal binary with -arch x86_64 -arch arm64 mode using Apple clang version 14.0.0 (clang-1400.0.29.202). On the same M1 host, running the x86_64 binary under Rosetta emulation works, but the native aarch64 binary hangs. Changing BOOST_INTERPROCESS_MANAGED_OPEN_OR_CREATE_INITIALIZE_MAX_TRIES to 1 to disable the new retry behavior resolves the issue. If max tries is set to 2 or more it hangs. I'm happy to run any tests you recommend but I am unlikely to have time to try to whittle down my application to a self contained repro case for at least a few weeks. Thanks, Ryan

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit open_or_create auf nativem macOS aarch64 und vergleiche Retry-Einstellungen von 1 mit 2 oder mehr unter Verwendung des gemeldeten Universal-Binary-Builds. Verfolge, warum die Retry-Schleife unter arm64 nicht beendet wird, während die x86_64-Binärdatei erfolgreich ist; abgeschlossen ist die Aufgabe, wenn open_or_create mit aktivierten Retries abgeschlossen wird, ohne Regressionen auf den anderen gemeldeten Plattformen zu verursachen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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