1

我得到 java.net.SocketException: Connection reset 尝试将无头 debian 从站连接到我的主要 Jenkins 主站时。它已经运行了几个星期没有错误,突然我无法连接它。

我可以在端口 6256 上 telnet 到主服务器。

从机输出:

#> java -jar ~/slave.jar -jnlpUrl https://test.tv/jenkins/computer/debian_slave_node_1/slave-agent.jnlp
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Hudson agent is running in headless mode.
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [https://test.tv/jenkins/, http://test.tv/jenkins/]
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to test.tv:6256
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Aug 12, 2013 10:10:46 AM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: Connection reset
java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:189)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    at hudson.remoting.ClassicCommandTransport.create(ClassicCommandTransport.java:98)
    at hudson.remoting.Channel.<init>(Channel.java:391)
    at hudson.remoting.Channel.<init>(Channel.java:387)
    at hudson.remoting.Channel.<init>(Channel.java:348)
    at hudson.remoting.Channel.<init>(Channel.java:344)
    at hudson.remoting.Channel.<init>(Channel.java:332)
    at hudson.remoting.Engine.run(Engine.java:238)

詹金斯大师输出:

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$BlockDataInputStream.peekByte(ObjectInputStream.java:2596)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at hudson.remoting.Command.readFrom(Command.java:92)
at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
4

3 回答 3

1

在了解更多之前很难说会发生什么。尤其是:

  • 每次连接请求都会失败吗?如果是这样,请检查您服务器上的 auth.log,因为似乎故障发生在“状态信息:握手”之后和“已连接”之前
  • 您的时钟是否正确同步?
  • 你使用什么操作系统?你的奴隶上的哪个java版本?检查你的 PATH 和 JAVA_HOME
  • 你最近更新了詹金斯吗?如果是这样,您是否更新了从属设备?你也试过恢复更新吗?您使用的是哪个版本?1.520 取消了对 JDK 1.5 的支持。
  • 你如何运行你的java命令?从 SSH 会话中的终端?这是主人写的吗?

另请参阅Jenkins 从属作业因“意外终止通道”而失败

于 2013-08-12T23:14:44.783 回答
0

就我而言,一切都在 root 帐户下工作。但是在用户帐户下,节点客户端无法连接到服务器,并显示消息“失败意外终止通道”。问题在于对工作文件夹的访问或写入。一旦我通过“chown -R”重新分配了所有者,节点就会成功启动。

于 2014-05-07T12:35:34.717 回答
0

我遇到了同样的问题,似乎可以通过以 root 身份运行 jenkins-slave 来解决。现在,这个东西会周期性地因同样的错误而断开连接,我想知道这是由于 LB keepalive 造成的。我会在获得更多信息后立即更新此答案。

于 2013-08-15T19:24:29.580 回答