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
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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

Add a Patch

Pull Requests

Add a Pull Request

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-2024 The PHP Group
All rights reserved.
Last updated: Wed May 01 21:01:29 2024 UTC