[tahoe-lafs-trac-stream] [tahoe-lafs] #1472: buildbot is unable to delete directories under _trial_temp* that have non-ASCII names under Windows

tahoe-lafs trac at tahoe-lafs.org
Mon Aug 8 20:08:18 PDT 2011


#1472: buildbot is unable to delete directories under _trial_temp* that have non-
ASCII names under Windows
------------------------------------+--------------------------------------
     Reporter:  davidsarah          |      Owner:  somebody
         Type:  defect              |     Status:  new
     Priority:  critical            |  Milestone:  1.9.0
    Component:  dev-infrastructure  |    Version:  1.8.2
   Resolution:                      |   Keywords:  buildbot unicode windows
Launchpad Bug:                      |
------------------------------------+--------------------------------------

Old description:

> The drop-upload tests added in [5124] create a subdirectory under
> {{{_trial_temp}}} that has a non-ASCII name ({{{locāl_dir}}}. On Windows,
> this causes an error on the next build when buildbot tries to delete the
> "workdir" for the build, which contains {{{_trial_temp}}}. This seems to
> happen because it ASCIIfies the name to "{{{local_dir}}}" when trying to
> change its permissions to ensure it is deleteable.
>
> An ugly workaround would be for the tests to delete any non-ASCII
> directories they create. This should really be fixed in buildbot, though.
>
> 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'
> ]
> }}}

New description:

 The drop-upload tests added in [5124] create a subdirectory under
 {{{_trial_temp}}} that has a non-ASCII name ({{{locāl_dir}}}). On Windows,
 this causes an error subsequent builds when buildbot tries to delete the
 "workdir" for the build, which contains {{{_trial_temp}}}. This seems to
 happen because it ASCIIfies the name to "{{{local_dir}}}" when trying to
 change its permissions to ensure it is deleteable.

 An ugly workaround would be for the tests to delete any non-ASCII
 directories they create. This should really be fixed in buildbot, though.

 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'
 ]
 }}}

--

Comment (by davidsarah):

 Bug filed against buildbot: http://trac.buildbot.net/ticket/2073

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1472#comment:2>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list