Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:1752 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 94989 invoked from network); 20 May 2003 01:53:01 -0000 Received: from unknown (HELO mail.zend.com) (192.117.235.230) by pb1.pair.com with SMTP; 20 May 2003 01:53:01 -0000 Received: (qmail 29874 invoked from network); 20 May 2003 01:52:52 -0000 Received: from localhost (HELO zeev-laptop.zend.com) (127.0.0.1) by localhost with SMTP; 20 May 2003 01:52:52 -0000 Reply-To: zeev@zend.com Message-ID: <5.1.0.14.2.20030520042349.06012040@localhost> X-Sender: zeev@localhost X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Tue, 20 May 2003 04:52:30 +0300 To: internals@lists.php.net Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: fd patch From: zeev@zend.com (Zeev Suraski) Just a last heads up before the release here. Do we really want this patch in? I think that it was put in a bug-fix release in a rather hasty manner, with no real reason. We've already experienced one crash, there may be others - it's a very central piece of code. Weighing the pros and cons of this patch, it basically fixes a problem that isn't new or even unique to PHP, and existed ever since the days of PHP/FI 2. The symptoms of this problem arise fairly rarely, in situations where there's a combination of a web server that opens a very large number of files[*], and an operating system with a libc that can't handle fd's over 255 (Solaris). I think that saying that PHP is unusable under Solaris is a gross overstatement; I've been aware of this issue since 1996, and yet, I've come across less than a handful of real world cases that experienced this problem, versus hundreds of cases that worked flawlessly. By including the patch, we are fixing a problem that affects a very small percentage of the userbase on Solaris[*], at the price of a fairly big risk in breaking functionality for existing users on ALL operating systems. To summarize, including it in 4.3.2 (or anything in the 4.3.x series) doesn't sound like good math to me. v5/ZE2 already has a fix for this, and considering the urgency level of this issue, the sensitivity of the code it touches, and the amount of testing that 4.3.x will get before it gets released versus 5.x - waiting for 5 makes much more sense. For people who experience this specific issue, we can provide the patch for 4.3.x on php.net. I don't mean to start a big thread here - I feel very uncomfortable releasing such a sensitive patch with so little testing, and don't exactly understand why the problem that it addresses is suddenly so urgent. If there's consensus here that this patch is important for this 4.3.x release, so be it - I want to at least voice my opinion before it gets finalized. Zeev [*] Namely, users of multithreaded servers that actually use PHP in threaded mode, which are relatively few; And users of Apache, configured with hundreds of log files, which are also relatively few. There might be other examples, but the problem certainly does not affect a typical Apache/PHP setup. Specifically, it is NOT correlated in any way to the number of include/require files that you have in your application - as long as there's one fd under 255 handy, PHP will operate without any problems.