Bug #62954 [Opn->Asn]: startup problems fpm / php-fpm
| From: | tony2001@php.net | Date: | Mon, 27 Aug 2012 20:14:40 +0000 |
| Subject: | Bug #62954 [Opn->Asn]: startup problems fpm / php-fpm | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-172961@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=62954&edit=1
ID: 62954
Updated by: tony2001@php.net
Reported by: jonas at brachium-system dot net
Summary: startup problems fpm / php-fpm
-Status: Open
+Status: Assigned
Type: Bug
Package: FPM related
Operating System: Linux
PHP Version: 5.3Git-2012-08-27 (Git)
-Assigned To:
+Assigned To: fat
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2012-08-27 19:50:31] jonas at brachium-system dot net
Description:
------------
PHP 5.3.14 with FPM on Debian Squeze works without any problems.
The PHP Version 5.3.15 / 5.3.16 and current Git branch PHP 5.3 is affected.
/usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/php-fpm.conf
All pools are started and working, but the php5-fpm does not detach:
/usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/php-fpm.conf
and here it hangs. ctrl +c does not work.
strace tells me:
Process 15949 attached - interrupt to quit
futex(0x7fb923e8ce40, FUTEX_WAIT_PRIVATE, 2, NULL
If I switch the configuration option "daemonize" to "no" php-fpm starts up
normal and can be aborted with ctrl+c.
If I copy sapi/fpm from 5.3.14 to the current php-src from git and compile it again my configuration
and php-fpm works and starts normal.
If I remove the USR1/USR2 handling from sapi/fpm/fpm/fpm_unix.c ( see patch ) php-fpm starts normal
and detach correctly.
I think (See: http://groups.google.com/group/highload-php-en/browse_thread/thread/fa6b16d533411f42)
PHP 5.4 branch is also affected.
PHP-FPM Configration:
---------------------
[global]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
daemonize = yes
[cust-websrv]
listen = /tmp/cust-webserv.socket
user = www-data
group = www-data
pm = dynamic
pm.max_children = 130
pm.start_servers = 15
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500
chdir = /
env[APPLICATION_ENV] = prod
[is-tracking]
listen = /tmp/is-tracking.socket
user = www-data
group = www-data
pm = dynamic
pm.max_children = 130
pm.start_servers = 15
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 5000
chdir = /
env[APPLICATION_ENV] = prod
[limesurvey]
listen = /tmp/limesurvey.socket
user = www-data
group = www-data
pm = dynamic
pm.max_children = 40
pm.start_servers = 5
pm.min_spare_servers = 4
pm.max_spare_servers = 5
pm.max_requests = 500
chdir = /
env[APPLICATION_ENV] = prod
Actual result:
--------------
strace, with the problem:
open("/var/log/php5-fpm.log", O_WRONLY|O_CREAT|O_APPEND, 0600) = 3
fcntl(3, F_GETFD) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
geteuid()
rt_sigaction(SIGUSR1, {0x858300, ~[RTMIN RT_1], SA_RESTORER, 0x7fb98d4b5230}, {0x84ad50, [],
SA_RESTORER, 0x7fb98d4b5230}, 8) = 0
rt_sigaction(SIGUSR2, {0x8582f0, ~[RTMIN RT_1], SA_RESTORER, 0x7fb98d4b5230}, {SIG_DFL, [], 0}, 8) =
0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0x7fb990b0da10) = 4037
--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
futex(0x7fb98d7e0e40, FUTEX_WAIT_PRIVATE, 2, NULL
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62954&edit=1