Open claude-vessaz-hs opened 3 years ago
I was finally able to narrow this down and create a "simple" Dockerfile for reproduction: https://gist.github.com/claude-vessaz-hs/7cf49137435db2036eaa70d318e27a2e
Full reproduction steps:
docker build -t php-fpm70:segfault .
docker run --rm --name segfault php-fpm70:segfault
docker exec -it segfault bash
ps aux
)kill -HUP <pid>
The issue boils down to events.mechanism = select
in the php-fpm config. We have this enabled. If the line is commented out, the php-fpm process reloads fine.
I was not able to install an older version of php-fpm and see if it really was introduced with the latest update.
Frequently asked questions
Describe the bug php-fpm receives a SIGSEV when a reload signal (
kill -HUP <pid>
) is sent to any of the php-fpm processes. So far, I was only able to reproduce this behaviour in a docker container. I was able to reproduce the error in a debug container:This started happening after the latest upgrade of php7.0-fpm (and a bunch of other packages) to the
-37
version. We did not observe this behaviour in previous versions (-34
and lower). It was not able to reproduce the behaviour by just installing php-fpm, so I suspect it is related to one of our extensions, but I was not able to narrow it down yet which one.While this bug-report is about PHP 7.0, it affects 7.3 as well, but I can't say for sure if it was introduced recently in the 7.3 version.
To Reproduce I unfortunately was only able to reproduce it in a container depending on internal resources so far and I could not narrow down what extension is causing this. I am currently working on a container which only depends on public resources and will comment in the issue as soon I have a Dockerfile avilable.
In a nutshell:
kill -HUP <any php-fpm pid>
Expected behavior php-fpm should reload without a segfault.
Distribution (please complete the following information):
Package(s) (please complete the following information):