#38757 [Opn->Asn]: MultiPart Form Uploads fail with FastCGI
| From: | tony2001@php.net | Date: | Sat, 09 Sep 2006 21:09:16 +0000 |
| Subject: | #38757 [Opn->Asn]: MultiPart Form Uploads fail with FastCGI | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-101940@lists.php.net to get a copy of this message | ||
ID: 38757
Updated by: tony2001@php.net
Reported By: davidb at pins dot net
-Status: Open
+Status: Assigned
Bug Type: Apache related
Operating System: Solaris 8
PHP Version: 5.1.6
-Assigned To:
+Assigned To: dmitry
New Comment:
Dmitry, could you plz check it out?
Previous Comments:
------------------------------------------------------------------------
[2006-09-09 02:05:01] davidb at pins dot net
Well, I tried with the latest 5.2b snapshot, and now it's broken for my
PC at home also. Appears to be the identical problem - php just
silently stops processing after it reads in the POST data, closes the
socket, and then waits for the next request, throwing a 500 server
error.
Please.
------------------------------------------------------------------------
[2006-09-08 22:09:08] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2006-09-08 22:04:15] davidb at pins dot net
Description:
------------
Greetings.
I'm currently observing a reproducible version of bug #26647 in the PHP
5.1 train. For a subset of users running mostly Mac but some PC
browsers, the PHP process unceremoniously exists witout comment when
the form is POST'ed. A truss of the PHP FastCGI process shows PHP
reading in the text (incidently, it's also pointed out a performance
issue where php's doing a read() of 8 bytes at a time from the FastCGI
stream instead of 8kB at at a time, but I digress). The problem
appears to go away when I switch to a non-FastCGI version.
The broken users are broken consistently - it would be possible (and
easy) to gdb trace it and see why it's exiting. Here's the start/end
of the truss:
accept(0, 0xFFBEDA50, 0xFFBED99C, 1) = 4
fcntl(0, F_SETLK, 0xFFBEDA28) = 0
poll(0xFFBED8F0, 1, 1000) = 0
shutdown(4, 1, 1) = 0
recv(4, "0101\001\0\b\0\0", 8, 0) = 8
recv(4, "\001\0\0\0\0\0\0", 8, 0) = 8
recv(4, "0104\001\015\0\0", 8, 0) = 8
recv(4, "0E05 C O N T E N", 8, 0) = 8
recv(4, " T _ L E N G T H", 8, 0) = 8
recv(4, " 8 3 5 1 90104\0", 8, 0) = 8
recv(4, "01\0 d\0\0\f V C", 8, 0) = 8
recv(4, " O N T E N T _ T", 8, 0) = 8
recv(4, " Y P E m u l t i", 8, 0) = 8
recv(4, " p a r t / f o r", 8, 0) = 8
recv(4, " m - d a t a ; ", 8, 0) = 8
recv(4, " b o u n d a r y", 8, 0) = 8
recv(4, " m L b O u N d A", 8, 0) = 8
(many many lines)
recv(4, " r Y - -\r\n0105", 8, 0) = 8
recv(4, "\001\0\0\0\0", 8, 0) = 6
recv(4, 0xFFBEDA28, 8, 0) = 0
close(4) = 0
fcntl(0, F_SETLKW, 0xFFBEDA28) = 0
accept(0, 0xFFBEDA50, 0xFFBED99C, 1) (sleeping...)
Bam. Goodbye. No error, no nothing.
Reproduce code:
---------------
<html>
<head>
</head>
<body>
<form method="post" action="response.php"
enctype="multipart/form-data">
<input name="test" type="file">
<input name="submit" value="submit" type="submit" />
</form>
</body>
</html>
Expected result:
----------------
The response.php should work - note, however, that php never even
attempts to open the response.php file, which is just a trivial "file
uploaded" message, no attempt to save.
Actual result:
--------------
See above truss - php just exits.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38757&edit=1