fschulze/mr.developer — Issue #68: Thread Deadlock When using a tag with git
Author: chrisrossi
Created: 2011-11-18 19:20:28+00:00
State: open

When doing a checkout from git, if a tag has been specified via the 'rev=TAG' option, mr.developer gets himself into a deadlock with locking and threads. After waiting some period of time and deciding it's hanging, I can do ^C and see that it was waiting on a lock:

mr.developer: git cloning of 'XXX' failed.
mr.developer: Killed by signal 2.
mr.developer:
Traceback (most recent call last):
File "bin/buildout", line 12, in
zc.buildout.buildout.main()
File "/srv/tgctest/site/1/eggs/zc.buildout-1.4.4-py2.6.egg/zc/buildout/buildout.py", line 1683, in main
getattr(buildout, command)(args)
File "/srv/tgctest/site/1/eggs/zc.buildout-1.4.4-py2.6.egg/zc/buildout/buildout.py", line 396, in install
self._load_extensions()
File "/srv/tgctest/site/1/eggs/zc.buildout-1.4.4-py2.6.egg/zc/buildout/buildout.py", line 917, in _load_extensions
ep.load()(self)
File "/srv/tgctest/site/1/eggs/mr.developer-1.19-py2.6.egg/mr/developer/extension.py", line 240, in extension
return Extension(buildout)()
File "/srv/tgctest/site/1/eggs/mr.developer-1.19-py2.6.egg/mr/developer/extension.py", line 223, in __call__
offline=offline)
File "/srv/tgctest/site/1/eggs/mr.developer-1.19-py2.6.egg/mr/developer/common.py", line 177, in checkout
self.process(queue)
File "/srv/tgctest/site/1/eggs/mr.developer-1.19-py2.6.egg/mr/developer/common.py", line 129, in process
thread.join()
File "/usr/lib/python2.6/threading.py", line 644, in join
self.__block.wait()
File "/usr/lib/python2.6/threading.py", line 239, in wait
waiter.acquire()
KeyboardInterrupt