-
Notifications
You must be signed in to change notification settings - Fork 7.9k
opcache + MPM ITK might cause apache2 to hang #9910
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I don't think that either of the two patches attached to https://bugs.php.net/76482 would help, because on the previous line the process is supposed to be terminated, so the |
I've finally found a way to reliably reproduce this, that should help with debugging.
Sat Dec 10 18:26:19 2022 (508078): Message Cached script '/var/www/test1/wait.php' [edit] Tried patching /ext/opcache/ZendAccelerator.c (this is Debian's 7.4 src) to fix this behaviour, based on this patch: https://bugs.php.net/patch-display.php?bug_id=76482&patch=dont-while-loop-for-ever-php-7.3-only-for-noperm&revision=latest
It improved it (web requests didn't hang instantly) then I eventually ended up with an endless loop like this, so there is definitely room for improvement.. Sat Dec 10 20:31:22 2022 (1108306): Warning Attempting to kill locker 1108241 |
I guess the same problem will happen if there is an apparmor policy preventing kill signal from being delivered to other httpd processes. Code should handle EPERM in saner way than delay loop. |
I am facing similar issue in production with multi user environment for php8.2 fpm + opcache each having different pool running with different ownership, also able to reproduce it in local. |
Description
This is referring to the bug that is present since at least 5.6. It still happens in 7.4 (just confirmed) and the same code is present in 8.x so I assume the behaviour is the same there, too.
Apache + PHP + MPM_ITK hangs at random intervals spamming "Cannot kill process" in the apache error log.
The original bug report is here: https://bugs.php.net/bug.php?id=76482
The fix looks pretty trivial (break the loop when kill fails) but I'm not sure if it would cause other problems.
Quoting the bug history:
PHP Version
PHP 7.4
Operating System
Debian 11
The text was updated successfully, but these errors were encountered: