php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #30790 Apache worker crash sending data
Submitted: 2004-11-15 08:58 UTC Modified: 2004-11-15 10:36 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: stolle at web dot de Assigned:
Status: Not a bug Package: Reproducible crash
PHP Version: 5.0.2 OS: Windows XP
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: stolle at web dot de
New email:
PHP Version: OS:

 

 [2004-11-15 08:58 UTC] stolle at web dot de
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.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-11-15 10:36 UTC] jorton@php.net
This is bug 25570 - try the patch: http://cvs.apache.org/~jorton/php_abort.diff or use any of the snapshots from http://snaps.php.net/
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat Jul 12 05:01:33 2025 UTC