[Zope] Finding crash information
Nick Garcia
ngarcia@codeit.com
Thu, 09 Mar 2000 10:48:09 -0800
Pavlos Christoforou wrote:
>
> On 9 Mar 2000, Jon Prettyman wrote:
>
> >
> > Under load (not too heavy, but busy) the Zope process SILENTLY stops.
> > I get no traceback info anywhere that I can see. Nothing to
> > stdout/stderr, nothing in Z2.log.
>
> What a coincidence.
> I have exactly the same problem. One site with GUF and a CatalogAware
> ZClass which silently stops after some time. No errors.
>
> The problem with GUF and DEBUG mode relates to lost filedescriptors.
> Someone posted an explanation (maybe a patch too). You might be able to
> locate it by doing a search on the list.
>
> Please let me know if you find something out.
>
> Pavlos
I think this *might* fix the problem you guys are having. Although we
aren't using GUF or CatalogAware objects, we discovered this on a system
that was under pretty heavy load.
diff -ur ../Zope-2.1.2-src/ZServer/medusa/http_server.py
ZServer/medusa/http_server.py
--- ../Zope-2.1.2-src/ZServer/medusa/http_server.py Mon Nov 15 13:53:56
1999
+++ ZServer/medusa/http_server.py Fri Feb 11 09:51:49 2000
@@ -606,7 +606,10 @@
def handle_accept (self):
self.total_clients.increment()
try:
- conn, addr = self.accept()
+ conn=self.accept()
+ if conn:
+ conn, addr = conn
+ else: return
except socket.error:
# linux: on rare occasions we get a bogus socket back from
# accept. socketmodule.c:makesockaddr complains that the
--
Nick Garcia | ngarcia@codeit.com
CodeIt Computing | http://codeit.com