Destructors not invoked after a fatal error
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.2k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
Description
This behavior is caused by https://github.com/php/php-src/blob/9306c9584b01f29d2986460a13a7a34b991a9063/main/main.c#L1477 and is causing a few issues in our code.
Granted, the application state after a fatal error (mainly execution timeout/memory limit) may not be consistent, however shutdown handlers are executed anyway after a fatal: thus, to match the behavior of shutdown handlers, I'd like to submit a PR to re-enable execution of destructors, opening this issue to gauge the mood.
PHP Version
8.4.6
Operating System
Ubuntu 24.04
Guida per i contributori
Apri 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.
Direzione di ricerca
Leggi main/main.c alla riga collegata e confronta la gestione degli errori fatali con il percorso del gestore di arresto. Riproduci il comportamento su PHP 8.4.6 in Ubuntu 24.04 usando un timeout di esecuzione o un limite di memoria; il lavoro è completato quando i distruttori vengono invocati dopo l’errore fatale nei casi previsti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, php
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100