Hi guys,

I have a strange problem:
I have created a new plugin that provides a cloud implementation.

I create new nodes/computers and connect them using JNLP.

The first time a job runs on the newly created computer it fails with that 
log output:

```

FATAL: Remote call on JNLP4-connect connection from localhost/127.0.0.1:47026 
failed
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
JNLP4-connect connection to localhost/127.0.0.1:44145
                at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
                at hudson.remoting.Request.call(Request.java:202)
                at 
hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:286)
                at com.sun.proxy.$Proxy6.fetch(Unknown Source)
                at 
hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:315)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
                at hudson.util.ProcessTree.get(ProcessTree.java:399)
                at 
hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1090)
                at 
hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1081)
                at hudson.remoting.UserRequest.perform(UserRequest.java:212)
                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(FutureTask.java:266)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
java.lang.ClassNotFoundException: javax.servlet.ServletException
        at 
hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch(RemoteClassLoader.java:808)
        at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:929)
        at hudson.remoting.Request$2.run(Request.java:369)
        at 
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        at 
org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:19)
        at 
hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
        at 
jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
        at 
jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
JNLP4-connect connection from localhost/127.0.0.1:47026
                at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
                at 
hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
                at hudson.remoting.Channel.call(Channel.java:955)
                at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1078)
                at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
                at hudson.model.Run.execute(Run.java:1798)
                at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                at 
hudson.model.ResourceController.execute(ResourceController.java:97)
                at hudson.model.Executor.run(Executor.java:429)
Caused: java.lang.NoClassDefFoundError: javax/servlet/ServletException
        at hudson.util.ProcessTree.get(ProcessTree.java:399)
        at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1090)
        at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1081)
        at hudson.remoting.UserRequest.perform(UserRequest.java:212)
        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(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
        at java.lang.Thread.run(Thread.java:748)
Caused: java.io.IOException: Remote call on JNLP4-connect connection from 
localhost/127.0.0.1:47026 failed
        at hudson.remoting.Channel.call(Channel.java:961)
        at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1078)
        at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
        at hudson.model.Run.execute(Run.java:1798)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
FATAL: Remote call on JNLP4-connect connection from localhost/127.0.0.1:47026 
failed
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
JNLP4-connect connection to localhost/127.0.0.1:44145
                at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
                at hudson.remoting.Request.call(Request.java:202)
                at 
hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:286)
                at com.sun.proxy.$Proxy6.fetch(Unknown Source)
                at 
hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:315)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
                at hudson.util.ProcessTree.get(ProcessTree.java:399)
                at 
hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1090)
                at 
hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1081)
                at hudson.remoting.UserRequest.perform(UserRequest.java:212)
                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(FutureTask.java:266)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
java.lang.ClassNotFoundException: javax.servlet.ServletException
        at 
hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch(RemoteClassLoader.java:808)
        at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:929)
        at hudson.remoting.Request$2.run(Request.java:369)
        at 
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        at 
org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:19)
        at 
hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
        at 
jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
        at 
jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
JNLP4-connect connection from localhost/127.0.0.1:47026
                at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
                at 
hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
                at hudson.remoting.Channel.call(Channel.java:955)
                at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1078)
                at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
                at hudson.model.Run.execute(Run.java:1798)
                at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                at 
hudson.model.ResourceController.execute(ResourceController.java:97)
                at hudson.model.Executor.run(Executor.java:429)
Caused: java.lang.NoClassDefFoundError: javax/servlet/ServletException
        at hudson.util.ProcessTree.get(ProcessTree.java:399)
        at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1090)
        at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1081)
        at hudson.remoting.UserRequest.perform(UserRequest.java:212)
        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(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
        at java.lang.Thread.run(Thread.java:748)
Caused: java.io.IOException: Remote call on JNLP4-connect connection from 
localhost/127.0.0.1:47026 failed
        at hudson.remoting.Channel.call(Channel.java:961)
        at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1078)
        at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
        at hudson.model.Run.execute(Run.java:1798)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
```


I tried to debug it further and could narrow it down.

I think the exception is thrown the first time in the Method
hudson.util.ProcessTree#get() (Line 399).

Probably calling "SlaveComputer.getChannelToMaster()" fails. 
SlaveComputer references javax.servlet.ServletException which seems to be 
unavailable there.


The agent.jar that is downloaded from Jenkins does *not* contain the 
javax.servlet.ServletException class.


Running the job a second time on the same computer works just fine.
The exception occurs after the job has finished.


Any idea how to solve that?


Regards,

Johannes


-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/8feed20e-2416-4c05-b58d-15b4c3f7d56d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to