Edit report at http://bugs.php.net/bug.php?id=53412&edit=1
ID: 53412 Updated by: f...@php.net Reported by: php-bugs at thequod dot de Summary: php-fpm children constantly exiting (immediately) -Status: Assigned +Status: Feedback Type: Bug Package: FPM related Operating System: Linux PHP Version: 5.3SVN-2010-11-26 (snap) Assigned To: fat Block user comment: N Private report: N New Comment: You can : # gdb ./sapi/fpm/php-fpm (gdb) set follow-fork-mode child (gdb) break exit Function "exit" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (exit) pending. (gdb) run ... (gdb) bt Previous Comments: ------------------------------------------------------------------------ [2010-11-29 23:17:21] php-bugs at thequod dot de Don't you see a possibility to attach gdb to the child process to see where it is exiting? What does exit code 1 refer to? Generic error? Does it make sense to use specific exit codes for reference? Where should I to start with adding debug output? FWIW, this happens both with the Ubuntu package (available at https://launchpad.net/ubuntu/+source/php5/5.3.3-1ubuntu9.1/+build/2003382 if you like to try reproducing it from there) and the package updated using the source from the snapshot(s); I have not tried it unpatched. However, there does not appear to be a fpm specific patch (apart from config handling). My packages are available from here: https://launchpad.net/~blueyed/+archive/ppa/+packages ------------------------------------------------------------------------ [2010-11-29 23:17:08] php-bugs at thequod dot de Don't you see a possibility to attach gdb to the child process to see where it is exiting? What does exit code 1 refer to? Generic error? Does it make sense to use specific exit codes for reference? Where should I to start with adding debug output? FWIW, this happens both with the Ubuntu package (available at https://launchpad.net/ubuntu/+source/php5/5.3.3-1ubuntu9.1/+build/2003382 if you like to try reproducing it from there) and the package updated using the source from the snapshot(s); I have not tried it unpatched. However, there does not appear to be a fpm specific patch (apart from config handling). My packages are available from here: https://launchpad.net/~blueyed/+archive/ppa/+packages ------------------------------------------------------------------------ [2010-11-29 22:08:56] f...@php.net OK, children forks correctely. There is a problem somewhere after fork(). What you can do (as I can't reproduice the problem and I don't have access to a server which has the same problem): set only one pool with : log_level = debug pm = static pm.max_children = 1 insert a log trace in the source code step by step to determine where the bug comes from. I'm sorry not to be able to help you more. ------------------------------------------------------------------------ [2010-11-29 21:50:23] php-bugs at thequod dot de It looks like this: Nov 29 21:47:59.518416 [DEBUG] pid 29191, fpm_children_make(), line 377: pid after fork=30301 Nov 29 21:47:59.518440 [NOTICE] pid 29191, fpm_children_make(), line 400: [pool www] child 30301 started Nov 29 21:47:59.518451 [DEBUG] pid 30301, fpm_children_make(), line 377: pid after fork=0 Nov 29 21:47:59.518981 [DEBUG] pid 29191, fpm_got_signal(), line 75: received SIGCHLD Nov 29 21:47:59.518995 [WARNING] pid 29191, fpm_children_bury(), line 249: [pool www] child 30301 exited with code 1 after 0.000562 seconds from start ------------------------------------------------------------------------ [2010-11-29 14:50:58] f...@php.net Sorry, there is no backtrace with sigfault as there is no segfault ... Can you patch fpm_children.c like this: Index: fpm_children.c =================================================================== --- fpm_children.c (révision 305775) +++ fpm_children.c (copie de travail) @@ -374,6 +374,7 @@ } pid = fork(); +zlog(ZLOG_DEBUG, "pid after fork=%d", pid); switch (pid) { and test again (daemonize=no; log_level=debug) send here your log file content. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=53412 -- Edit this bug report at http://bugs.php.net/bug.php?id=53412&edit=1