Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-15403

Jenkins slave Windows service does not reconnect on master failure

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • core
    • None
    • Jenkins 1.484 on RHEL 5 x86_64, Windows slave connected by JNLP through Windows service

      I have set up Jenkins slave Windows service so that it is restarted by system on failure. It works OK if slave fails for whatever reasons. Unfortunately recently master keeps failing due to out of memory problems and after master reboot some Windows slave do not reconnect. Service has to be restarted in order to connect slave again.

      jenkins-slave.err.log

      Oct 02, 2012 3:59:10 PM hudson.remoting.jnlp.Main$CuiListener <init>
      INFO: Hudson agent is running in headless mode.
      Oct 02, 2012 3:59:10 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among http://server:8080/
      Oct 02, 2012 3:59:10 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to server:21234
      Oct 02, 2012 3:59:10 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Oct 02, 2012 3:59:11 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connected
      Oct 03, 2012 8:11:21 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Terminated
      Oct 03, 2012 8:12:22 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among http://server:8080/
      Oct 03, 2012 8:12:22 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to server:21234
      Oct 03, 2012 8:12:22 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Oct 03, 2012 8:12:22 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connected
      Oct 03, 2012 8:15:19 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Terminated
      Oct 03, 2012 8:15:59 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among http://server:8080/
      Oct 03, 2012 8:15:59 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to server:21234
      Oct 03, 2012 8:15:59 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Oct 03, 2012 8:15:59 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connected
      Oct 03, 2012 9:44:59 PM hudson.slaves.ChannelPinger$1 onDead
      INFO: Ping failed. Terminating the channel.
      java.util.concurrent.TimeoutException: Ping started on 1349293259718 hasn't completed at 1349293499718
      at hudson.remoting.PingThread.ping(PingThread.java:120)
      at hudson.remoting.PingThread.run(PingThread.java:81)

      Oct 03, 2012 9:44:59 PM hudson.remoting.SynchronousCommandTransport$ReaderThread run
      SEVERE: I/O error in channel channel
      java.net.SocketException: socket closed
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.io.BufferedInputStream.fill(Unknown Source)
      at java.io.BufferedInputStream.read(Unknown Source)
      at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
      at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
      at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
      at java.io.ObjectInputStream.readObject0(Unknown Source)
      at java.io.ObjectInputStream.readObject(Unknown Source)
      at hudson.remoting.Command.readFrom(Command.java:90)
      at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:59)
      at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

      Oct 03, 2012 9:44:59 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Terminated
      Oct 04, 2012 4:20:07 PM hudson.remoting.jnlp.Main$CuiListener <init>
      INFO: Hudson agent is running in headless mode.
      Oct 04, 2012 4:20:07 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among http://server:8080/
      Oct 04, 2012 4:20:07 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to server:21234
      Oct 04, 2012 4:20:07 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Oct 04, 2012 4:20:07 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connected

      jenkins-slave.wrapper.log

      2012-10-02 15:59:10 - Starting C:\Program Files\Java\jre7\bin\java.exe -Xrs -jar "C:\Jenkins\slave.jar" -jnlpUrl http://server:8080/computer/slave-1/slave-agent.jnlp
      2012-10-02 15:59:10 - Started 5680
      2012-10-04 16:20:05 - Stopping jenkinsslave-C__Jenkins
      2012-10-04 16:20:05 - ProcessKill 5680
      2012-10-04 16:20:05 - Finished jenkinsslave-C__Jenkins
      2012-10-04 16:20:06 - Starting C:\Program Files\Java\jre7\bin\java.exe -Xrs -jar "C:\Jenkins\slave.jar" -jnlpUrl http://server:8080/computer/slave-1/slave-agent.jnlp
      2012-10-04 16:20:06 - Started 6464

      Note that before exception slave itself reconnected many times to master, but after exception it did not recover until service was restarted.

            Unassigned Unassigned
            raspy Krzysztof Malinowski
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: