Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Segmentation fault on FrankenPHP reload after installing timezonedb with PIE ZTS

オープン
#2,667 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
docker, go, php
領域
backend, devops

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
Go
スター
11.3k
フォーク
488
平均マージ
1日 9時間
マージ済み PR(30日)
10

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

php/frankenphp のほかの issue

php/frankenphp の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。