[Zope] Troubleshooting Zope 100% CPU utilization

Matthew X. Economou xenophon at irtnog.org
Tue Mar 15 16:20:27 EST 2005


All,

I was able to get DeadlockDebugger working.  I think my initial
threadframe installation was corrupt, but re-installing both threadframe
and DeadlockDebugger seemed to fix any issues there.  With the following
output, do I have enough information to go to someone with a bug report?
At this point it seems Zope isn't the problem, but I want to know if
there is any other information I can glean before reporting a bug in
LDAPUserFolders or python-ldap.

So: I have a spinning Zope and the DeadlockDebugger output.  The last
few lines of each thread look like:

  File "/var/www/zope/Products/LDAPUserFolder/SharedResource.py",
  line 110, in __call__
    self._lock.acquire()
  File "/usr/local/lib/python2.4/threading.py", line 100, in acquire
    rc = self.__block.acquire(blocking)

One thread is stuck here (possible race condition?):

  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 169, in simple_bind
    return
self._ldap_call(self._l.simple_bind,who,cred,serverctrls,clientctrls)
  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 91, in _ldap_call
    self._ldap_object_lock.acquire()

And finally, one thread is stuck here:

  File "/var/www/zope/Products/LDAPUserFolder/LDAPDelegate.py", line
  292, in _connect
    connection.simple_bind_s(user_dn, user_pwd)
  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 760, in simple_bind_s
    return SimpleLDAPObject.simple_bind_s(self,*args,**kwargs)
  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 176, in simple_bind_s
    self.result(msgid,all=1,timeout=self.timeout)
  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 399, in result
    res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 405, in result2
    return self._ldap_call(self._l.result2,msgid,all,timeout)
  File "/usr/local/lib/python2.4/site-packages/ldap/ldapobject.py",
  line 94, in _ldap_call
    result = func(*args,**kwargs)

What do these thread backtraces show?

What additional information can I gather?

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