Thanks everybody for the suggestions. David Binger wrote: > I guess that means that the StaticDirectory class is off the hook, right? Yes, it delegates to StaticFile for all the files in question. > Here are some other wild questions: > What is your setting for max_children in the SCGI server? I left it at the default (5), but changed it to 1 per the suggestions on this list. It didn't help. What's this about a SCGI config file? I don't know any config file, just max_children in quixote.scgi_server.run and --max children in quixote.scgi_server.main . > Does this problem happen in a non https connection from the client? That doesn't make any difference either. I've tried https and http on 2.0, and http on 1.3. > With what options are you constructing StaticFile? follow_symlinks=True, index_filenames=['index.html'], list_directory=True Sometimes I also have use_cache=False, cache_time=None , which are the defaults anyway. > You did say this is only with those two browsers on Windows, right? The SCGI Reload problem is happening on several browsers: Firefox/Linux, Konqueror/Linux, IE/Windows, Firefox/Windows. I'm not sure about Netcape 4/Windows or any Mac browsers. The cgi2scgi / FastCGI delay problem is verified on Firefox/Linux, Konqueror/Linux, and Firefox/Windows. >> several seconds to render the object and sometimes it times out. This happens only with Reload, not if you press Enter in the browser's address >> box. (Testing on Firefox/Linux, server on same computer.) > > Wierd. I don't remember ever seeing that. Are you sure you've tested it? It's not something people frequently do, so maybe nobody has noticed it until now. >> I ran the SCGI server under strace to see why it's delaying. The delay happens at a socket accept() call. I don't know a lot of C but it looks >> like it has handled several requests by that time, maybe all of them. So >> I don't know if the problem is in the SCGI server, mod_scgi[1-2], packets >> coming too early or late, or what. > > Is the request being sent to SCGI before, or after, the observed delay? After. The log entry appears when the object appears. Or if you press Stop, the log entry doesn't appear (although once it did). I tried David Cooke's scgi-cgi-0.9 driver but it also has the same delay. Also, I got some warnings from the compiler: mso@tux ~/src/scgi-cgi-0.9 $ cat /tmp/scgi-cgi-compile-error mso@tux ~/src/scgi-cgi-0.9 $ make SERVER_HOST=127.0.0.1 SERVER_PORT=3000 gcc -g -Wall -W -O2 -DSERVER_HOST=127.0.0.1 -DSERVER_PORT=3000 -o scgi.cgi scgi.c scgi.c: In function `get_config': scgi.c:136: warning: unused parameter `argv0' scgi.c: In function `main': scgi.c:368: warning: unused parameter `argc' mso@tux ~/src/scgi-cgi-0.9 $ make strip strip scgi.cgi I couldn't get it to compile with -DDEBUG: mso@tux ~/src/scgi-cgi-0.9 $ cat /tmp/gcc-errors $ gcc -g -Wall -W -O2 -DDEBUG -o scgi.cgi scgi.c scgi.c: In function `pdebug': scgi.c:37: error: too few arguments to function `vfprintf' scgi.c: In function `main': scgi.c:368: warning: unused parameter `argc' mso@tux ~/src/scgi-cgi-0.9 $ gcc -g -Wall -W -O2 -o scgi.cgi scgi.c scgi.c: In function `main': scgi.c:368: warning: unused parameter `argc' First I tried putting -DDEBUG in CCFLAGS= in the Makefile. Then I tried running gcc manually. So far the best strategy is to stick with mod_scgi but keep the static directory out of the application. That way the Reload errors are limited to the logos and stylesheet. But it means I have to use a second authentication level around the static pages (Basic Authentication with a static password list), which means some people have to login twice with two different passwords unless I set up Apache-LDAP. But that's better than errors on static pages (alarming to the user) or delays/timeouts (really unacceptable). The application is going to be used in a major drill on Monday so I need to have it in "least bad" condition. But on a more positive note, Quixote has been running very reliable except for this, and the testers have commented they can't make it break otherwise. -- Mike Orr