From: jimmy dot makela at loopia dot se Operating system: FreeBSD 4.9-RELEASE-p10 PHP version: 4.3.11 PHP Bug Type: Apache related Bug description: Possible deadlock in PHP-cleanup under heavy load
Description: ------------ Periodically on one of our webservers one apache-process starts using up all CPU until it is killed. A ktrace of the process gives the output: 63458 httpd CALL sigprocmask(0x1,0x280a1060,0xbfbff540) 63458 httpd RET sigprocmask 0 63458 httpd CALL sigprocmask(0x3,0xbfbff540,0) 63458 httpd RET sigprocmask 0 63458 httpd CALL sigprocmask(0x1,0x280a1060,0xbfbff540) 63458 httpd RET sigprocmask 0 63458 httpd CALL sigprocmask(0x3,0xbfbff540,0) 63458 httpd RET sigprocmask 0 ad infinitum. When attaching to the process with GDB and doing a backtrace, we get the following update: #0 0x28092648 in symlook_obj () from /usr/libexec/ld-elf.so.1 #1 0x28091032 in dlclose () from /usr/libexec/ld-elf.so.1 #2 0x283b3251 in object.11 () from /usr/local/libexec/apache/libphp4.so #3 0x283b4bfc in object.11 () from /usr/local/libexec/apache/libphp4.so #4 0x283b4d3a in object.11 () from /usr/local/libexec/apache/libphp4.so #5 0x283b0a00 in object.11 () from /usr/local/libexec/apache/libphp4.so #6 0x2838cb7a in object.11 () from /usr/local/libexec/apache/libphp4.so #7 0x2838cb57 in object.11 () from /usr/local/libexec/apache/libphp4.so #8 0x283c911d in object.11 () from /usr/local/libexec/apache/libphp4.so #9 0x80557e8 in ap_child_exit_modules () #10 0x805a7b1 in clean_child_exit () #11 0x805bba2 in just_die () #12 0xbfbfffac in ?? () #13 0x28091f83 in r_debug_state () from /usr/libexec/ld-elf.so.1 #14 0x28091e1e in r_debug_state () from /usr/libexec/ld-elf.so.1 #15 0x2809021b in find_symdef () from /usr/libexec/ld-elf.so.1 #16 0x2808fa78 in _rtld_bind () from /usr/libexec/ld-elf.so.1 #17 0x2808f461 in _rtld_bind_start () from /usr/libexec/ld-elf.so.1 #18 0x805d3dd in make_child () #19 0x805d64c in perform_idle_server_maintenance () #20 0x805db5d in standalone_main () #21 0x805e0a7 in main () #22 0x804fd0e in _start () which to me suggest that something in the PHP cleanup code is deadlocking. Any help in getting to the bottom of this would be greatly appreciated. If you need any additional information, we will provide it. -- Edit bug report at http://bugs.php.net/?id=33281&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=33281&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=33281&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=33281&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=33281&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=33281&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=33281&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=33281&r=needscript Try newer version: http://bugs.php.net/fix.php?id=33281&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=33281&r=support Expected behavior: http://bugs.php.net/fix.php?id=33281&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=33281&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=33281&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=33281&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=33281&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=33281&r=dst IIS Stability: http://bugs.php.net/fix.php?id=33281&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=33281&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=33281&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=33281&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=33281&r=mysqlcfg