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