[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