[ 
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

        

Reply via email to