[Zope-dev] recursion depth exceeded
Terry Kerr
terry@bizarsoftware.com.au
Wed, 06 Mar 2002 13:53:00 +1100
Hi,
I am running a fairly high traffic Zope server where people occassionly ftp
files in and out of the server.
Approximately once per week, the zope process will go to using 99%CPU and stay
like that untill it is restarted. The error shown in the stupid log file is:
2002-03-06T01:22:41 ERROR(200) ZServer uncaptured python exception, closing
channel <zope_ftp_channel connected 202.129.84.50:64011 at 8ac4ecc>
(exceptions.RuntimeError:maximum recursion depth exceeded
[/usr/local/lib/python2.1/asyncore.py|poll|104]
[/usr/local/lib/python2.1/asyncore.py|handle_write_event|393]
[/usr/local/zope/Zope-2.4.3-src/ZServer/medusa/asynchat.py|handle_write|147]
[/usr/local/zope/Zope-2.4.3-src/ZServer/medusa/asynchat.py|initiate_send|209]
[/usr/local/zope/Zope-2.4.3-src/ZServer/medusa/asynchat.py|refill_buffer|190]
[/usr/local/zope/Zope-2.4.3-src/ZServer/medusa/ftp_server.py|close|179]
[/usr/local/zope/Zope-2.4.3-src/ZServer/medusa/ftp_server.py|close|903]
[/usr/local/lib/python2.1/asyncore.py|close|355]
[/usr/local/lib/python2.1/asyncore.py|del_channel|241]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361]
[/usr/local/lib/python2.1/asyncore.py|__getattr__|361] .... and so on...
Line 361 in asyncore.py is:
358 # cheap inheritance, used to pass all other attribute
359 # references to the underlying socket object.
360 def __getattr__ (self, attr):
361 return getattr (self.socket, attr)
It hints to me that it is some sort of ftp server error that is causing the
problem. I have looked into it, but most of it is over my head and I was hoping
somebody could help. I have tried to reproduce the error, but without success.
The server is:
FreeBSD4.3
Zope 2.4.3 (from src)
python 2.1.2
terry
--
Terry Kerr (terry@bizarsoftware.com.au)
Chief Technical Officer
Bizar Software Pty Ltd (www.bizarsoftware.com.au)
+61 3 9530 9182