Worker Mode regression in 1.13.0: Nextcloud worker fails to reach frankenphp_handle_request()
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #2701 của @dunglas — đã merge
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Start by comparing the worker initialization path between FrankenPHP 1.12.7 and 1.13.0; the issue does not identify specific source files or tests. Reproduce with the provided Nextcloud worker configuration and PHP ZTS 8.4.26, then inspect startup logs to locate where the worker fails to reach frankenphp_handle_request(). Done means the same configuration starts successfully on 1.13.0.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happened?
After upgrading FrankenPHP from 1.12.7 to 1.13.0, an existing Nextcloud Worker Mode configuration no longer starts.
FrankenPHP 1.13.0 fails during worker initialization:
loading new config: frankenphp app module: start: failed to initialize workers: too many consecutive failures: worker /var/www/nextcloud/index.php has not reached frankenphp_handle_request()
Downgrading only FrankenPHP to 1.12.7 immediately restores normal operation with the same Nextcloud installation, PHP ZTS version and Caddyfile.
Environment
Debian 13, amd64
Nextcloud 35.0.1
PHP ZTS 8.4.26
php-zts-cli: 8.4.26-2
php-zts-embed: 8.4.26-2
Working: FrankenPHP 1.12.7
Failing: FrankenPHP 1.13.0
FrankenPHP 1.13.0 package: 1.13.0+php84-1
Caddy bundled with 1.13.0: 2.11.7
Package source: pkg.henderkes.com
Package SHA256: 3388c67c70f5de50e01270fa853ca6f688370fe094541d058b046489d228c792
frankenphp version for the failing package:
FrankenPHP v1.13.0 PHP 8.4 Caddy v2.11.7 h1:yj0Y4fYZGPkSvibBJ1sTWE33xC0fxztVyXEW5iIdUT4=
Caddyfile
{
frankenphp {
num_threads 17
max_threads 32
}
}
https://cloud-franken.domain.local {
bind 192.168.168.168
root * /var/www/nextcloud
tls /etc/frankenphp/tls/fullchain.crt /etc/frankenphp/tls/cloud-franken.key
encode zstd br gzip
php_server {
worker {
file /var/www/nextcloud/index.php
num 8
env MAX_REQUESTS 500
}
}
}
Reproduction
With exactly the same configuration:
FrankenPHP 1.12.7 + PHP ZTS 8.4.26-2 -> works
FrankenPHP 1.13.0 + PHP ZTS 8.4.26-2 -> worker initialization fails
FrankenPHP 1.12.7 + PHP ZTS 8.4.26-2 -> works again after downgrade
With 1.13.0:
ExecStartPre=/usr/bin/frankenphp validate --config /etc/frankenphp/Caddyfile
(code=exited, status=0/SUCCESS)
ExecStart=/usr/bin/frankenphp run --environ --config /etc/frankenphp/Caddyfile
(code=exited, status=1/FAILURE)
Status: "loading new config: frankenphp app module: start: failed to initialize workers: too many consecutive failures: worker /var/www/nextcloud/index.php has not reached frankenphp_handle_request()"
PHP ZTS and Nextcloud initialize correctly independently:
sudo -u www-data php-zts /var/www/nextcloud/occ status
returns Nextcloud 35.0.1 with maintenance: false and needsDbUpgrade: false.
An Argon2id password_hash() / password_verify() test on PHP ZTS 8.4.26 also succeeds.
The failure is therefore reproducible by changing only FrankenPHP from 1.12.7 to 1.13.0.
Please let me know if debug-level startup logs or additional diagnostics would help.
Build Type
deb packages
Worker Mode
Yes
Operating System
GNU/Linux
CPU Architecture
x86_64
PHP configuration
phpinfo() output
PHP 8.4.26 ZTS
php-zts-cli 8.4.26-2
php-zts-embed 8.4.26-2
memory_limit = 1024M
opcache.enable = On
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 20000
opcache.validate_timestamps = On
opcache.revalidate_freq = 60
opcache.jit = disable
realpath_cache_size = 4096K
realpath_cache_ttl = 120
session.save_handler = files
session.save_path = /var/lib/php/sessions
session.use_cookies = On
session.use_only_cookies = On
session.use_strict_mode = Off
Loaded extensions include:
apcu, bcmath, bz2, curl, gd, gmp, imagick, intl, ldap,
mbstring, openssl, pdo_pgsql, pgsql, redis, sodium, zip
Relevant log output
Relevant log output
- Ngôn ngữ chính
- Go
- Star
- 11.4k
- Fork
- 494
- Merge trung bình
- 2 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 28
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của php/frankenphp
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
php/frankenphp#2671 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Include frankenphp version in logsCó thể đã có người làm @ousamabenyounes đã nhận 86 ngày trước. Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
php/frankenphp#2483 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
suggestion about compile.mdCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởenhancement
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
php/frankenphp#601 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 15/100
php/frankenphp#2715 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 8/100
php/frankenphp#2714 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của php/frankenphp
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
QuantumNous/new-api#7839 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug needs-triage service/costoptimizationhub
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
hashicorp/terraform-provider-aws#50507 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
adcontextprotocol/adcp-go#567 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug raised-by:desk
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
medici-finance/assay#3097 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
supabase-community/supabase-kubernetes#275 ·
Maintainer thường phản hồi trong vòng 1 ngày