Closed
Description
Today I made a Servo try build with a rustc/cargo version that, if I understand correctly, enable incremental compilation by default. This left on CI builders some files with long names. On every subsequent builds, Buildbot would first try to clean the target directory and fail to remove files with too long names/paths such as c:\buildbot\slave\windows-msvc-dev\build\target\debug\incremental\script-1g52totqj6qac\s-ex1p8h0sua-1w9qs9v-hbvaqqvv1zrk\cgu-script-dom-bindings-codegen-Bindings-BluetoothCharacteristicPropertiesBinding-BluetoothCharacteristicPropertiesBinding.volatile.bc-compressed
:
exception from rmdirRecursive
Traceback (most recent call last):
File "c:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "c:\Python27\lib\threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "c:\Python27\lib\site-packages\twisted-16.1.1-py2.7-win-amd64.egg\twisted\_threads\_threadworker.py", line 46, in work
task()
File "c:\Python27\lib\site-packages\twisted-16.1.1-py2.7-win-amd64.egg\twisted\_threads\_team.py", line 190, in doWork
task()
--- <exception caught here> ---
File "c:\Python27\lib\site-packages\twisted-16.1.1-py2.7-win-amd64.egg\twisted\python\threadpool.py", line 246, in inContext
result = inContext.theWork()
File "c:\Python27\lib\site-packages\twisted-16.1.1-py2.7-win-amd64.egg\twisted\python\threadpool.py", line 262, in <lambda>
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File "c:\Python27\lib\site-packages\twisted-16.1.1-py2.7-win-amd64.egg\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "c:\Python27\lib\site-packages\twisted-16.1.1-py2.7-win-amd64.egg\twisted\python\context.py", line 81, in callWithContext
return func(*args,**kw)
File "c:\Python27\lib\site-packages\buildbot_slave-0.9.0b7-py2.7.egg\buildslave\commands\utils.py", line 92, in rmdirRecursive
rmdirRecursive(full_name)
File "c:\Python27\lib\site-packages\buildbot_slave-0.9.0b7-py2.7.egg\buildslave\commands\utils.py", line 92, in rmdirRecursive
rmdirRecursive(full_name)
File "c:\Python27\lib\site-packages\buildbot_slave-0.9.0b7-py2.7.egg\buildslave\commands\utils.py", line 92, in rmdirRecursive
rmdirRecursive(full_name)
File "c:\Python27\lib\site-packages\buildbot_slave-0.9.0b7-py2.7.egg\buildslave\commands\utils.py", line 92, in rmdirRecursive
rmdirRecursive(full_name)
File "c:\Python27\lib\site-packages\buildbot_slave-0.9.0b7-py2.7.egg\buildslave\commands\utils.py", line 92, in rmdirRecursive
rmdirRecursive(full_name)
File "c:\Python27\lib\site-packages\buildbot_slave-0.9.0b7-py2.7.egg\buildslave\commands\utils.py", line 87, in rmdirRecursive
os.chmod(full_name, 0o600)
exceptions.WindowsError: [Error 3] The system cannot find the path specified: u'c:\\buildbot\\slave\\windows-msvc-dev\\build\\target\\debug\\incremental\\script-1g52totqj6qac\\s-ex1p8h0sua-1w9qs9v-hbvaqqvv1zrk\\cgu-script-dom-bindings-codegen-Bindings-BluetoothCharacteristicPropertiesBinding-BluetoothCharacteristicPropertiesBinding.volatile.bc-compressed'
program finished with exit code -1
Could the file names be made to not contain full Rust paths? Maybe using a hash instead?