Jenkins奴隶正在使用java.net.SocketException

时间:2016-05-31 13:01:03

标签: jenkins jnlp jenkins-slave

从今天开始,我们Jenkins master中的一些奴隶开始断开连接,出现以下错误:

INFO: Trying protocol: JNLP2-connect
May 31, 2016 3:27:07 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: Software caused connection abort: recv failed
java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at org.jenkinsci.remoting.engine.EngineUtil.readLine(EngineUtil.java:51)
    at org.jenkinsci.remoting.engine.JnlpProtocol2.performHandshake(JnlpProtocol2.java:74)

我已经读过这个问题,并试图找出导致这个问题的原因。我有大约85%或其余的Windows奴隶仍然连接和运行。

  • Slaves:Windows server 2012R2
  • 与JNLP协议连接
  • Jenkins版本:1.609.3

如果需要更多信息,请通知我,我会提供。

1 个答案:

答案 0 :(得分:1)

这通常意味着存在网络错误,例如TCP超时。我首先在连接上放置一个嗅探器(wireshark),看看你是否能看到任何问题。如果存在TCP错误,您应该能够看到它。此外,如果适用,您可以检查路由器日志。如果在任何地方都涉及无线,那么这就是造成这类错误的另一个原因。

重复:java.net.SocketException: Software caused connection abort: recv failed