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

EnvInjectException: remote file operation failed

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Not A Defect
    • Component/s: core, envinject-plugin
    • Labels:
      None
    • Environment:
      Jenkins ver. 2.73.1; EnvInject API Plugin 1.2; Linux master, Windows slave
    • Similar Issues:

      Description

      This error happens right after starting the job.

      Started by user 
        [EnvInject] - Loading node environment variables.
       ERROR: SEVERE ERROR occurs
       org.jenkinsci.lib.envinject.EnvInjectException: java.io.IOException: remote file operation failed: C:\Program Files\Java\jre1.8.0_91 at hudson.remoting.Channel@2f4af34f:Management VPC Slave: Windows (sir-rvhi7z8q): java.io.IOException: Unable to delete 'C:\Program Files\Java\jre1.8.0_91\bin\awt.dll'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts.
       at org.jenkinsci.plugins.envinject.util.RunHelper.getBuildVariables(RunHelper.java:137)
       at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironmentWithoutJobPropertyObject(EnvInjectListener.java:236)
       at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:50)
       at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.java:534)
       at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:454)
       at hudson.model.Run.execute(Run.java:1737)
       at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
       at hudson.model.ResourceController.execute(ResourceController.java:97)
       at hudson.model.Executor.run(Executor.java:419)
       Caused by: java.io.IOException: remote file operation failed: C:\Program Files\Java\jre1.8.0_91 at hudson.remoting.Channel@2f4af34f:Management VPC Slave: Windows (sir-rvhi7z8q): java.io.IOException: Unable to delete 'C:\Program Files\Java\jre1.8.0_91\bin\awt.dll'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts.
       at hudson.FilePath.act(FilePath.java:994)
       at hudson.FilePath.act(FilePath.java:976)
       at hudson.FilePath.deleteRecursive(FilePath.java:1178)
       at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:135)
       at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:72)
       at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:109)
       at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:206)
       at hudson.model.JDK.forNode(JDK.java:144)
       at org.jenkinsci.plugins.envinject.util.RunHelper.getJDKVariables(RunHelper.java:111)
       at org.jenkinsci.plugins.envinject.util.RunHelper.getBuildVariables(RunHelper.java:135)
       ... 8 more
       Caused by: java.io.IOException: Unable to delete 'C:\Program Files\Java\jre1.8.0_91\bin\awt.dll'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts.
       at hudson.Util.deleteFile(Util.java:250)
       at hudson.FilePath.deleteRecursive(FilePath.java:1211)
       at hudson.FilePath.deleteContentsRecursive(FilePath.java:1220)
       at hudson.FilePath.deleteRecursive(FilePath.java:1202)
       at hudson.FilePath.deleteContentsRecursive(FilePath.java:1220)
       at hudson.FilePath.deleteRecursive(FilePath.java:1202)
       at hudson.FilePath.access$1000(FilePath.java:197)
       at hudson.FilePath$14.invoke(FilePath.java:1181)
       at hudson.FilePath$14.invoke(FilePath.java:1178)
       at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2750)
       at hudson.remoting.UserRequest.perform(UserRequest.java:181)
       at hudson.remoting.UserRequest.perform(UserRequest.java:52)
       at hudson.remoting.Request$2.run(Request.java:336)
       at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
       at java.util.concurrent.FutureTask.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)
       at ......remote call to Management VPC Slave: Windows (sir-rvhi7z8q)(Native Method)
       at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1554)
       at hudson.remoting.UserResponse.retrieve(UserRequest.java:281)
       at hudson.remoting.Channel.call(Channel.java:839)
       at hudson.FilePath.act(FilePath.java:987)
       ... 17 more
       Caused by: java.nio.file.AccessDeniedException: C:\Program Files\Java\jre1.8.0_91\bin\awt.dll
       at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
       at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
       at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
       at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
       at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown Source)
       at java.nio.file.Files.deleteIfExists(Unknown Source)
       at hudson.Util.tryOnceDeleteFile(Util.java:290)
       at hudson.Util.deleteFile(Util.java:245)
       at hudson.FilePath.deleteRecursive(FilePath.java:1211)
       at hudson.FilePath.deleteContentsRecursive(FilePath.java:1220)
       at hudson.FilePath.deleteRecursive(FilePath.java:1202)
       at hudson.FilePath.deleteContentsRecursive(FilePath.java:1220)
       at hudson.FilePath.deleteRecursive(FilePath.java:1202)
       at hudson.FilePath.access$1000(FilePath.java:197)
       at hudson.FilePath$14.invoke(FilePath.java:1181)
       at hudson.FilePath$14.invoke(FilePath.java:1178)
       at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2750)
       at hudson.remoting.UserRequest.perform(UserRequest.java:181)
       at hudson.remoting.UserRequest.perform(UserRequest.java:52)
       at hudson.remoting.Request$2.run(Request.java:336)
       at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
       at java.util.concurrent.FutureTask.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)

        Attachments

          Activity

          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          Nothing to do with EnvInject IMHO. The plugin just tries to get the build environment for the internal logic

          Please provide configuration of your JDK tools in Jenkins. I'd guess one of them has tool installer enabled and specifies System Java installation as a target destination.

          Show
          oleg_nenashev Oleg Nenashev added a comment - Nothing to do with EnvInject IMHO. The plugin just tries to get the build environment for the internal logic Please provide configuration of your JDK tools in Jenkins. I'd guess one of them has tool installer enabled and specifies System Java installation as a target destination.
          Hide
          kenorb kenorb added a comment - - edited

          Thanks for your help. As for workaround I've disabled Install automatically option in Global Tool Configuration (/configureTools/) for the given JDK which was selected in that job as Java was already installed on the Windows slave so there was no need. Another workaround would be to choose different JDK in the job config (the one which works). It seems when JDK Install automatically option was enabled, it was trying to install JDK despite it was already installed and some other Java process running in the background was preventing the removal of the files due to being used. So it was not the problem with actual plugin.

          Show
          kenorb kenorb added a comment - - edited Thanks for your help. As for workaround I've disabled Install automatically option in Global Tool Configuration (/configureTools/) for the given JDK which was selected in that job as Java was already installed on the Windows slave so there was no need. Another workaround would be to choose different JDK in the job config (the one which works). It seems when JDK Install automatically option was enabled, it was trying to install JDK despite it was already installed and some other Java process running in the background was preventing the removal of the files due to being used. So it was not the problem with actual plugin.

            People

            • Assignee:
              oleg_nenashev Oleg Nenashev
              Reporter:
              kenorb kenorb
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: