Details
-
Improvement
-
Status: Resolved (View Workflow)
-
Major
-
Resolution: Fixed
Description
A user reports that Pipeline stash does not preserve the executable bit on 64-bit AIX, apparently due to a missing JNR port. Probably the same applies to any use of TarArchiver.
Since we now assume Java 7, we can use java.nio.file calls. In particular, making IOUtils.mode and FilePath._chmod use PosixFilePermission rather than JNR would be appropriate.
Attachments
Issue Links
- is blocked by
-
JENKINS-48453 java.nio.file.NoSuchFileException when materializing ServerKey
-
- Resolved
-
- is duplicated by
-
JENKINS-21985 java.lang.NoClassDefFoundError: jnr/posix/POSIXHandler
-
- Resolved
-
- is related to
-
JENKINS-25120 Failed to archive artifacts: *.tar.gz NoClassDefFoundError
-
- Open
-
-
JENKINS-39179 All builds hang, JNA load deadlock on Windows slave
-
- Open
-
-
JENKINS-37130 Could not initialize class JavaLibCHelper - ERROR: Error cloning remote repo 'origin'
-
- Closed
-
- relates to
-
JENKINS-26195 Failed to update permalink: unable to delete
-
- Open
-
-
JENKINS-34855 AtomicFileWriter isn't Atomic
-
- Resolved
-
-
JENKINS-12610 Util.deleteRecursive fails for files using unmappable characters
-
- Open
-
-
JENKINS-49184 executing shell in external workspace fails
-
- Open
-
-
JENKINS-48407 Permission issue after upgrade to 2.93
-
- Resolved
-
-
JENKINS-37862 Extract build symlink handling to a plugin
-
- Resolved
-
-
JENKINS-48405 Use NIO in Util.deleteFile for better error messages
-
- Resolved
-
-
JENKINS-47324 FilePath API in Jenkins should propagate errors
-
- Closed
-
- links to
This actually breaks the docker-commons plugin: when it tries to 'materialize' the credentials, it relies on a chmod() call to create a folder (seems this is the behavior of native API), which now leads to an exception:
15:38:55 java.nio.file.NoSuchFileException: /var/lib/jenkins/.docker/7d36d1a6-4917-4dc8-97b6-2babbb2ae3d7
15:38:55 at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
15:38:55 at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
15:38:55 at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
15:38:55 at sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:238)
15:38:55 at sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:260) 15:38:55 at java.nio.file.Files.setPosixFilePermissions(Files.java:2045)
15:38:55 at hudson.FilePath._chmod(FilePath.java:1618) 15:38:55 at hudson.FilePath.access$1500(FilePath.java:197)
15:38:55 at hudson.FilePath$29.invoke(FilePath.java:1600)
15:38:55 at hudson.FilePath$29.invoke(FilePath.java:1597)
15:38:55 at hudson.FilePath.act(FilePath.java:998)
15:38:55 at hudson.FilePath.act(FilePath.java:976)
15:38:55 at hudson.FilePath.chmod(FilePath.java:1597)
15:38:55 at org.jenkinsci.plugins.docker.commons.impl.ServerKeyMaterialFactory.materialize(ServerKeyMaterialFactory.java:86)
15:38:55 at org.jenkinsci.plugins.docker.commons.impl.CompositeKeyMaterialFactory.materialize(CompositeKeyMaterialFactory.java:69)
15:38:55 at org.jenkinsci.plugins.docker.commons.impl.CompositeKeyMaterialFactory.materialize(CompositeKeyMaterialFactory.java:69)
15:38:55 at com.cloudbees.dockerpublish.DockerBuilder$Perform.executeCmd(DockerBuilder.java:459)
15:38:55 at com.cloudbees.dockerpublish.DockerBuilder$Perform.executeCmd(DockerBuilder.java:431)
15:38:55 at com.cloudbees.dockerpublish.DockerBuilder$Perform.buildAndTag(DockerBuilder.java:373)
15:38:55 at com.cloudbees.dockerpublish.DockerBuilder$Perform.exec(DockerBuilder.java:311)
15:38:55 at com.cloudbees.dockerpublish.DockerBuilder$Perform.access$100(DockerBuilder.java:291)
15:38:55 at com.cloudbees.dockerpublish.DockerBuilder.perform(DockerBuilder.java:262)
15:38:55 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
15:38:55 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
15:38:55 at hudson.model.Build$BuildExecution.build(Build.java:206)
15:38:55 at hudson.model.Build$BuildExecution.doRun(Build.java:163)
15:38:55 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
15:38:55 at hudson.model.Run.execute(Run.java:1727)
15:38:55 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
15:38:55 at hudson.model.ResourceController.execute(ResourceController.java:97)
15:38:55 at hudson.model.Executor.run(Executor.java:429)
15:38:55 Build step 'Docker Build and Publish' marked build as failure