[Zope-dev] ZEO Server Crashed

Shane Hathaway shane@zope.com
Mon, 15 Apr 2002 11:10:34 -0400


Alex Kelly wrote:
> We have been running our web site with Zope 2.4.2 and ZEO (I'm unsure
> of
> the version, can't seem to find it anywhere) for about 5 months.  We
> are
> running it on Solaris 8 w/ Python 2.1.2.  The other day we had a major
> crash and this was left in the ZEO_Server.log:
> 2002-04-09T16:36:49 ERROR(200) ZEO Server uncaptured python exception,
> closing channel <StorageServer listening :5800 at 47a074>
> (exceptions.OSError:[Errno 24]Too many open files
> [/opt/Lang/Python-2.1.2/lib/python2.1/asyncore.py|poll|92]
> [/opt/Lang/Python-2.1.2/lib/python2.1/asyncore.py|handle_read_event|380]
> [/opt/WWW/ZopeInstallation/Zope_software_home/lib/python/ZEO/StorageServer.py|handle_accept|189]
> [/opt/WWW/ZopeInstallation/Zope_software_home/lib/python/ZEO/StorageServer.py|__init__|238]
> [/opt/WWW/ZopeInstallation/Zope_software_home/lib/python/ZEO/trigger.py|__init__|133])
> 
> Any clues as to what caused this?  Or any information about making
> sure
> this doesn't happen again?

This looks like a bug that has been solved in recent versions of ZEO. 
The problem was that each time a new ZEO client connection was made, a 
pair of special file descriptors were also created, and these special 
descriptors were never cleaned up.  Eventually the server ran into an 
OS-defined limit.

Shane