Bug #74778 [Opn->Asn]: opcache_clear() puts php-fpm master in a cpu loop

From: Date: Wed, 01 Dec 2021 21:24:37 +0000
Subject: Bug #74778 [Opn->Asn]: opcache_clear() puts php-fpm master in a cpu loop
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-238105@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74778&edit=1 ID: 74778 Updated by: bukka@php.net Reported by: daniel dot ylitalo at mytaste dot com Summary: opcache_clear() puts php-fpm master in a cpu loop -Status: Open +Status: Assigned Type: Bug Package: FPM related Operating System: FreeBSD 11.0-RELEASE-p10 PHP Version: 7.1.6 -Assigned To: +Assigned To: bukka Block user comment: N Private report: N New Comment: I know that this is few years old but would you be able to confirm if this is still happening as there have been bunch of improvements in opcache. Considering that it was causing extra processing on master process and it's on FreeBSD, it might be related kqueue which has got some issues reported. Previous Comments: ------------------------------------------------------------------------ [2017-06-19 08:35:19] daniel dot ylitalo at mytaste dot com Description: ------------ I tried clearing a pools opcache with opcache_reset(); however while the script finishes running, once it completes the fpm-master process goes into some kind of loop using 50% cpu and the pools goes dormant and stops accepting connections Nginx block: location /opcache-clear { fastcgi_pass unix:/var/run/php/pool-xyz-socket.sock; fastcgi_index clear.php; fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/www/clear-opcache.xxxxxxxxxx.com"; include fastcgi_params; fastcgi_param SCRIPT_NAME /clear.php; fastcgi_param SCRIPT_FILENAME $document_root/clear.php; } FPM POOLS consists of this configuration with different listen.owners/users: [xxxxxxx-xxx] listen = /var/run/php/pool-xyz-socket.sock listen.owner = xxxxxxxx listen.group = www listen.mode = 0660 user = xx-xx group = xx-xx pm = static pm.max_children = 20 pm.status_path = /fpm-status.php Test script: --------------- <?php $status = opcache_reset(); if($status === true) { echo '+OK'; }else{ echo '+ERROR'; } Expected result: ---------------- The fpm-master process should not go into a cpu loop and continue serving requests Actual result: -------------- fpm sockets stops accepting connections ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=74778&edit=1

« previous php.bugs (#238105) next »