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

Jenkins Remote: Missing dependency "servlet-api"

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • remoting
    • Jenkins LTS 2.222.4 on Windows Server 2019
      Adopt Open JRE 1.8.0_252-b09 with UTF-8 (file.encoding and sun.jnu.encoding)

      Appropriate Jenkins "agent.jar" on Windows 8.1-(non English: German)

      After my build steps are completet on my Windows-Jekins-Agent i got this exception:

             Can't find bundle for base name javax.servlet.LocalStrings, locale de_DE

       Hope this helps to fix this problem, let me know if you need more information.

       
      {{}}

      FATAL: Remote call on JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 failed
       java.util.zip.ZipException: zip END header not found
       at java.util.zip.ZipFile$Source.zerror(Unknown Source)
       at java.util.zip.ZipFile$Source.findEND(Unknown Source)
       at java.util.zip.ZipFile$Source.initCEN(Unknown Source)
       at java.util.zip.ZipFile$Source.<init>(Unknown Source)
       at java.util.zip.ZipFile$Source.get(Unknown Source)
       at java.util.zip.ZipFile$CleanableResource.<init>(Unknown Source)
       at java.util.zip.ZipFile$CleanableResource$FinalizableResource.<init>(Unknown Source)
       at java.util.zip.ZipFile$CleanableResource.get(Unknown Source)
       at java.util.zip.ZipFile.<init>(Unknown Source)
       at java.util.zip.ZipFile.<init>(Unknown Source)
       at java.util.jar.JarFile.<init>(Unknown Source)
       at sun.net.www.protocol.jar.URLJarFile.<init>(Unknown Source)
       at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
       at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
       at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
       at sun.net.www.protocol.jar.JarURLConnection.getInputStream(Unknown Source)
       at java.util.ResourceBundle$Control$1.run(Unknown Source)
       at java.util.ResourceBundle$Control$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Unknown Source)
       at java.util.ResourceBundle$Control.newBundle(Unknown Source)
       at java.util.ResourceBundle.loadBundle(Unknown Source)
       at java.util.ResourceBundle.findBundle(Unknown Source)
       at java.util.ResourceBundle.findBundle(Unknown Source)
       at java.util.ResourceBundle.findBundle(Unknown Source)
       Caused: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale de_DE
       at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
       at java.util.ResourceBundle.getBundleImpl(Unknown Source)
       at java.util.ResourceBundle.getBundleImpl(Unknown Source)
       at java.util.ResourceBundle.getBundleImpl(Unknown Source)
       at java.util.ResourceBundle.getBundle(Unknown Source)
       at javax.servlet.GenericServlet.<clinit>(GenericServlet.java:95)
       Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161
       at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)
       at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
       at hudson.remoting.Channel.call(Channel.java:998)
       at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1083)
       at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
       at hudson.model.Run.execute(Run.java:1856)
       at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
       at hudson.model.ResourceController.execute(ResourceController.java:97)
       at hudson.model.Executor.run(Executor.java:428)
       Caused: java.lang.ExceptionInInitializerError
       at java.lang.J9VMInternals.ensureError(Unknown Source)
       at java.lang.J9VMInternals.recordInitializationFailure(Unknown Source)
       at hudson.model.Node$Mode.<clinit>(Node.java:604)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at java.lang.Class.getEnumConstantsShared(Unknown Source)
       at java.lang.Class.getEnumConstants(Unknown Source)
       at jenkins.model.***.<clinit>(***.java:5338)
       at hudson.model.Computer.<clinit>(Computer.java:1803)
       at hudson.util.ProcessTree.get(ProcessTree.java:432)
       at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1100)
       at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1091)
       at hudson.remoting.UserRequest.perform(UserRequest.java:211)
       at hudson.remoting.UserRequest.perform(UserRequest.java:54)
       at hudson.remoting.Request$2.run(Request.java:369)
       at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
       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 hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:117)
       at hudson.remoting.Engine$1$$Lambda$53/0000000000000000.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)
       Caused: java.io.IOException: Remote call on JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 failed
       at hudson.remoting.Channel.call(Channel.java:1004)
       at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1083)
       at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
       at hudson.model.Run.execute(Run.java:1856)
       at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
       at hudson.model.ResourceController.execute(ResourceController.java:97)
       at hudson.model.Executor.run(Executor.java:428)

        1. config-Job-A.xml
          4 kB
        2. config-Job-B.xml
          1 kB
        3. JobA.png
          JobA.png
          199 kB
        4. JobB.png
          JobB.png
          142 kB
        5. Node.jpg
          Node.jpg
          79 kB
        6. remoting.zip.001
          10.00 MB
        7. remoting.zip.002
          10.00 MB
        8. remoting.zip.003
          708 kB

          [JENKINS-62598] Jenkins Remote: Missing dependency "servlet-api"

          Martin Bauer added a comment - - edited

          I have tested it with Java 8 and java 11 on the agent machine > Same exception.
          Also the Windows version doesn't matter for this bug as long as it is a non-English version.

          But i found a workaround:

          You need to activate "Disable WorkDir" in your Node Configuration (legacy mode) and you must not specify a workdir when calling agent.jar.
          After that, the code location that caused the error is no longer called and the remote job can be completed

          Martin Bauer added a comment - - edited I have tested it with Java 8 and java 11 on the agent machine > Same exception. Also the Windows version doesn't matter for this bug as long as it is a non-English version. But i found a workaround: You need to activate "Disable WorkDir" in your Node Configuration (legacy mode) and you must not specify a workdir when calling agent.jar. After that, the code location that caused the error is no longer called and the remote job can be completed

          Jeff Thompson added a comment -

          This is an interesting behavior. And the workaround is unusual. I don't know what is going on and it doesn't make much sense.

          Are you able to reproduce the situation with a very simple job on a very simple Jenkins installation?

          A lot of times things like this result from weird plugin interactions of job behaviors.

          Jeff Thompson added a comment - This is an interesting behavior. And the workaround is unusual. I don't know what is going on and it doesn't make much sense. Are you able to reproduce the situation with a very simple job on a very simple Jenkins installation? A lot of times things like this result from weird plugin interactions of job behaviors.

          Jeff Thompson added a comment -

          [Editorial comment: Please note that the Jenkins project has moved to the term "agent" for remote nodes, deprecating earlier terms. We are in the process of cleaning up old usages. Please update your usage to the accepted terms.]

          Jeff Thompson added a comment - [Editorial comment: Please note that the Jenkins project has moved to the term "agent" for remote nodes, deprecating earlier terms. We are in the process of cleaning up old usages. Please update your usage to the accepted terms.]

          Martin Bauer added a comment -

          Thanks for your answer.

          I tried for a really long time today to build up a comprehensible example as simple as possible, but I did not succeed.
          In fact, I am no longer able to reproduce the error in our productive system.

          I don't really know what happened because the error was constant even after several runs.
          My best explanation is a restart of our Jenkins service that had taken place in the meantime.

          Since it looks like I can't reproduce the bug anymore I will close the ticket.

          Thank you for your work on Jenkins

          Martin Bauer added a comment - Thanks for your answer. I tried for a really long time today to build up a comprehensible example as simple as possible, but I did not succeed. In fact, I am no longer able to reproduce the error in our productive system. I don't really know what happened because the error was constant even after several runs. My best explanation is a restart of our Jenkins service that had taken place in the meantime. Since it looks like I can't reproduce the bug anymore I will close the ticket. Thank you for your work on Jenkins

          Martin Bauer added a comment -

          My last try that run over night with our full buildchain was able to reproduce the error.
          I tried to simplify as much as possible

          Job A:
           Build-step:
            1)Powershell: Start Hyper-V VM ( which  connect as Node to Jenkins Master on boot with "java -jar agent.jar -jnlpUrl ... -workDir C:\" )
            2) Start job B which can only run on the node and wait for completion of JobB
           Postbuild: Powershell: Stop VM

          Job B doesn't need to do anything, just an empty job

           

          Started by upstream project "JobA"
          Running as SYSTEM
          [EnvInject] - Loading node environment variables.
           Building remotely on Test-Win8 in workspace C:\workspace\Service\jobB
           FATAL: Remote call on JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 failed
           java.util.zip.ZipException: zip END header not found
           at java.util.zip.ZipFile$Source.zerror(Unknown Source)
           at java.util.zip.ZipFile$Source.findEND(Unknown Source)
           at java.util.zip.ZipFile$Source.initCEN(Unknown Source)
           at java.util.zip.ZipFile$Source.<init>(Unknown Source)
           at java.util.zip.ZipFile$Source.get(Unknown Source)
           at java.util.zip.ZipFile$CleanableResource.<init>(Unknown Source)
           at java.util.zip.ZipFile$CleanableResource$FinalizableResource.<init>(Unknown Source)
           at java.util.zip.ZipFile$CleanableResource.get(Unknown Source)
           at java.util.zip.ZipFile.<init>(Unknown Source)
           at java.util.zip.ZipFile.<init>(Unknown Source)
           at java.util.jar.JarFile.<init>(Unknown Source)
           at sun.net.www.protocol.jar.URLJarFile.<init>(Unknown Source)
           at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
           at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
           at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
           at sun.net.www.protocol.jar.JarURLConnection.getInputStream(Unknown Source)
           at java.util.ResourceBundle$Control$1.run(Unknown Source)
           at java.util.ResourceBundle$Control$1.run(Unknown Source)
           at java.security.AccessController.doPrivileged(Unknown Source)
           at java.util.ResourceBundle$Control.newBundle(Unknown Source)
           at java.util.ResourceBundle.loadBundle(Unknown Source)
           at java.util.ResourceBundle.findBundle(Unknown Source)
           at java.util.ResourceBundle.findBundle(Unknown Source)
           at java.util.ResourceBundle.findBundle(Unknown Source)
           Caused: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale de_DE
           at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
           at java.util.ResourceBundle.getBundleImpl(Unknown Source)
           at java.util.ResourceBundle.getBundleImpl(Unknown Source)
           at java.util.ResourceBundle.getBundleImpl(Unknown Source)
           at java.util.ResourceBundle.getBundle(Unknown Source)
           at javax.servlet.GenericServlet.<clinit>(GenericServlet.java:95)
           Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161
           at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)
           at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
           at hudson.remoting.Channel.call(Channel.java:998)
           at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1083)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
           at hudson.model.Run.execute(Run.java:1856)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:428)
           Caused: java.lang.ExceptionInInitializerError
           at java.lang.J9VMInternals.ensureError(Unknown Source)
           at java.lang.J9VMInternals.recordInitializationFailure(Unknown Source)
           at hudson.model.Node$Mode.<clinit>(Node.java:604)
           at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at java.lang.Class.getEnumConstantsShared(Unknown Source)
           at java.lang.Class.getEnumConstants(Unknown Source)
           at jenkins.model.Jenkins.<clinit>(Jenkins.java:5338)
           at hudson.model.Computer.<clinit>(Computer.java:1803)
           at hudson.util.ProcessTree.get(ProcessTree.java:432)
           at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1100)
           at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1091)
           at hudson.remoting.UserRequest.perform(UserRequest.java:211)
           at hudson.remoting.UserRequest.perform(UserRequest.java:54)
           at hudson.remoting.Request$2.run(Request.java:369)
           at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
           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 hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:117)
           at hudson.remoting.Engine$1$$Lambda$53/0000000000000000.run(Unknown Source)
           at java.lang.Thread.run(Unknown Source)
           Caused: java.io.IOException: Remote call on JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 failed
           at hudson.remoting.Channel.call(Channel.java:1004)
           at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1083)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
           at hudson.model.Run.execute(Run.java:1856)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:428)
           Finished: FAILURE

           

          But every second run i got this output:

          Started by upstream project "JobA"
           Running as SYSTEM
          [EnvInject] - Loading node environment variables.
           FATAL: java.nio.channels.ClosedChannelException
           java.nio.channels.ClosedChannelException
           Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161
           at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)
           at hudson.remoting.Request.call(Request.java:202)
           at hudson.remoting.Channel.call(Channel.java:997)
           at hudson.FilePath.act(FilePath.java:1159)
           at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvVarsForNode(EnvironmentVariablesNodeLoader.java:61)
           at org.jenkinsci.plugins.envinject.EnvInjectListener.loadEnvironmentVariablesNode(EnvInjectListener.java:78)
           at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:42)
           at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.java:542)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:462)
           at hudson.model.Run.execute(Run.java:1856)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:428)
           Caused: hudson.remoting.RequestAbortedException
           at hudson.remoting.Request.abort(Request.java:340)
           at hudson.remoting.Channel.terminate(Channel.java:1081)
           at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onReadClosed(ChannelApplicationLayer.java:209)
           at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecvClosed(ApplicationLayer.java:221)
           at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:816)
           at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.java:287)
           at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClosed(SSLEngineFilterLayer.java:172)
           at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:816)
           at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
           at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:179)
           at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:795)
           at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
           at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
           at java.lang.Thread.run(Thread.java:748)
           Finished: FAILURE

          I do not use the plugin EnvInject inside JobA or B.

          I add configuration from JobA und B  as an attachment

          Martin Bauer added a comment - My last try that run over night with our full buildchain was able to reproduce the error. I tried to simplify as much as possible Job A:  Build-step:   1)Powershell: Start Hyper-V VM ( which  connect as Node to Jenkins Master on boot with "java -jar agent.jar  -jnlpUrl ... -workDir C:\" )   2) Start job B which can only run on the node and wait for completion of JobB  Postbuild: Powershell: Stop VM Job B doesn't need to do anything, just an empty job   Started by upstream project "JobA" Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on Test-Win8 in workspace C:\workspace\Service\jobB FATAL: Remote call on JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 failed java.util.zip.ZipException: zip END header not found at java.util.zip.ZipFile$Source.zerror(Unknown Source) at java.util.zip.ZipFile$Source.findEND(Unknown Source) at java.util.zip.ZipFile$Source.initCEN(Unknown Source) at java.util.zip.ZipFile$Source.<init>(Unknown Source) at java.util.zip.ZipFile$Source.get(Unknown Source) at java.util.zip.ZipFile$CleanableResource.<init>(Unknown Source) at java.util.zip.ZipFile$CleanableResource$FinalizableResource.<init>(Unknown Source) at java.util.zip.ZipFile$CleanableResource.get(Unknown Source) at java.util.zip.ZipFile.<init>(Unknown Source) at java.util.zip.ZipFile.<init>(Unknown Source) at java.util.jar.JarFile.<init>(Unknown Source) at sun.net.www.protocol.jar.URLJarFile.<init>(Unknown Source) at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source) at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source) at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source) at sun.net.www.protocol.jar.JarURLConnection.getInputStream(Unknown Source) at java.util.ResourceBundle$Control$1.run(Unknown Source) at java.util.ResourceBundle$Control$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Unknown Source) at java.util.ResourceBundle$Control.newBundle(Unknown Source) at java.util.ResourceBundle.loadBundle(Unknown Source) at java.util.ResourceBundle.findBundle(Unknown Source) at java.util.ResourceBundle.findBundle(Unknown Source) at java.util.ResourceBundle.findBundle(Unknown Source) Caused: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale de_DE at java.util.ResourceBundle.throwMissingResourceException(Unknown Source) at java.util.ResourceBundle.getBundleImpl(Unknown Source) at java.util.ResourceBundle.getBundleImpl(Unknown Source) at java.util.ResourceBundle.getBundleImpl(Unknown Source) at java.util.ResourceBundle.getBundle(Unknown Source) at javax.servlet.GenericServlet.<clinit>(GenericServlet.java:95) Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788) at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) at hudson.remoting.Channel.call(Channel.java:998) at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1083) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510) at hudson.model.Run.execute(Run.java:1856) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:428) Caused: java.lang.ExceptionInInitializerError at java.lang.J9VMInternals.ensureError(Unknown Source) at java.lang.J9VMInternals.recordInitializationFailure(Unknown Source) at hudson.model.Node$Mode.<clinit>(Node.java:604) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at java.lang. Class .getEnumConstantsShared(Unknown Source) at java.lang. Class .getEnumConstants(Unknown Source) at jenkins.model.Jenkins.<clinit>(Jenkins.java:5338) at hudson.model.Computer.<clinit>(Computer.java:1803) at hudson.util.ProcessTree.get(ProcessTree.java:432) at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1100) at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1091) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 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 hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:117) at hudson.remoting.Engine$1$$Lambda$53/0000000000000000.run(Unknown Source) at java.lang. Thread .run(Unknown Source) Caused: java.io.IOException: Remote call on JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 failed at hudson.remoting.Channel.call(Channel.java:1004) at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1083) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510) at hudson.model.Run.execute(Run.java:1856) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:428) Finished: FAILURE   But every second run i got this output: Started by upstream project "JobA" Running as SYSTEM [EnvInject] - Loading node environment variables. FATAL: java.nio.channels.ClosedChannelException java.nio.channels.ClosedChannelException Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 192.168.222.146/192.168.222.146:49161 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788) at hudson.remoting.Request.call(Request.java:202) at hudson.remoting.Channel.call(Channel.java:997) at hudson.FilePath.act(FilePath.java:1159) at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvVarsForNode(EnvironmentVariablesNodeLoader.java:61) at org.jenkinsci.plugins.envinject.EnvInjectListener.loadEnvironmentVariablesNode(EnvInjectListener.java:78) at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:42) at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.java:542) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:462) at hudson.model.Run.execute(Run.java:1856) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:428) Caused: hudson.remoting.RequestAbortedException at hudson.remoting.Request.abort(Request.java:340) at hudson.remoting.Channel.terminate(Channel.java:1081) at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onReadClosed(ChannelApplicationLayer.java:209) at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecvClosed(ApplicationLayer.java:221) at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:816) at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.java:287) at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClosed(SSLEngineFilterLayer.java:172) at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:816) at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154) at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:179) at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:795) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang. Thread .run( Thread .java:748) Finished: FAILURE I do not use the plugin EnvInject inside JobA or B. I add configuration from JobA und B  as an attachment

          Jeff Thompson added a comment -

          That's an interesting situation. The fact that it disappeared from the standard jobs on your production system suggests something based on the state of the system or the server. That's going to make it harder to troubleshoot.

          It's interesting that you were able to reproduce it on a smaller configuration, but only on every second run.

          You have enough aspects of your situation that it would take me a while to set up something like it to reproduce. I don't know when I would have time to set up that environment. If it were something that showed up enough on a simple environment I could reproduce I would have a higher chance of trying it out.

          Jeff Thompson added a comment - That's an interesting situation. The fact that it disappeared from the standard jobs on your production system suggests something based on the state of the system or the server. That's going to make it harder to troubleshoot. It's interesting that you were able to reproduce it on a smaller configuration, but only on every second run. You have enough aspects of your situation that it would take me a while to set up something like it to reproduce. I don't know when I would have time to set up that environment. If it were something that showed up enough on a simple environment I could reproduce I would have a higher chance of trying it out.

          Martin Bauer added a comment -

          I think I found the cause:

          When I delete the remoting folder on the agent, everything works as intended.
          This might explain why the "Disable WorkDir" option fixed it for me. It just didn't use the old jar cache under remoting anymore but created a new one somewhere else.
          With the corrupted jarCache, a completely empty job that run on the agent fails with the reported error.

          This made it so hard for me to reproduce this error because only in a special VM in a special snapshot is the corrupted jarCache.

          I don't know if it helps in any way but I added the remoting folder.

           

           

          Martin Bauer added a comment - I think I found the cause: When I delete the remoting folder on the agent, everything works as intended. This might explain why the "Disable WorkDir" option fixed it for me. It just didn't use the old jar cache under remoting anymore but created a new one somewhere else. With the corrupted jarCache, a completely empty job that run on the agent fails with the reported error. This made it so hard for me to reproduce this error because only in a special VM in a special snapshot is the corrupted jarCache. I don't know if it helps in any way but I added the remoting folder.    

          Jeff Thompson added a comment -

          So, something to do with completing the build, maybe something about cleaning up and closing down, and something about a corrupted jar cache. Hmm ... there are possibilities for a number of weird things going on there. I don't have any immediate ideas. Anything more you find to help pinpoint will be helpful. It's an interesting one.

          Jeff Thompson added a comment - So, something to do with completing the build, maybe something about cleaning up and closing down, and something about a corrupted jar cache. Hmm ... there are possibilities for a number of weird things going on there. I don't have any immediate ideas. Anything more you find to help pinpoint will be helpful. It's an interesting one.

          Martin Bauer added a comment -

          Sorry, I don't think I can provide more information
          I don`t know when and during which actions the cache got into this state.

          Martin Bauer added a comment - Sorry, I don't think I can provide more information I don`t know when and during which actions the cache got into this state.

            Unassigned Unassigned
            martinbauer Martin Bauer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: