Error de Jenkins Linux Slave: GRAVE: error de E/S en el canal

Error de Jenkins Linux Slave: GRAVE: error de E/S en el canal

Recibo este error en todos los servidores Linux al intentar iniciar un esclavo. La versión es Jenkins ver. 1.532.1. No tuve este problema cuando tuve otra instalación con Jenkins ver. 1.509.4.

He leído muchas publicaciones en Internet sobre este problema, todavía no tengo idea de cómo solucionarlo. Casi quiero eliminar esta instalación e instalar la versión anterior. 1.509.4 ahora.

¿Alguien puede darnos alguna idea sobre cómo depurar esto?

El archivo 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

Respuesta1

Nos encontramos con este problema al actualizar a Jenkins 2.60.1. Esa versión es la primera versión LTS que requiere Java 8 y nos aseguramos de actualizar el maestro para usar Java 8. Desafortunadamente, los esclavos no se iniciaron, lo que generó el error que informa en el título.

El problema resultó ser que los nodos esclavos estaban comenzando a usar Java 7 y tuvimos que usar el botón "Avanzado" en la página de configuración del nodo para asegurarnos de que los nodos esclavos usaran la ruta Java correcta.

información relacionada