[
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