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

Segmentation fault on FrankenPHP reload after installing timezonedb with PIE ZTS

Aperta
#2,667 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
docker, go, php
Ambito
backend, devops

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
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
  1. Install FrankenPHP.
  2. Install timezonedb using the ZTS version of PIE:
pie-zts install pecl/timezonedb
  1. Restart FrankenPHP:
sudo systemctl restart frankenphp

FrankenPHP starts and works normally.

  1. Reload FrankenPHP:
sudo systemctl reload frankenphp
  1. 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

Lingua principale
Go
Stelle
11.3k
Fork
488
Merge medio
1g 9h
PR unite (30g)
10

Guida per i contributori

Apri la guida per i contributori

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.