DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26965>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26965

Apache stops serving clients if one stops consuming from its TCP window

           Summary: Apache stops serving clients if one stops consuming from
                    its TCP window
           Product: Apache httpd-2.0
           Version: 2.0.48
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: All
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


I have earlier tried to post this to the users list but got no replies so I 
assume it is a bug - otherwise receive my sincere apologies for wasting your 
time!
What seem to happen is that when a client application stops consuming from its 
NIC's TCP buffer this will eventually stop the server from serving other 
clients than this one. When the client responds with a window size of 0 the 
server starts sending it 1 byte packets frequently (to check if the window 
size has been enlarged again) and in this period it will not serve other 
clients. As soon as the client starts consuming again the server works 
normally again.
I have tested it with 'clean' installs on Windows NT (workstation), Windows 
2000 (workstation) and 2 Windows XP and the problem occured. I have also tried 
it on 2 Windows 2003 and a Windows 2000 Server and the problem did not occur. 
I can however not see how this should correspond to the OS as the machine 
responds on all other kinds of network communication (ping, drive-sharing, 
etc).
There is nothing in the log related to this - not even with debug enabled. 
The installation is the precompiled win32 binary found on the web site.
Below is my original messages posted to the user list - might give some more 
information though I have tried to summarize the important parts here.
Regards, Peter Vestergaard

---------------original messages-------------------------

Hi again
We have done some more testing and have found out the following:
It seems like the problem occurs when the client's window gets full. As 
RealOne is not removing any packets from the window it is slowly filled and 
eventually the TCP ACK messages returned from the client tells that its window-
size is 0. This causes Apache to start sending HTTP-packets of size 1, which 
the client TCP ACK's with window-size set to 0, etc. This is a reasonable 
behaviour, but why does Apache stop handling other clients while this is 
ongoing? 
We have tried installing Apache on a couple of Windows 2003 server machines 
and here there is no problem - it only occurs on the XP's.
After the 'Timeout' (set in httpd.conf) period expires the server (of course) 
again start working probably as the client is dropped.
We are only using two different client machines at a time (but have tried 
several), so it should not be anything regarding some connection limitation on 
Win XP (I think).
Is it a bug or am I doing something wrong?
Best regards
Peter Vestergaard
-----Original Message-----
From: Peter Posselt Vestergaard [mailto:[EMAIL PROTECTED] 
Sent: 10. februar 2004 15:14
To: [email protected]
Subject: [EMAIL PROTECTED] apache http-server hangs on .smil,.rm,.swf request


Hi list 
I am experiencing a weird problem that I have been unable to find any 
information about, so now I turn to you. 
I have a freshly installed Apache HTTP-server v2.0.48 (win32-binary downloaded 
from http://httpd.apache.org/download.cgi) running on a Windows XP (single-
processor). I have made no other configuration than what is done during the 
install (Typical).

I have copied three files to the htdocs directory: one .smil, one .rm and 
one .swf file. The .smil file references the two other file - I have put the 
content of it in the bottom of this message.

On the client machines I am using RealOne Player v2.0 to access the .smil file 
and it works fine. Untill I tried it on a machine with no sound card. This 
made the Real Player pop up a dialog telling me a general error had occured. 
This error was due to the missing sound card and sound in the .rm file, but 
that is probably irrelevant.

The problem is that while the RealOne dialog is showing I cannot access any 
pages on the Apache server from any machine! Not even the main test page 
(telling that apache is installed), but as soon as I press OK in the dialog 
the pages are served.

I have tried installing Apache on two different WinXP machines - the one with 
almost nothing else installed - with the same result.

Anyone have a clue of what I do/ what is wrong? It is pretty scary to me that 
one client can hang up the server like this...

Thanks in advance! 
Best regards 
Peter Vestergaard 

<smil xmlns="http://www.w3.org/2001/SMIL20/Language"; 
    xmlns:rn="http://features.real.com/2001/SMIL20/Extensions";> 
    <head> 
        <meta name="title"       content="Testing" />   
        <layout> 
            <root-layout backgroundColor="#E8EDF1" width="781" height="450" 
rn:resizeBehavior="percentOnly"  /> 
            <region id="video" width="539" height="409" left="123" top="2" 
fit="fill" z-index='31' /> 
            <region id="logo" width="90" height="78" left="10" top="1" z-
index='70' /> 
        </layout> 
    </head> 
    <body> 
          <par> 
                <animation src="mylogo.swf" region="logo" regPoint="center" 
regAlign="center" begin="00:00.0" fill="freeze" />

                <video src="intro.rm" region="video" regPoint="middle" 
begin="00:00.0"></video> 
          </par> 
    </body> 
</smil>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to