Bug #80024 [Opn->Asn]: Duplication of info about inherited socket after pool removing

From: Date: Mon, 28 Dec 2020 21:42:19 +0000
Subject: Bug #80024 [Opn->Asn]: Duplication of info about inherited socket after pool removing
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-231284@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80024&edit=1 ID: 80024 Updated by: bukka@php.net Reported by: syazov at plesk dot com Summary: Duplication of info about inherited socket after pool removing -Status: Open +Status: Assigned Type: Bug Package: FPM related Operating System: All Unix PHP Version: 7.4.9 -Assigned To: +Assigned To: bukka Block user comment: N Private report: N New Comment: Ah good catch. The patch makes sense. Just detail that it doesn't contain your email (it's more a diff) so do you want to use this email address as a commiter? Or if you could create a github PR, that would be even better. Previous Comments: ------------------------------------------------------------------------ [2020-08-27 04:32:20] syazov at plesk dot com The following patch has been added/updated: Patch Name: fix-inherited-socket-duplication-on-reload.patch Revision: 1598502740 URL: https://bugs.php.net/patch-display.php?bug=80024&patch=fix-inherited-socket-duplication-on-reload.patch&revision=1598502740 ------------------------------------------------------------------------ [2020-08-27 04:30:22] syazov at plesk dot com Description: ------------ "FPM_SOCKETS_X" env variable isn't cleaned when it's become unused. The issue is appeared if count of sockets is changed from "FPM_ENV_SOCKET_SET_SIZE * n + 1" to "FPM_ENV_SOCKET_SET_SIZE * n" In such cases the same socket presents in "FPM_SOCKETS_[socket_set_count - 1]" and "FPM_SOCKETS_[socket_set_count]" Test script: --------------- #!/bin/bash -xe # all paths are specific to default ones in Ubuntu 20.04 pool_d="/etc/php/7.4/fpm/pool.d" pool_0="$pool_d/www.conf" sed -i "s/^pm = dynamic$/pm = ondemand/" "$pool_0" for i in {1001..1128}; do pool_i="$pool_d/www_$i.conf" cp -p "$pool_0" "$pool_i" sed -i "s/^\[www\]$/\[www_$i\]/" "$pool_i" sed -i "s|^listen = /run/php/php7.4-fpm.sock$|listen = /run/php/php7.4-fpm.$i.sock|" "$pool_i" done systemctl restart php7.4-fpm rm -f "$pool_d/www_1001.conf" systemctl reload php7.4-fpm systemctl reload php7.4-fpm Expected result: ---------------- php-fpm reloads successfully. Actual result: -------------- "503 Service Unavailable" is shown ``` ls: cannot access '/run/php/php7.4-fpm.1128.sock': No such file or directory ``` ``` [27-Aug-2020 10:31:00] NOTICE: reloading: execvp("/usr/sbin/php-fpm7.4", {"/usr/sbin/php-fpm7.4", "--nodaemonize", "--fpm-config", "/etc/php/7.4/fpm/php-fpm.conf"}) [27-Aug-2020 10:31:02] NOTICE: using inherited socket fd=7, "/run/php/php7.4-fpm.sock" [27-Aug-2020 10:31:02] NOTICE: using inherited socket fd=135, "/run/php/php7.4-fpm.1128.sock" [27-Aug-2020 10:31:02] NOTICE: using inherited socket fd=9, "/run/php/php7.4-fpm.1002.sock" ... [27-Aug-2020 10:31:02] NOTICE: using inherited socket fd=134, "/run/php/php7.4-fpm.1127.sock" [27-Aug-2020 10:31:02] NOTICE: using inherited socket fd=135, "/run/php/php7.4-fpm.1128.sock" [27-Aug-2020 10:31:02] ERROR: epoll: unable to add fd 135 ``` ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=80024&edit=1

« previous php.bugs (#231284) next »