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