すべての Linux サーバーでスレーブを起動しようとすると、このエラーが発生します。バージョンは Jenkins バージョン 1.532.1 です。Jenkins バージョン 1.509.4 の別のインストールでは、この問題は発生しませんでした。
この問題に関してインターネットで多くの投稿を読みましたが、解決方法がまだわかりません。このインストールを削除して、古いバージョン 1.509.4 をインストールしたいと思っています。
これをデバッグする方法について何かアイデアをくれる人はいますか?
jenkins.log:
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パスが使用されていることを確認する必要があったことが判明しました。