Bill Eldridge wrote:
> Hancock, David (DHANCOCK) wrote:
> > Bill Eldridge suggested using WebClip to see where in the 
> output stream the
> > hang occurs, and that actually helped me find two things:
> > 
> > 1. Without the WebClip webdebug proxy, the hang is right BEFORE
> > </body></html> at the end of the page. This is reliably 
> true with or without
> > FancyTraceback turned on.  It turns out that patience (like 
> several minutes
> > of patience) results in the trailing close tags coming 
> across the wire, and
> > the page is complete.  (That's a bit too long to wait.)
> > 
> > 2. Using the webdebug proxy, the page hangs and loads 
> nothing (only the
> > request shows up in webdebug's menus) until about 300 
> seconds later, then
> > the whole page is loaded.
> 
> Well that sounds like either 1) a module is
> caluculating the hell out of something and
> only finishes aftter some minutes, or

It that's the case, you ought to be able to run "top" and see the CPU usage.

> 2) has sent a request for something and
> only times out and forgets about it sometime
> later.
> 
> ExceptionHandler does:
>                 html.append(self.htmlDebugInfo())
> 
>                  html.append('</body></html>')
>                  return string.join(html, '')
> 
> which ends up calling:
> 
>          def writeHTML(self):
>                  self.writeTraceback()
>                  self.writeMiscInfo()
>                  self.writeTransaction()
>                  self.writeEnvironment()
>                  self.writeIds()
>                  self.writeFancyTraceback()
> 
> You can try commenting these out one by one
> to see which one is hanging you up.

I suspect that it's successfully getting through all of these method calls
and hanging after it returns.  That's worth finding out.  Put a print
statement after the call to self.writeFancyTraceback() and see if that gets
printed promptly or not.  Also, in AppServer.config, make sure Verbose is
set to 1.

The other place I would put print statements is in ThreadedAppServer.py
around line 526, before and after the line that looks like:

                transaction = self.server._app.dispatchRawRequest(dict,
strmOut)

Print a timestamp before and after that line.

> 
> The different OneShot,ModPython,FCGIAdapters
> include the </body></html> in with all the other
> output, so they shouldn't be guilty.

Right, and I believe it was reported that this failed equally using several
different adapters.  So the bug is most likely within WebKit itself.

I just wish I could reproduce it myself :-(

- Geoff

_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to