[ 
https://issues.jenkins-ci.org/browse/JENKINS-13202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=161537#comment-161537
 ] 

Nick Parrish commented on JENKINS-13202:
----------------------------------------

This might be related to JENKINS-13280.
                
> 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