Worker reload (`octane:reload`) can SIGSEGV the whole process on aarch64: two opcache races in php-src
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 8/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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:
- 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.- 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.
- Lingua principale
- Go
- Stelle
- 11.4k
- Fork
- 494
- Merge medio
- 2g 23h
- PR unite (30g)
- 28
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di php/frankenphp
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
php/frankenphp#2671 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Include frankenphp version in logsForse già presa @ousamabenyounes l’ha presa 87 giorni fa. Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
php/frankenphp#2483 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
suggestion about compile.mdForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertaenhancement
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
php/frankenphp#601 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
php/frankenphp#2715 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 28/100
php/frankenphp#2713 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di php/frankenphp
Issue simili
-
bug
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
kubernetes-sigs/external-dns#6816 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
ANSI translator ignores SGR 22/24 (and other attribute-off codes): bold and underline never turn offAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Named Tuple element with a space in its name fails to parseForse già presa @spicysharkco l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ClickHouse/clickhouse-go#2073 ·
I maintainer di solito rispondono entro 1 giorno