[Zope] ZServerSSL deadlocking

Dave Cinege dcinege-mlists-dated-1107549322.2ae079 at psychosis.com
Sun Jan 30 15:35:15 EST 2005


I'm seeing an issue, that (I'm pretty sure) is limited to ZServerSSL
for m2c 0.13.

I'm using Zope 2.7.4, Python 2.3.4, Linux 2.4.28 and Debian sid. My 
application is an appliance that I use Zope to mainly handle authentication, 
and the content is generated by my external methods, which deal with a mysql 
DB.

Clients are directly connected to the LAN, and the amount of requests doesn't 
really exceed 1 per 3 seconds. All requests (are to) go through https. I 
consider this a fairly light load.

It seems that after a few hours or days of uptime Zope will just cease to 
serve content.  It's sporadic.

Today it happened on a unit at a customers location. I was able to ssh in and 
see it first hand. If I restarted Zope, it MIGHT come back to life. But would 
only serve a few pages and then dead lock again. 

I narrowed it down to SSL as I would restart restart zope, and
  telnet-ssl 127.0.0.1 80
  HEAD / HTTP/1.0

And it would return fine. But the first attempt to the same on port 443 would 
deadlock, and no requests would come back on 80. (I can reconnect to 80, but 
it never replies)  What is REALLY strange is I know if I had rebooted the 
unit it would have went back to normal. But in what ever state things were 
in, by COMPLETELY killing the zope application and restarting it would 
deadlock very quickly upon SSL connect.

After I saw this, I removed the HTTPS section from the zope.conf and allowed 
clients to connect with http. So far, it's seems ZServerSSL is the cause of 
this issue.

Now to make matters worse:
I see nothing in the logs before the deadlock.
No dmesg output.
No syslog output.
Free output looks fine. 
PS output looks fine
I see no active memory leaks

The the very strange thing is if I reboot the unit, it would work fine again, 
for an indeterminable amount of time.

One thought that has come to mind is it's running the random pool dry and 
waiting...but m2crypto draws from /dev/urandom, right? So that shouldn't be an 
issue.

Any ideas?



More information about the Zope mailing list