[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