[Zope-dev] Zope gets stuck

Itamar Shtull-Trauring itamars@ibm.net
Wed, 08 Dec 1999 14:42:44 +0200


stuck means infinite loop - won't respond to HTTP requests, although the
monitor still works. I'm running http_load, with attempted 50 requests a
second for 10 seconds on a computing intensive method (convert long article
from structured text, do replace, split, replace, put back together - DTML
and pythonmethods.)  With 10 requests a second Zope does fine. 50 requests a
sec against a simple method also works fine.

While running http_load Zope does:

1999-12-08T12:29:45 ERROR(200) ZServer uncaptured python exception, closing
channel <zhttp_channel connected 192.168.1.2:4243 at 85c6e58 channel#: 468
requests:1> (socket.error:(32, 'Broken pipe')
[/home/zope/ZServer/medusa/asynchat.py|handle_read|80]
[/home/zope/ZServer/medusa/http_server.py|recv|406]
[/home/zope/ZServer/medusa/asyncore.py|recv|256])
------
1999-12-08T12:30:07 PROBLEM(100) ZServer Server accept() threw an exception
------
1999-12-08T12:30:07 PROBLEM(100) ZServer Server accept() threw an exception
.
. etc.
.
------
1999-12-08T12:30:10 PROBLEM(100) ZServer Server accept() threw an exception
------
1999-12-08T12:30:11 ERROR(200) ZServer uncaptured python exception, closing
channel <zhttp_channel connected 192.168.1.2:4487 at 85c7038 channel#: 711
requests:1> (socket.error:(32, 'Broken pipe')
[/home/zope/ZServer/medusa/asynchat.py|handle_read|80]
[/home/zope/ZServer/medusa/http_server.py|recv|406]
[/home/zope/ZServer/medusa/asyncore.py|recv|256])

I hit Ctrl-C, and get:

Traceback (innermost last):
  File "/home/zope/z2.py", line 583, in ?
    asyncore.loop()
  File "/home/zope/ZServer/medusa/asyncore.py", line 107, in loop
    poll_fun (timeout)
  File "/home/zope/ZServer/medusa/asyncore.py", line 55, in poll
    (r,w,e) = select.select (r,w,e, timeout)
KeyboardInterrupt
Traceback (innermost last):
  File "/home/zope/z2.py", line 433, in ?
    zdaemon.run(sys.argv, os.path.join(INSTANCE_HOME, Zpid))
  File "/home/zope/lib/python/zdaemon.py", line 208, in run
    p,s = os.waitpid(pid, 0)
KeyboardInterrupt

-- 
Itamar S.T.  itamars@ibm.net