Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Worker reload (`octane:reload`) can SIGSEGV the whole process on aarch64: two opcache races in php-src

Đang mở
#2,714 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
8/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
go, php
Lĩnh vực
backend

Hướng nghiên cứu

The payload names no FrankenPHP file to change; the reporter says the fixes belong in php-src opcache. Start from php/php-src#23637 (fixed by commit 873a997d) and php/php-src#24319, which cover the inheritance cache and script hash races. Nothing here defines a done state for this repository, so confirm with a maintainer before writing code.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Prepared with an AI assistant; I reviewed the analysis and the numbers. The text below is AI-generated (quoted).

Symptom: right after a worker reload (Laravel Octane octane:reload, i.e. a config PATCH through the admin API), the FrankenPHP process exits with 139 and nothing in the log. Seen on aarch64 (AWS Graviton); not seen at reload on x86_64 in about 1867 cycles. In our runs it did not happen with opcache disabled (900 deploy cycles) or when restarting the container instead of reloading (140 cycles).

Both causes are in php-src opcache, in lock-free readers of shared memory:

  1. Inheritance cache entries were published before ZCSG(map_ptr_last): php/php-src#23637, fixed by 873a997d, expected in 8.4.27 / 8.5.12. Not going to PHP 8.2 / 8.3.
  2. Script hash entries are linked before they are fully written: php/php-src#24319 (fix proposed).

What did not help, for reference: FrankenPHP 1.12.6, #2648, #2648 + #2645, php-src #22281, php-src #23881.

Opening this so people searching here find the php-src side; nothing needs to change in FrankenPHP as far as we can tell.

Ngôn ngữ chính
Go
Star
11.4k
Fork
494
Merge trung bình
2 ngày 18 giờ
Pull request đã merge (30 ngày)
32

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của php/frankenphp

Tất cả issue của php/frankenphp

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.