Hi all,

Kind of a novice in the case of Jenkins, but I have been looking for help 
online for a while now and haven't got much headway; hoping to get some 
insight from you guys.

Jenkins Version - 1.609.2
Master OS - Linux
Master Java Version - 1.8.0_45
Slave OS - Windows 7 x64
Slave Java Version -1.8.0_91

Currently I am attempting to connect a physical Windows slave, via JNLP, to 
a master. The slave is a on a network, behind a firewall, and the Master is 
on AWS on a separate network. Off the bat, we couldn't even connect to the 
master due to the firewall. After working with the admins an exception was 
put in and now we can successfully connect....kind of. Now onto the actual 
issue.

Initially the machine makes contact and connects just fine. After a random 
amount of time, anywhere from 1-4 minutes, the connection is terminated and 
it reconnects. This happens constantly both while idling and while 
attempting to run a build. I have installed it as a Windows service, 
connected it via running the java slave command, and using the Launch 
button on the browser; same issue each time.

On the Jenkins slave log when it disconnects it shows this.

ERROR: Connection terminatedjava.io.EOFException 
<http://stacktrace.jenkins-ci.org/search?query=java.io.EOFException>   at 
org.jenkinsci.remoting.nio.NioChannelHub$3.run(NioChannelHub.java:613) 
<http://stacktrace.jenkins-ci.org/search/?query=org.jenkinsci.remoting.nio.NioChannelHub$3.run&entity=method>
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
<http://stacktrace.jenkins-ci.org/search/?query=java.util.concurrent.Executors$RunnableAdapter.call&entity=method>
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
<http://stacktrace.jenkins-ci.org/search/?query=java.util.concurrent.FutureTask.run&entity=method>
        at 
hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
 
<http://stacktrace.jenkins-ci.org/search/?query=hudson.remoting.SingleLaneExecutorService$1.run&entity=method>
        at 
jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
 
<http://stacktrace.jenkins-ci.org/search/?query=jenkins.util.ContextResettingExecutorService$1.run&entity=method>
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
<http://stacktrace.jenkins-ci.org/search/?query=java.util.concurrent.Executors$RunnableAdapter.call&entity=method>
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
<http://stacktrace.jenkins-ci.org/search/?query=java.util.concurrent.FutureTask.run&entity=method>
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
<http://stacktrace.jenkins-ci.org/search/?query=java.util.concurrent.ThreadPoolExecutor.runWorker&entity=method>
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
<http://stacktrace.jenkins-ci.org/search/?query=java.util.concurrent.ThreadPoolExecutor$Worker.run&entity=method>
        at java.lang.Thread.run(Thread.java:745) 
<http://stacktrace.jenkins-ci.org/search/?query=java.lang.Thread.run&entity=method>


On the Java side, either through the slave command line or looking at the 
jenkins-slave.err.log when it disconnects it shows this.


SEVERE: I/O error in channel channel
java.io.IOException: Unexpected termination of the channel
        at 
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
        at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
        at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown 
Source)
        at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
        at java.io.ObjectInputStream.<init>(Unknown Source)
        at 
hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:40)
        at 
hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
        at 
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)



In Jenkins Configure Global Security the TCP port for JNLP slave agents is 
fixed to port 50000 and the AWS instance that the master is hosted on has 
that port opened.The firewall is off on the slave as well. 
The AWS instance is behind a loadbalancer. For each of the possible ip's 
used by the loadbalancer, and the specific instance ip that the master is 
on, I am able to run nmap from the slave and port 50000 is open.

That was all of the information I thought might be helpful. Any information 
would be greatly appreciated.

Thanks,

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" 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-users/e5b1ec7b-b765-4063-bfde-6ee00ef5babe%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to