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

Worker reload (`octane:reload`) can SIGSEGV the whole process on aarch64: two opcache races in php-src

Offen
#2,714 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
8/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Aktiv
Tech-Stack
go, php
Bereich
backend

Rechercherichtung

The payload names no FrankenPHP file to change; the reporter says the fixes belong in php-src opcache. Start from php/php-src#23637 (fixed by commit 873a997d) and php/php-src#24319, which cover the inheritance cache and script hash races. Nothing here defines a done state for this repository, so confirm with a maintainer before writing code.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Prepared with an AI assistant; I reviewed the analysis and the numbers. The text below is AI-generated (quoted).

Symptom: right after a worker reload (Laravel Octane octane:reload, i.e. a config PATCH through the admin API), the FrankenPHP process exits with 139 and nothing in the log. Seen on aarch64 (AWS Graviton); not seen at reload on x86_64 in about 1867 cycles. In our runs it did not happen with opcache disabled (900 deploy cycles) or when restarting the container instead of reloading (140 cycles).

Both causes are in php-src opcache, in lock-free readers of shared memory:

  1. Inheritance cache entries were published before ZCSG(map_ptr_last): php/php-src#23637, fixed by 873a997d, expected in 8.4.27 / 8.5.12. Not going to PHP 8.2 / 8.3.
  2. Script hash entries are linked before they are fully written: php/php-src#24319 (fix proposed).

What did not help, for reference: FrankenPHP 1.12.6, #2648, #2648 + #2645, php-src #22281, php-src #23881.

Opening this so people searching here find the php-src side; nothing needs to change in FrankenPHP as far as we can tell.

Vorherrschende Sprache
Go
Sterne
11.4k
Forks
494
Ø Merge
2 T. 18 Std.
Gemergte PRs (30 T.)
32

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 php/frankenphp

Alle Issues in php/frankenphp

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

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