Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-52325

Archiving artifacts fails if jenkins is not owner of builds dir

    Details

    • Similar Issues:

      Description

      In our setup the builds dir is a symlink to a network filesystem, hence Jenkins user has write permissions but is not owner of that directory.  When trying to archive artifacts following error occurs:

      java.nio.file.FileSystemException: /var/lib/jenkins/jobs/GeoGebra-autotest/builds/17371/archive/desktop/build/install/desktop/lib/impl.jar: Operation not permitted
      13:29:38 	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
      13:29:38 	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
      13:29:38 	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
      13:29:38 	at sun.nio.fs.UnixCopyFile.copyFile(UnixCopyFile.java:283)
      13:29:38 	at sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:581)
      13:29:38 	at sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:253)
      13:29:38 	at java.nio.file.Files.copy(Files.java:1274)
      13:29:38 	at hudson.FilePath$31$1.visit(FilePath.java:2301)
      13:29:38 	at hudson.util.DirScanner.scanSingle(DirScanner.java:44)
      13:29:38 	at hudson.FilePath$ExplicitlySpecifiedDirScanner.scan(FilePath.java:2996)
      13:29:38 	at hudson.FilePath$31.invoke(FilePath.java:2295)
      13:29:38 	at hudson.FilePath$31.invoke(FilePath.java:2288)
      13:29:38 	at hudson.FilePath.act(FilePath.java:1047)
      13:29:38 	at hudson.FilePath.act(FilePath.java:1025) 

      This is a regression between 2.107.3 and 2.121. Problem is that FilePath.copyRecursiveTo (https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/FilePath.java ) is now using 

      Files.copy(fileToPath(f), fileToPath(writing(target)),                                StandardCopyOption.COPY_ATTRIBUTES, StandardCopyOption.REPLACE_EXISTING); 

      and the COPY_ATTRIBUTES flag does triggers the "operation not permitted" error (timestamp can't be changed in directory not owned by jenkins).

        Attachments

          Issue Links

            Activity

            Hide
            jvz Matt Sicker added a comment -

            Fix has been merged to master and will be in the next weekly release.

            https://github.com/jenkinsci/jenkins/pull/3537

            Show
            jvz Matt Sicker added a comment - Fix has been merged to master and will be in the next weekly release. https://github.com/jenkinsci/jenkins/pull/3537
            Hide
            patrick_t80 Patrick Trabocchi added a comment -

            Sorry to reopen this bug, but this problem is still present in LTS branch.

            I've installed the last LTS version (2.164.3) on a virtualized Ubuntu (18.04.2) machine hosted on a Windows 10 machine. But when parent job has finished successfully, and the copy artifact plugin execute its work, the builded artifact is copied correctly but the console output the error.

            Show
            patrick_t80 Patrick Trabocchi added a comment - Sorry to reopen this bug, but this problem is still present in LTS branch. I've installed the last LTS version (2.164.3) on a virtualized Ubuntu (18.04.2) machine hosted on a Windows 10 machine. But when parent job has finished successfully, and the copy artifact plugin execute its work, the builded artifact is copied correctly but the console output the error.
            Hide
            jvz Matt Sicker added a comment -

            Can you submit a unit test that reproduces the issue?

            Show
            jvz Matt Sicker added a comment - Can you submit a unit test that reproduces the issue?
            Hide
            patrick_t80 Patrick Trabocchi added a comment -

            Matt Sicker, sincerely i don't know how to create a unit test that reproduce this bug, if you want i can attach the output console stacktrace, and the configured shared folder between host and guest.

            Show
            patrick_t80 Patrick Trabocchi added a comment - Matt Sicker , sincerely i don't know how to create a unit test that reproduce this bug, if you want i can attach the output console stacktrace, and the configured shared folder between host and guest.

              People

              • Assignee:
                jvz Matt Sicker
                Reporter:
                zbynek Zbynek Konecny
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: