We've recently upgraded to Hudson ver. 1.358 and upgraded our Hudson plugins (CheckStyle, FindBugs, Emma, etc).
Since taking the upgrades, we're noticing that slave agents are terminating after building our 'code checking' project, which consists of:
- CheckStyle (now on 3.6)
- FindBugs (now on 4.8)
- Emma coverage reports (now on 1.20)
We've narrowed the problem down to the Emma plugin; the Hudson slave does not terminate when I deactivate the "Record Emma coverage report" step in my Hudson project. When I re-enable the Emma coverage report step, the Hudson slave starts dying again.
Slave agents are happily building our other builds (junit tests, end-2-end tests).
Here's some logging below:
(please let me know, if you need more details)
==============================
When this happens, his is the logging we see on the:
1) Hudson server log file:
17-May-2010 12:49:29 hudson.TcpSlaveAgentListener$ConnectionHandler run
INFO: Accepted connection #36 from /xx.xx.xx.xx:38048
17-May-2010 12:49:29 hudson.TcpSlaveAgentListener$ConnectionHandler error
WARNING: Connection #36 is aborted: cislave3 is already connected to this master. Rejecting this connection.
2) Hudson slave agent log file:
17-May-2010 12:49:19 hudson.remoting.Engine$2 onDead
INFO: Ping failed. Terminating the socket.
17-May-2010 12:49:19 hudson.remoting.Channel$ReaderThread run
SEVERE: I/O error in channel channel
java.net.SocketException: Socket closed
at java.net.SocketInputStream.read(SocketInputStream.java:162)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at hudson.remoting.Channel$ReaderThread.run(Channel.java:856)
17-May-2010 12:49:19 hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
17-May-2010 12:49:29 hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among http://ccmain.xx.com:8080/
17-May-2010 12:49:29 hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to ccmain.xx.com:44477
17-May-2010 12:49:29 hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
17-May-2010 12:49:29 hudson.remoting.jnlp.Main$CuiListener error
SEVERE: The server rejected the connection: cislave3 is already connected to this master. Rejecting this connection.
java.lang.Exception: The server rejected the connection: cislave3 is already connected to this master. Rejecting this connection.
at hudson.remoting.Engine.run(Engine.java:191)