[ https://issues.jenkins-ci.org/browse/JENKINS-13202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163493#comment-163493 ]
Stephen Morrison commented on JENKINS-13202: -------------------------------------------- I took the 1.468 snapshot jar (Jenkins ver. 1.468-SNAPSHOT (private-05/31/2012 01:16 GMT-jenkins)), and this appears to be broken still, just a bit further on. Still just on AIX and HP: hudson.util.IOException2: java.io.IOException: Cannot run program "readlink" (in directory "/u01/svxx/cbxxxn/jenkins/."): readlink: not found at hudson.FilePath.copyRecursiveTo(FilePath.java:1771) at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:116) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:709) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:684) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:631) at hudson.model.Run.execute(Run.java:1481) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:239) Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Cannot run program "readlink" (in directory "/u01/svxx/cbxxxn/jenkins/."): readlink: not found at hudson.remoting.Channel$3.adapt(Channel.java:679) at hudson.remoting.Channel$3.adapt(Channel.java:674) at hudson.remoting.FutureAdapter.get(FutureAdapter.java:55) at hudson.FilePath.copyRecursiveTo(FilePath.java:1769) ... 10 more Caused by: java.io.IOException: Cannot run program "readlink" (in directory "/u01/svxx/cbxxxn/jenkins/."): readlink: not found at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) at java.lang.Runtime.exec(Runtime.java:593) at org.jruby.ext.posix.util.ExecIt.run(ExecIt.java:61) at org.jruby.ext.posix.util.ExecIt.runAndWait(ExecIt.java:51) at org.jruby.ext.posix.JavaLibCHelper.readlink(JavaLibCHelper.java:196) at org.jruby.ext.posix.JavaPOSIX.readlink(JavaPOSIX.java:160) at hudson.Util.resolveSymlink(Util.java:1067) at hudson.util.DirScanner$Glob.scan(DirScanner.java:115) at hudson.FilePath.writeToTar(FilePath.java:1807) at hudson.FilePath.access$1000(FilePath.java:166) at hudson.FilePath$36.invoke(FilePath.java:1748) at hudson.FilePath$36.invoke(FilePath.java:1745) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2180) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:287) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.IOException: readlink: not found at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:102) at java.lang.ProcessImpl.start(ProcessImpl.java:65) at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) ... 21 more > Artifact archiving from an ssh slave fails if symlinks are present > ------------------------------------------------------------------ > > Key: JENKINS-13202 > URL: https://issues.jenkins-ci.org/browse/JENKINS-13202 > Project: Jenkins > Issue Type: Bug > Components: core > Affects Versions: current > Environment: Slave must be a "Unix via SSH" slave. I suspect the > master must be Unix-based also. I tested with both the master and slave on > Linux. > Reporter: David Reiss > Labels: artifact > > When archiving artifacts from a job executed on a "Unix via SSH" slave, if a > symlink is present and archived before its target, the archiving will fail. > It looks like the master is trying to chmod the local symlink (because it has > executable permissions stored in the tar used to do the remote copy), but > that fails because the target doesn't exist yet, and the exception aborts the > archiving. I think the solution is to just not chmod symlinks, since they > don't have modes of their own. This was a regression from 1.455 to 1.456. I > suspect the fixes for JENKINS-9118 are the cause. > To reproduce this problem, install the Jenkins master on a Linux machine and > add a "Unix via SSH" slave that is also a Linux machine. Create a job with > the following build script: > {noformat} > rm -rf stuff > mkdir stuff > cd stuff > touch zzfile > ln -s zzfile aafile > ln -s zzfile bbfile > {noformat} > Restrict this project to build on the slave. Set up archiving for "stuff/*". > Run the job. The job will complete successfully, but archiving will abort > partway though with a stack trace in the console. > {noformat} > Archiving artifacts > ERROR: Failed to archive artifacts: stuff/* > hudson.util.IOException2: Failed to extract > /tmp/jenkins-slave-home/workspace/create_symlinks/stuff/* > at hudson.FilePath.readFromTar(FilePath.java:1817) > at hudson.FilePath.copyRecursiveTo(FilePath.java:1729) > at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:116) > at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) > at > hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703) > at > hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678) > at > hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:656) > at hudson.model.Build$RunnerImpl.post2(Build.java:162) > at > hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625) > at hudson.model.Run.run(Run.java:1435) > at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) > at hudson.model.ResourceController.execute(ResourceController.java:88) > at hudson.model.Executor.run(Executor.java:238) > Caused by: java.io.IOException: Failed to chmod > /tmp/jenkins-home/jobs/create_symlinks/builds/2012-03-21_16-53-15/archive/stuff/aafile > : No such file or directory > at hudson.FilePath._chmod(FilePath.java:1248) > at hudson.FilePath.readFromTar(FilePath.java:1813) > ... 12 more > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira