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

java.lang.ClassNotFoundException leads to LinkerError on remote agent with jdk9

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • core

      Agents launched under openjdk9 appear to be incompatible with masters running openjdk 7 or 8.

      At the end of a Execute Shell step, an exception is thrown in what appears to be the process cleanup code. In the example below, the Execute Shell indicated a failure, but the issue occurs even if Execute Shell succeeds.

      <... normal test execution...>
      Build step 'Execute shell' marked build as failure
      FATAL: Remote call on <redacted remote name> failed
      java.io.IOException: Remote call on <redacted remote name> failed
      at hudson.remoting.Channel.call(Channel.java:789)
      at hudson.Launcher$RemoteLauncher.kill(Launcher.java:953)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:540)
      at hudson.model.Run.execute(Run.java:1738)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:98)
      at hudson.model.Executor.run(Executor.java:410)
      Caused by: java.lang.LinkageError
      at hudson.util.ProcessTree$UnixReflection.<clinit>(ProcessTree.java:634)
      at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:571)
      at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:592)
      at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:513)
      at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:965)
      at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:956)
      at hudson.remoting.UserRequest.perform(UserRequest.java:120)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:332)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632)
      at java.lang.Thread.run(Thread.java:804)
      at ......remote call to <redacted remote name>(Native Method)
      at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
      at hudson.remoting.Channel.call(Channel.java:781)
      ... 6 more
      Caused by: java.lang.ClassNotFoundException: Classloading from system classloader disabled
      at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch4(RemoteClassLoader.java:770)
      at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch3(RemoteClassLoader.java:803)
      at sun.reflect.GeneratedMethodAccessor10261.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:608)
      at hudson.remoting.Request$2.run(Request.java:332)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:18)
      at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
      at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      at ......remote call to channel(Native Method)
      at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      at hudson.remoting.Request.call(Request.java:172)
      at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:253)
      at com.sun.proxy.$Proxy6.fetch3(Unknown Source)
      at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:171)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:486)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:294)
      at hudson.util.ProcessTree$UnixReflection.<clinit>(ProcessTree.java:623)
      at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:571)
      at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:592)
      at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:513)
      at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:965)
      at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:956)
      at hudson.remoting.UserRequest.perform(UserRequest.java:120)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:332)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632)
      at java.lang.Thread.run(Thread.java:804)
      Sending e-mails to: redacted@redacted
      Finished: FAILURE

            Unassigned Unassigned
            nate_gallaher_tri Nate Gallaher
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: