ID: 38757
User updated by: davidb at pins dot net
Reported By: davidb at pins dot net
-Status: Feedback
+Status: Open
Bug Type: Apache related
Operating System: Solaris 8
PHP Version: 5.1.6
Assigned To: dmitry
New Comment:
Ummm...well, here's what I installed:
php5.2-200609141630
Does this have what I need? If not, can you tell me what URL to go
look for? I went to the snaps.php.net page for this.
Previous Comments:
------------------------------------------------------------------------
[2006-09-19 20:43:12] [EMAIL PROTECTED]
You have tested the old version, pool(..., 1000) means 1 second
timeout. In new version you should have 5 seconds.
------------------------------------------------------------------------
[2006-09-18 21:29:16] davidb at pins dot net
One other thing which we noticed - if we take our sample
(which breaks) and change the multipart-form to a regular
form, the problem does not occur.
This is weird, and I have no idea how it may bear into the
problem. It may be a red herring of some sort. Any ideas on
the next step in debugging?
------------------------------------------------------------------------
[2006-09-15 03:51:35] davidb at pins dot net
Greetings.
I tried with the latest 5.2 (downloaded today). It doesn't seem to
make a difference. The poll() still exits with 0, then proceeds to
read everything in anyway. Heres the truss, with timestamps this
time:
94.3878 accept(0, 0xFFBEDC78, 0xFFBEDBC4, 1) = 4
AF_UNIX name =
94.3880 fcntl(0, F_SETLK, 0xFFBEDC50) = 0
typ=F_UNLCK whence=SEEK_SET start=0 len=0
sys=4290697848 pid=2086536
95.3952 poll(0xFFBEDB18, 1, 1000) = 0
fd=4 ev=POLLRDNORM rev=0
95.3959 shutdown(4, 1, 1) = 0
recv(4, 0xFFBEDC50, 8, 0) (sleeping...)
signotifywait() (sleeping...)
lwp_sema_wait(0xFD70DE60) (sleeping...)
sema type: USYNC_THREAD count = 0
103.4047 recv(4, "0101\001\0\b\0\0", 8, 0) = 8
103.4050 recv(4, "\001\0\0\0\0\0\0", 8, 0) = 8
103.4051 recv(4, "0104\001\016\0\0", 8, 0) = 8
103.4051 recv(4, "0E06 C O N T E N", 8, 0) = 8
103.4052 recv(4, " T _ L E N G T H", 8, 0) = 8
103.4053 recv(4, " 1 2 8 9 9 00104", 8, 0) = 8
103.4054 recv(4, "\001\0 E\0\0\f 7", 8, 0) = 8
103.4055 recv(4, " C O N T E N T _", 8, 0) = 8
103.4055 recv(4, " T Y P E m u l t", 8, 0) = 8
....
I guess the big question is why is poll exiting with 0 when there's a
pile of valid data?
David.
------------------------------------------------------------------------
[2006-09-13 13:08:06] [EMAIL PROTECTED]
The bug should be fixed in CVS HEAD and PHP_5_2.
Please verify and close or reopen bug.
I just incrised the data waiting timeout from 1 to 5 sec.
It is good idea to use SO_ACCEPTFILTER instead of timeout, but it is
avbailable only on BSD.
------------------------------------------------------------------------
[2006-09-12 16:03:41] davidb at pins dot net
A few other quick comments:
- Perl + CGI::Fast hasn't reported any of these problems
- This is only affecting a small subset of users, but those users tend
to continue to have the problems recur
- The users with recurring problems will sometimes suddenly, and
without warning, start working again
I strongly suspect some odd network interaction, but I'm not entirely
sure where to dig deeper just yet.
The FastCGI PHP instance is linked as a local UNIX socket:
FastCgiServer /export/httpd/DOMAINS/host.forward.com/cgi-bin/php
-port 9050
AddHandler php-fastcgi .php
<Location /cgi-bin/php>
SetHandler fastcgi-script
</Location>
Action php-fastcgi /cgi-bin/php
There are several other vhosts that use teh FastCgiExternalServer
directive. We are using the PHP process manager to front-end the PHP
work threads by setting PHP_FCGI_CHILDREN.
------------------------------------------------------------------------
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/38757
--
Edit this bug report at http://bugs.php.net/?id=38757&edit=1