[ZODB-Dev] Tracking down a freeze (deadlock?)
Florent Guillaume
fg at nuxeo.com
Thu Feb 24 04:57:02 EST 2005
Florent Guillaume <fg at nuxeo.com> wrote:
> Florent Guillaume <fg at nuxeo.com> wrote:
> > I'm trying to track down what looks to me like a deadlock, using Zope
> > 2.7.4. We're using ZEO, on single processor machines. The ZEO client is
> > configured for 4 threads.
Preliminary info: using my DeadlockDebugger
(http://www.zope.org/Members/nuxeo/Products/DeadlockDebugger)
I got this:
File "/opt/zope/lib/python/ZPublisher/Publish.py", line 92, in publish
object=request.traverse(path, validated_hook=validated_hook)
File "/opt/zope/lib/python/ZPublisher/BaseRequest.py", line 231, in traverse
object=object.__bobo_traverse__(request)
File "/opt/zope/lib/python/ZODB/ZApplication.py", line 48, in __bobo_traverse__
conn=db.open(version)
File "/opt/zope/lib/python/ZODB/DB.py", line 504, in open
c._setDB(self)
File "/opt/zope/lib/python/Products/ZODBMountPoint/Mount.py", line 180, in _setDB
conn._setDB(conn._db)
File "/opt/zope/lib/python/Products/ZODBMountPoint/Mount.py", line 176, in _setDB
self._real_setDB(odb)
File "/opt/zope/lib/python/ZODB/Connection.py", line 257, in _setDB
self._flush_invalidations()
File "/opt/zope/lib/python/ZODB/Connection.py", line 552, in _flush_invalidations
self._cache.invalidate(self._invalidated)
File "/appli/zeo/zeocli-192.168.106.6-8080/Products/DICOD/DICODMailingList.py", line 125, in __del__
File "/opt/zope/lib/python/ZODB/Connection.py", line 599, in setstate
invalid = self._is_invalidated(obj)
File "/opt/zope/lib/python/ZODB/Connection.py", line 617, in _is_invalidated
self._inv_lock.acquire()
I can't see how this lock would not be released.
Does this ring any bell ? Note that mount points come into play...
I'm trying to get tracebacks of other deadlocks to correlate, and with
more threads.
Florent
--
Florent Guillaume, Nuxeo (Paris, France) CTO, Director of R&D
+33 1 40 33 71 59 http://nuxeo.com fg at nuxeo.com
More information about the ZODB-Dev
mailing list