#30790 [NEW]: Apache worker crash sending data
| From: | stolle at web dot de | Date: | Mon, 15 Nov 2004 07:58:15 +0000 |
| Subject: | #30790 [NEW]: Apache worker crash sending data | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-69072@lists.php.net to get a copy of this message | ||
From: stolle at web dot de
Operating system: Windows XP
PHP version: 5.0.2
PHP Bug Type: Reproducible crash
Bug description: Apache worker crash sending data
Description:
------------
Apache Support has forwarded me to use the PHP-Reporting System.
Try the small script.
The used file "c:\temp\x3.iso" may be of a size a 20 MB or so. I used an
iso-Image of something. But
content doesn't matter.
If the file-Transfer is interrupted by the client (IE closed f.e.) the
Apache worker crashes.
If you eleminate the "while" everything is ok.
This is only a simplified Script. Everytime when sending data throug an
php script, from whithin a while-loop, or any other language construct,
the worker crashes when connection is lost.
I'm using XP SP2, Apache 2.0.52 and PHP 5.0.2
I tried the 3 Apache config lines:
EnableSendfile Off
EnableMMAP Off
Win32DisableAcceptEx
No difference. Worker crashes.
We can't continue developing our php-Application (Alternativ User
Interface
for Multimedia Home-Devices), Subproject: Streaming Video-Content, if we
can't
fix this bug.
Help would be great.
sorry for my english ;)
Yours
Andreas
Reproduce code:
---------------
<?php
error_log( "Hei" );
$fh = fopen( "c:/temp/x3.iso", "rb" );
while ( !feof($fh) )
fpassthru( $fh );
?>
Expected result:
----------------
Apache worker should not crash if connection is lost.
Actual result:
--------------
[Thu Nov 11 17:17:02 2004] [notice] Parent: child process exited with
status
4294967295 -- Restarting.
[Thu Nov 11 17:17:03 2004] [notice] Parent: Created child process 4968
[Thu Nov 11 17:17:03 2004] [notice] Disabled use of AcceptEx() WinSock2
API
[Thu Nov 11 17:17:03 2004] [notice] Child 4968: Child process is running
[Thu Nov 11 17:17:03 2004] [notice] Child 4968: Acquired the start mutex.
[Thu Nov 11 17:17:03 2004] [notice] Child 4968: Starting 250 worker
threads.
[Thu Nov 11 17:17:03 2004] [notice] Child 4968: Listening on port 8001.
--
Edit bug report at http://bugs.php.net/?id=30790&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=30790&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=30790&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=30790&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=30790&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=30790&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=30790&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=30790&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=30790&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=30790&r=support
Expected behavior: http://bugs.php.net/fix.php?id=30790&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=30790&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=30790&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=30790&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=30790&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=30790&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=30790&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=30790&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=30790&r=float
MySQL Configuration Error: http://bugs.php.net/fix.php?id=30790&r=mysqlcfg