Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#2,714 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
go, php
Ambito
backend

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:

  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.

Lingua principale
Go
Stelle
11.4k
Fork
494
Merge medio
2g 23h
PR unite (30g)
28

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di php/frankenphp

Tutte le issue di php/frankenphp

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.