-
Bug
-
Resolution: Fixed
-
Minor
-
Linux master
Windows 2008R2 x64 slave
I see that issue happening on long paths. A workaround was to use drive mapping in order to reduce the length but it doesn't solve the issue and we came to the limit of path shortening possibilities.
Here's a stacktrace from a Matrix job:
https://qa.nuxeo.org/jenkins/job/nuxeo-master-fullbuild-part2-distribution-multios/218/Slave=MULTIDB_WINDOWS
08:59:26 Building remotely on tweedledum in workspace C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS 08:59:26 Checkout:MULTIDB_WINDOWS / C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS - hudson.remoting.Channel@4a58a509:tweedledum 08:59:26 Using strategy: Default 08:59:26 Last Built Revision: Revision 3676821964588c85aa8b71e288c743c24edd00a3 (origin/master) 08:59:27 Cloning the remote Git repository 08:59:27 Cloning repository git://github.com/nuxeo/nuxeo-distribution.git 08:59:27 git --version 08:59:27 git version 1.7.6.msysgit.0 08:59:27 ERROR: Failed to clean the workspace 08:59:27 java.io.IOException: Unable to delete C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS\nuxeo-distribution-jboss\target\nuxeo-cap-5.7-SNAPSHOT-jboss\server\default\deploy\jbossws.sar\jbossws-management.war\META-INF\maven\org.jboss.ws.native\jbossws-native-management - files in dir: [C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS\nuxeo-distribution-jboss\target\nuxeo-cap-5.7-SNAPSHOT-jboss\server\default\deploy\jbossws.sar\jbossws-management.war\META-INF\maven\org.jboss.ws.native\jbossws-native-management\pom.properties, C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS\nuxeo-distribution-jboss\target\nuxeo-cap-5.7-SNAPSHOT-jboss\server\default\deploy\jbossws.sar\jbossws-management.war\META-INF\maven\org.jboss.ws.native\jbossws-native-management\pom.xml] 08:59:27 at hudson.Util.deleteFile(Util.java:238) 08:59:27 at hudson.Util.deleteRecursive(Util.java:289) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.FilePath$11.invoke(FilePath.java:910) 08:59:27 at hudson.FilePath$11.invoke(FilePath.java:908) 08:59:27 at hudson.FilePath.act(FilePath.java:842) 08:59:27 at hudson.FilePath.act(FilePath.java:824) 08:59:27 at hudson.FilePath.deleteRecursive(FilePath.java:908) 08:59:27 at hudson.plugins.git.GitAPI.clone(GitAPI.java:239) 08:59:27 at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1040) 08:59:27 at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:982) 08:59:27 at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2200) 08:59:27 at hudson.remoting.UserRequest.perform(UserRequest.java:118) 08:59:27 at hudson.remoting.UserRequest.perform(UserRequest.java:48) 08:59:27 at hudson.remoting.Request$2.run(Request.java:326) 08:59:27 at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 08:59:27 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 08:59:27 at java.util.concurrent.FutureTask.run(Unknown Source) 08:59:27 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 08:59:27 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 08:59:27 at hudson.remoting.Engine$1$1.run(Engine.java:60) 08:59:27 at java.lang.Thread.run(Unknown Source) 08:59:27 ERROR: Error cloning remote repo 'origin' : Failed to delete workspace 08:59:27 hudson.plugins.git.GitException: Failed to delete workspace 08:59:27 at hudson.plugins.git.GitAPI.clone(GitAPI.java:242) 08:59:27 at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1040) 08:59:27 at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:982) 08:59:27 at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2200) 08:59:27 at hudson.remoting.UserRequest.perform(UserRequest.java:118) 08:59:27 at hudson.remoting.UserRequest.perform(UserRequest.java:48) 08:59:27 at hudson.remoting.Request$2.run(Request.java:326) 08:59:27 at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 08:59:27 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 08:59:27 at java.util.concurrent.FutureTask.run(Unknown Source) 08:59:27 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 08:59:27 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 08:59:27 at hudson.remoting.Engine$1$1.run(Engine.java:60) 08:59:27 at java.lang.Thread.run(Unknown Source) 08:59:27 Caused by: java.io.IOException: Unable to delete C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS\nuxeo-distribution-jboss\target\nuxeo-cap-5.7-SNAPSHOT-jboss\server\default\deploy\jbossws.sar\jbossws-management.war\META-INF\maven\org.jboss.ws.native\jbossws-native-management - files in dir: [C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS\nuxeo-distribution-jboss\target\nuxeo-cap-5.7-SNAPSHOT-jboss\server\default\deploy\jbossws.sar\jbossws-management.war\META-INF\maven\org.jboss.ws.native\jbossws-native-management\pom.properties, C:\Jenkins\workspace\nuxeo-master-fullbuild-part2-distribution-multios\Slave\MULTIDB_WINDOWS\nuxeo-distribution-jboss\target\nuxeo-cap-5.7-SNAPSHOT-jboss\server\default\deploy\jbossws.sar\jbossws-management.war\META-INF\maven\org.jboss.ws.native\jbossws-native-management\pom.xml] 08:59:27 at hudson.Util.deleteFile(Util.java:238) 08:59:27 at hudson.Util.deleteRecursive(Util.java:289) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.Util.deleteContentsRecursive(Util.java:200) 08:59:27 at hudson.Util.deleteRecursive(Util.java:280) 08:59:27 at hudson.FilePath$11.invoke(FilePath.java:910) 08:59:27 at hudson.FilePath$11.invoke(FilePath.java:908) 08:59:27 at hudson.FilePath.act(FilePath.java:842) 08:59:27 at hudson.FilePath.act(FilePath.java:824) 08:59:27 at hudson.FilePath.deleteRecursive(FilePath.java:908) 08:59:27 at hudson.plugins.git.GitAPI.clone(GitAPI.java:239) 08:59:27 ... 13 more 08:59:27 Trying next repository 08:59:27 ERROR: Could not clone repository 08:59:27 FATAL: Could not clone 08:59:27 hudson.plugins.git.GitException: Could not clone 08:59:27 at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1052) 08:59:27 at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:982) 08:59:27 at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2200) 08:59:27 at hudson.remoting.UserRequest.perform(UserRequest.java:118) 08:59:27 at hudson.remoting.UserRequest.perform(UserRequest.java:48) 08:59:27 at hudson.remoting.Request$2.run(Request.java:326) 08:59:27 at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 08:59:27 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 08:59:27 at java.util.concurrent.FutureTask.run(Unknown Source) 08:59:27 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 08:59:27 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 08:59:27 at hudson.remoting.Engine$1$1.run(Engine.java:60) 08:59:27 at java.lang.Thread.run(Unknown Source)
It is still possible to manually delete the files.
FYI, we encountered such a seemingly similar issue in a Python script using Python internal delTree implementation, and it has been resolved by using Windows Shell command: "rmdir /s /q path/to/file" instead.
Using a matrix job is increasing the path length.
We would also need to use a different workspace path when under Windows.
- is duplicated by
-
JENKINS-14808 IOException: Unable to delete <FileName> on Windows Slaves
- Resolved