我在所有嘗試啟動從屬伺服器的 Linux 伺服器上都會收到此錯誤。版本是Jenkins ver. 1.532.1。當我使用 Jenkins 版本進行另一個安裝時,我沒有遇到這個問題。 1.509.4。
我在互聯網上閱讀了很多有關此問題的帖子,但仍然沒有解決它的線索。幾乎想刪除此安裝並安裝舊版本。現在是 1.509.4。
任何人都可以提供一些關於如何調試這個的想法嗎?
詹金斯日誌:
Dec 20, 2013 9:38:24 AM jenkins.slaves.JnlpSlaveAgentProtocol$Handler$1 onClosed
WARNING: Channel reader thread: trmsrv43 for + trmsrv43 terminated
java.net.SocketException: Socket closed
bash-3.00$ java -jar slave.jar -jnlpUrl htttp://name:8080/computer/trmsrv43/slave-agent.jnlp
20-Dec-2013 9:37:47 AM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
20-Dec-2013 9:37:47 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [htttp://name:8080/, htttp://name:8080/]
20-Dec-2013 9:38:02 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to name:45606
20-Dec-2013 9:38:02 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
20-Dec-2013 9:38:02 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
20-Dec-2013 9:38:03 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run
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
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
20-Dec-2013 9:38:03 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
20-Dec-2013 9:38:03 AM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar e42831c9e9138e2761253da84a096665
hudson.remoting.RemotingSystemException: hudson.remoting.ChannelClosedException: channel is already closed
caused by: hudson.remoting.ChannelClosedException: channel is already closed
at hudson.remoting.Channel.send(Channel.java:516)
at hudson.remoting.Request.call(Request.java:129)
at hudson.remoting.Channel.call(Channel.java:714)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:167)
... 10 more
Caused by: java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
20-Dec-2013 9:38:13 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [htttp://name:8080/]
20-Dec-2013 9:38:13 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to name:45606
20-Dec-2013 9:38:13 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
20-Dec-2013 9:38:13 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
20-Dec-2013 9:38:13 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run
SEVERE: I/O error in channel channel
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
20-Dec-2013 9:38:13 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
20-Dec-2013 9:38:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [htttp://name:8080/]
20-Dec-2013 9:38:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to name:45606
20-Dec-2013 9:38:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
20-Dec-2013 9:38:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
20-Dec-2013 9:38:24 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run
SEVERE: I/O error in channel channel
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
20-Dec-2013 9:38:24 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
答案1
我們在更新到 Jenkins 2.60.1 時遇到了這個問題。這個版本是第一個需要 Java 8 的 LTS 版本,我們確保更新主伺服器以使用 Java 8。
問題原來是從節點開始使用 Java 7,我們必須使用節點配置頁面上的「進階」按鈕來確保從節點使用正確的 Java 路徑