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

SEVERE PluginManager fails to extract, operation not permitted

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core
    • None
    • OpenShift platform with AzureFile storage class

      similarly to JENKINS-52690

      Jenkins makes uses of Files.setLastModifiedTime, which only works if the user creating the file actually owns the file.

      CIFS storage class are mounted with dir_mode=0777 and gid=0 and uid=0, but the workload on OpenShift will run with a random uid (so user 1000001 will create a file, and the file will be owned by root:root and other+rwx rights. That user is able to read and write and create files but cannot change the time)

      the first call that impacts us (but there are probably others)

      https://github.com/jenkinsci/jenkins/blob/01c42a3dca39592e20f728ea8f19c67484004d07/core/src/main/java/hudson/PluginManager.java#L1086

      Files.setLastModifiedTime errors should not be fatal

      2023-12-21 08:04:34.922+0000 [id=29]    SEVERE  hudson.PluginManager#loadPluginsFromWar: Failed to extract the bundled plugin s.hpi
      java.nio.file.FileSystemException: /jenkins/plugins/s.jpi: Operation not permitted
              at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
              at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
              at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
              at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.setTimes(UnixFileAttributeViews.java:125)
              at java.base/java.nio.file.Files.setLastModifiedTime(Files.java:2355)
              at hudson.PluginManager.copyBundledPlugin(PluginManager.java:1083)
              at hudson.PluginManager.loadPluginsFromWar(PluginManager.java:674)
              at hudson.PluginManager.considerDetachedPlugin(PluginManager.java:622)
              at hudson.ClassicPluginStrategy.fix(ClassicPluginStrategy.java:263)
              at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:236)
              at hudson.PluginManager$1$3$1.run(PluginManager.java:442)
              at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
              at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
              at jenkins.model.Jenkins$5.runTask(Jenkins.java:1173)
              at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
              at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
              at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at java.base/java.lang.Thread.run(Thread.java:829)
      

            Unassigned Unassigned
            frigo_ Francois
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: