Neil Schemenauer wrote: > Can you redo the capture, this time grabbing both HTTP and SCGI > traffic? E.g.: > > tcpdump -i lo -s 9000 -w scgi.dat port 3000 or port 80 > > With that above command you would have to connect the browser to > 'localhost'. Also, can you send me the Apache access and error logs > for those requests. You don't need to produce separate capture > files, just leave tcpdump run until you get a 500 error. > > I have a theory on why StaticDirectory is causing a problem. It > probably sets more response headers than other pages. You could > test this theory by adding code like this to one of the dynamic > pages: > > r = get_response() > r.set_header('X-Test-1', 'a'*40) > r.set_header('X-Test-2', 'a'*40) > r.set_header('X-Test-3', 'a'*40) > > Thanks for spending time trying to track this done. Take 2 with a modified Quixote demo has: / -- (dynamic) no errors /apache/ -- (static) usual errors /foo -- (dynamic) no errors /bar -- (dynamic with extra headers) no errors /baz -- (static, same content as bar) Internal Server Error often _q_exports = ["", "simple", "plain", "error", "publish_error", "css", "dumpreq", "extras", ("favicon.ico", "favicon_ico"), "apache", "foo", "bar", "baz"] apache = StaticDirectory("/var/www/localhost/htdocs/", follow_symlinks=True, index_filenames=["index.html"], list_directory=True) def foo(self): return "Foo!" def bar(self): r = get_response() r.set_header('X-Test-1', 'a'*40) r.set_header('X-Test-2', 'a'*40) r.set_header('X-Test-3', 'a'*40) return "Bar!" from quixote.util import StaticFile baz = StaticFile('/var/www/localhost/htdocs/baz')