Segmentation fault on FrankenPHP reload after installing timezonedb with PIE ZTS
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
The crash occurs during a graceful reload after installing the timezonedb extension via pie-zts. Start by examining the extension lifecycle code in the FrankenPHP worker mode, particularly around signal handling and reload procedures. Look at the PIE (PHP Interactive Extensions) integration and how ZTS extensions are managed during reloads. The goal is to reproduce the segfault in a debug build to get a better backtrace and understand why restart works but reload fails.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
Description
FrankenPHP crashes with a segmentation fault when performing a reload after installing the pecl/timezonedb extension using pie-zts.
A normal restart works correctly. The issue only occurs when reloading FrankenPHP.
timezonedb was installed with:
pie-zts install pecl/timezonedb
Error
When reloading the service:
sudo systemctl reload frankenphp
systemd reports:
frankenphp.service: Main process exited, code=dumped, status=11/SEGV
frankenphp.service: Control process exited, code=exited, status=1/FAILURE
frankenphp.service: Reload operation timed out. Killing reload process.
frankenphp.service: Failed with result 'core-dump'.
However, restarting FrankenPHP works normally:
sudo systemctl restart frankenphp
GDB backtrace
I inspected the generated core dump with GDB:
(gdb) bt
#0 0x0000aaaad7986eb8 in ?? ()
#1 0x0000aaaad795b2c8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Unfortunately, the backtrace does not contain symbols that identify where the crash occurs.
Steps to reproduce
- Install FrankenPHP.
- Install
timezonedbusing the ZTS version of PIE:
pie-zts install pecl/timezonedb
- Restart FrankenPHP:
sudo systemctl restart frankenphp
FrankenPHP starts and works normally.
- Reload FrankenPHP:
sudo systemctl reload frankenphp
- FrankenPHP crashes with
SIGSEGV.
Expected behavior
Reloading FrankenPHP should complete successfully without terminating the main process.
Actual behavior
The reload causes the FrankenPHP main process to crash with:
status=11/SEGV
and systemd reports a core dump.
Additional information
The issue appeared after installing/enabling pecl/timezonedb with pie-zts.
Since restart works but reload crashes, this may be related to extension lifecycle handling during a graceful reload rather than startup itself.
FrankenPHP v1.12.7 PHP 8.4 Caddy v2.11.4 h1:XKxkMTgNSizEvKG6QHue6cAsFOteU2qA61w2tKkCWi0=
Loaded PIE extensions:
timezonedb:2026.4 (from 🥧 pecl/timezonedb:2026.4 ✅)
Build Type
Docker (Debian Bookworm)
Worker Mode
Yes
Operating System
GNU/Linux
CPU Architecture
x86_64
PHP configuration
phpinfo() output
.
Relevant log output
Relevant log output
- Lenguaje dominante
- Go
- Estrellas
- 11.3k
- Forks
- 488
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 10
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de php/frankenphp
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
php/frankenphp#2671 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
php/frankenphp#2483 · 3 comentarios ·
-
suggestion about compile.md Abiertoenhancement
Dificultad 1/5 1-3 horas Aptitud para principiantes 68/100
php/frankenphp#601 · 5 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
php/frankenphp#2657 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
php/frankenphp#2644 · 1 comentario ·
Todos los issues de php/frankenphp
Issues similares
-
nix: vendorHash is outdated Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Bob Shell support Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
santhosh-tekuri/jsonschema#276 ·