Skip to content

Segmentation fault on FrankenPHP reload after installing timezonedb with PIE ZTS #2667

Description

@kitro

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions