From: a at webfiends dot com Operating system: Solaris 8 PHP version: 4.3.1 PHP Bug Type: Sockets related Bug description: CLOSE_WAIT sockets cause Apache to hit nofiles rlimit
When including a remote URL... [...] <? include('http://www.php.net') ?> [...] The socket to the remote server is left in CLOSE_WAIT. Eventually the Apache process runs out of file descriptors. [EMAIL PROTECTED] (29)# netstat -an | grep 64.246.30.37 63.111.105.8.44978 64.246.30.37.80 5840 0 24820 0 CLOSE_WAIT 63.111.105.8.44980 64.246.30.37.80 5840 0 24820 0 CLOSE_WAIT [...] [EMAIL PROTECTED] (30)# pfiles 4706 4706: /usr/local/apache/1.3.27/bin/httpd -f /etc/servers/apache/1.3.27/unixd Current rlimit: 262 file descriptors [...] 13: S_IFSOCK mode:0666 dev:229,0 ino:23031 uid:0 gid:0 size:0 O_RDWR sockname: AF_INET 63.111.105.8 port: 44988 peername: AF_INET 64.246.30.37 port: 80 14: S_IFSOCK mode:0666 dev:229,0 ino:25628 uid:0 gid:0 size:0 O_RDWR sockname: AF_INET 63.111.105.8 port: 45008 peername: AF_INET 64.246.30.37 port: 80 [...] This problem doesn't occur with 4.2.3 on Solaris 8. When all of the file desriptors have been used up, the child process can't include files or lauch external processes e.g. sendmail. [Thu Feb 20 12:02:48 2003] [error] [client 63.230.229.161] (24)Too many open files: file permissions deny server access: /export/home/xxxxxx/html/includes/common.inc Here's our configure line... [..] env CC=gcc CFLAGS='-I/usr/local/openssl/0.9.7/include' \ ./configure \ --prefix=/usr/local/php/4.3.1 \ --enable-safe-mode=yes \ --enable-memory-limit=yes \ --with-mysql=/usr/local/mysql/3.23.55 \ --with-gd \ --with-apxs=/usr/local/apache/1.3.27/bin/apxs \ --with-jpeg-dir=/usr/local \ --with-xpm-dir=/usr/local \ --with-png-dir=/usr/local \ --with-zlib-dir=/usr/local \ --with-openssl=/usr/local/openssl/0.9.7 \ --enable-wddx \ --enable-debug=no [..] -- Edit bug report at http://bugs.php.net/?id=22370&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=22370&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=22370&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=22370&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=22370&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=22370&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=22370&r=support Expected behavior: http://bugs.php.net/fix.php?id=22370&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=22370&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=22370&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=22370&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=22370&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=22370&r=dst IIS Stability: http://bugs.php.net/fix.php?id=22370&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=22370&r=gnused