[Zope] Troubleshooting Zope 100% CPU utilization

Matthew X. Economou xenophon at irtnog.org
Tue Mar 15 14:22:21 EST 2005


The story thus far:

1. I installed DeadlockDebugger, but I couldn't get it to work.  I kept
getting errors when I tried to view its special URL, so I gave up on
getting it working.

2. I upgraded to Python 2.4 as there were some fixes to threading
support that haven't been backported to Python 2.3.  Now, instead of
hanging the entire instance when Zope begins spinning, it only hangs the
Plone site (and I can access the Zope instance's root).

3. In my backtraces using GDB, I saw that Zope is stuck in a select loop
waiting on an LDAP connection (I'm using LDAPUserFolders to authenticate
to Active Directory).  I don't know if the problem is in
LDAPUserFolders, python-ldap, or OpenLDAP's client libraries.

What is especially frustrating is that this same software works fine on
a different architecture.

The LDAP connection is in a CLOSE_WAIT state.  The Zope instance sends a
FIN/ACK and receives an ACK from the domain controller.  The domain
controller sends a FIN/ACK, but Zope never sends the final ACK to close
the connection.  Instead, it spins around a call to select(2) with the
connection stuck in CLOSE_WAIT.

I will continue to try to get DeadlockDebugger working and follow up
with Dataflake, the python-ldap-dev mailing lists, or with the OpenLDAP
maintainers (as the case may be).

As always, your suggestions are most welcome.

Best wishes,
Matthew

-- 
"The challenge of a moral life is to do nothing that requires
forgiveness."  - Roger Ebert in his review of _The Woodsman_


More information about the Zope mailing list