[Buildbot-commits] [Buildbot] #2073: buildbot is unable to delete subdirectories of the build dir that have non-ASCII names under Windows

Buildbot nobody at buildbot.net
Tue Aug 9 03:00:54 UTC 2011


#2073: buildbot is unable to delete subdirectories of the build dir that have non-
ASCII names under Windows
-----------------------+-----------------------------
Reporter:  davidsarah  |      Owner:
    Type:  defect      |     Status:  new
Priority:  major       |  Milestone:  undecided
 Version:  0.8.4p2     |   Keywords:  unicode windows
-----------------------+-----------------------------
 One of the unit tests in Tahoe-LAFS creates a subdirectory that has a non-
 ASCII name ({{{locāl_dir}}}). On Windows, this causes an error on
 subsequent builds when buildbot tries to delete the "workdir" for the
 build. This seems to happen because it ASCIIfies the name to
 "{{{local_dir}}}" when trying to change its permissions to ensure it is
 deleteable.

 The traceback is:
 {{{
 starting darcs operation

 remoteFailed: [Failure instance: Traceback from remote host -- Traceback
 (most recent call last):
   File "c:\python27\lib\site-
 packages\buildbot-0.7.12-py2.7.egg\buildbot\slave\commands.py", line 1425,
 in start
     self.maybeClobber(d)
   File "c:\python27\lib\site-
 packages\buildbot-0.7.12-py2.7.egg\buildbot\slave\commands.py", line 1444,
 in maybeClobber
     d.addCallback(self.doClobber, self.workdir)
   File "c:\python27\lib\site-packages\twisted\internet\defer.py", line
 297, in addCallback
     callbackKeywords=kw)
   File "c:\python27\lib\site-packages\twisted\internet\defer.py", line
 286, in addCallbacks
     self._runCallbacks()
 --- <exception caught here> ---
   File "c:\python27\lib\site-packages\twisted\internet\defer.py", line
 542, in _runCallbacks
     current.result = callback(current.result, *args, **kw)
   File "c:\python27\lib\site-
 packages\buildbot-0.7.12-py2.7.egg\buildbot\slave\commands.py", line 1600,
 in doClobber
     rmdirRecursive(d)
   File "c:\python27\lib\site-
 packages\buildbot-0.7.12-py2.7.egg\buildbot\slave\commands.py", line 127,
 in rmdirRecursive
     rmdirRecursive(full_name)
   File "c:\python27\lib\site-
 packages\buildbot-0.7.12-py2.7.egg\buildbot\slave\commands.py", line 127,
 in rmdirRecursive
     rmdirRecursive(full_name)
   File "c:\python27\lib\site-
 packages\buildbot-0.7.12-py2.7.egg\buildbot\slave\commands.py", line 124,
 in rmdirRecursive
     os.chmod(full_name, 0600)
 exceptions.WindowsError: [Error 2] Le fichier spécifié est introuvable:
 'C:\\buildbot_tahoe\\FreeStorm_WinXP-
 x86_py2.6\\build\\_trial_temp_old228388\\drop_upload.MockTest.test_drop_upload\\local_dir'
 ]
 }}}

 An example of code that more reliably removes a directory tree is the
 {{{rm_dir}}} function in [http://tahoe-lafs.org/trac/tahoe-
 lafs/browser/trunk/src/allmydata/util/fileutil.py].

 This corresponds to [http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1472
 Tahoe-LAFS ticket 1472].

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2073>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list