JNLP Slave client is terminating connection automatically. Again i have to start it manually using a script on slave machine which first downloads latest slave.jar and starts java process. Then after 3-4 minutes, this connectivity breaks. I can see below errors in master and slave logs.
Master error:
WARNING: Connection #73 for + testSlave terminated
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at hudson.remoting.Channel$ReaderThread.run(Channel.java:947)
Slave error:
SEVERE: I/O error in channel channel
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at hudson.remoting.Channel$ReaderThread.run(Channel.java:947)
Feb 16, 2011 12:38:07 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
Thanks
Pawan
----------------------------------------------
Jenkins sends some meaningless "ping" data every 10 minutes to prevent
this from happening, but in some places the time out is very short.
Also, "Read timed out" is bit unusual error, because Jenkins by itself
doesn't set any TCP read time out. Maybe you are setting this value at
the kernel level to something very short?
If you don't want to deal with your IT folks, another possibility is to
tunnel the connection over other means, such as SSH tunnels. We can also
make the ping interval configurable to see if that helps?
> Feb 16, 201112:38:07 PMhudson.remoting.jnlp.Main$CuiListener status
>
> INFO: Terminated
>
> Thanks
>
> Pawan
>
> **----------------------------------------------**
>
--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Thanks
Pawan