Bugs item #669493, was opened at 2003-01-17 02:29
Message generated for change (Comment added) made by cito
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104866&aid=669493&group_id=4866
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: WebKit
Group: None
>Status: Closed
>Resolution: Works For Me
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Stuart Donaldson (stuartd)
Summary: StreamOut Error when client cancels transfer of non-servlet
Initial Comment:
For an easy to prove case, put a large file in a context somewhere
(say largefile.pdf).
Hit the url that represents that file with a
browser (http://localhost/WK/largefile.pdf) and cancel the
download before it's complete.
The console that spawned
the AppServer will fill with hundreds and hundreds of lines like
this:
StreamOut Error: (10053, 'Software caused
connection abort')
I believe that it prints one line for each
"chunk" of data that it would otherwise have sent downstream.For
a large file, this ties up the thread (and eats a ton of RAM and CPU)
untill it has made one error for each chunk. This has hung servers for
me.
The type of file is not relevant; I've done it with .html,
graphics, movies, zip, etc. Any non-servlet file seems to be
affected.
One could argue that one shouldn't serve large
files with WK, and that's a good point, but sometimes one might
have to, and I'm really only using this large file as an example (I
assume that it happens on small files, too... it's just harder to
interrupt the download quickly enough).
I tested this with
0.7 and with a (not so recent) cvs version, but I can't test it with
cutting edge because SF isn't letting me update from cvs right now
(durn SF to heck). I tested on Python 2.1 and 2.2 on windows 2000
and linux (debian woody). All exhibit the same behavior.
If
you need to know more about this bug, I'm on the list as
matt@...
Thanks!
----------------------------------------------------------------------
>Comment By: Christoph Zwerschke (cito)
Date: 2006-07-06 23:33
Message:
Logged In: YES
user_id=193957
Has probably been fixed meanwhile; I cannot reproduce this
with Webware 0.9.1 (tested with a 32MB text file, Python 2.3
on Linux with Apache/mod_webkit and Python 2.4 on Windwos,
built-in Webserver).
----------------------------------------------------------------------
Comment By: Stuart Donaldson (stuartd)
Date: 2003-01-17 02:46
Message:
Logged In: YES
user_id=326269
This is very similar to the stream out closed error when
flush() is called and you are in a server-push style servlet.
A problem in that case was that servlets were not
terminating when the flush() failed as a result of the
client canceling the transfer, or going away. The servlet
push would continue until it terminated for some other reason.
I have this specific problem in my application. Look for a
fix to come forward in the near future in CVS after the 0.8
release. If you can't wait for a for a fix, e-mail me, and
I'll see if I can help you out.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104866&aid=669493&group_id=4866
|