Edit report at https://bugs.php.net/bug.php?id=62954&edit=1
ID: 62954 Comment by: al-php at none dot at Reported by: jonas at brachium-system dot net Summary: startup problems fpm / php-fpm Status: Assigned Type: Bug Package: FPM related Operating System: Linux PHP Version: 5.3Git-2012-08-27 (Git) Assigned To: fat Block user comment: N Private report: N New Comment: same problem here. ./configure --prefix=/<prefix>/ --enable-fpm --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --enable-exif --enable-ftp --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-t1lib --with-freetype-dir --with-gettext --enable-mbstring --with-mcrypt --with-mhash --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd --with-openssl --with-pcre-regex --with-pspell --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-wddx --with-xsl --enable-zip --with-zlib --with-tcadb --with-openssl-dir --with-gd ### bin/php -v PHP 5.4.5 (cli) (built: Aug 8 2012 01:03:00) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies ### root@Ubuntu-1204-precise-64-minimal ~ # strace -fveall -p 2590 -p 2589 Process 2590 attached - interrupt to quit Process 2589 attached - interrupt to quit [pid 2589] wait4(-1, <unfinished ...> [pid 2590] futex(0x7fc2a4d73720, FUTEX_WAIT_PRIVATE, 2, NULL ### 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