For an easy to prove case, put a large file in a context somewhere
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
StreamOut Error: (10053, 'Software caused
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
The type of file is not relevant; I've done it with .html,
graphics, movies, zip, etc. Any non-servlet file seems to be
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.
you need to know more about this bug, I'm on the list as