Bug #68440 [Opn->Asn]: ERROR: failed to reload: execvp() failed: Argument list too long (7)
Edit report at https://bugs.php.net/bug.php?id=68440&edit=1
ID: 68440
Updated by: bukka@php.net
Reported by: a23878941 at gmail dot com
Summary: ERROR: failed to reload: execvp() failed: Argument
list too long (7)
-Status: Open
+Status: Assigned
Type: Bug
Package: FPM related
Operating System: CentOS 6.6
PHP Version: 5.4.35
-Assigned To:
+Assigned To: bukka
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2016-10-19 15:56:16] emayoral at arsys dot es
Same problem here. Happens also with 5.4 & 5.5 , probably also with 5.6 and 7.0, but we do not
have as many pools on those versions.
------------------------------------------------------------------------
[2014-11-18 18:59:35] a23878941 at gmail dot com
Updating status from feedback to open. Provided feedback in previous comment.
------------------------------------------------------------------------
[2014-11-18 02:32:48] a23878941 at gmail dot com
NOTICE: pid 9550, fpm_pctl_exec(), line 98: reloading: execvp("/usr/sbin/php-fpm",
{"/usr/sbin/php-fpm", "--daemonize"})
Thanks!
------------------------------------------------------------------------
[2014-11-18 02:14:21] rasmus@php.net
In your log there should be a line that starts with:
reloading: execvp(...
Could you gist that for us?
------------------------------------------------------------------------
[2014-11-18 01:49:24] a23878941 at gmail dot com
Description:
------------
When PHP-FPM is reloaded via a command like "service php-fpm reload", php-fpm goes down
and does not start back up. The following error appears in the log.
ERROR: failed to reload: execvp() failed: Argument list too long (7)
When debug logging is enabled the error below appears.
ERROR: pid 9550, fpm_pctl_exec(), line 102: failed to reload: execvp() failed: Argument list too
long (7)
Problem only started happening after using more than around 2,600 pools. Problem did not happen
with less pools. Problem went away after decreasing the number of pools to below that range.
Problem does not happen when php-fpm is simply stopped and started or restarted (i.e. service
php-fpm restart). Problem only happens during a reload (i.e. service php-fpm reload).
Problem noticed under CentOS 6.6 and PHP 5.3.3. However, I assume problem happens in more recent
PHP versions because I can find no evidence of prior bug reports where this has been fixed. Have
not been able to test with more recent PHP version.
Running "kill -USR2 [php-fpm pid]" causes the same problem as "service php-fpm
reload".
Using unix sockets and ondemand pm for all pools.
Each pool name, corresponding conf file name, and unix socket name is rather long (e.g. 20-40
characters). I don't know if this is related to problem or not. I have not tried shortening
pool names to work around problem.
Concerning workarounds, increasing stack size (e.g. via ulimit -s) in order to increase ARG_MAX did
not solve problem. Research shows that MAX_ARG_STRLEN might be a limiting factor also. Was not
able to find a way to increase MAX_ARG_STRLEN.
Thanks for any help!
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=68440&edit=1
Thread (7 messages)