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

Jenkins Windows-Slave throwing exception on shutdown causes connection reset issues

    Details

    • Similar Issues:

      Description

      Using the most recent build of Jenkins I have been seeing connection issues after issuing reboot commands to targets. After looking at some logs it looks like the slave service on Windows may not be shutting down correctly and is not disconnecting from the Jenkins Server. I suspect that this is causing the reconnect issues that I'm seeing after the machine comes back online. Below is the failure as reported by the Jenkins server and excerpts from log files on the slave machine when the issue reproduced.

      Error as reported from Jenkins Server:
      FATAL: hudson.remoting.RequestAbortedException: java.net.SocketException: Connection reset
      hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.net.SocketException: Connection reset
      at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
      at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
      at hudson.remoting.Request.call(Request.java:174)
      at hudson.remoting.Channel.call(Channel.java:722)
      at hudson.FilePath.act(FilePath.java:1009)
      at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvironmentVariablesNode(EnvironmentVariablesNodeLoader.java:44)
      at org.jenkinsci.plugins.envinject.EnvInjectListener.loadEnvironmentVariablesNode(EnvInjectListener.java:81)
      at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:39)
      at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.java:575)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:481)
      at hudson.model.Run.execute(Run.java:1700)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:231)
      Caused by: hudson.remoting.RequestAbortedException: java.net.SocketException: Connection reset
      at hudson.remoting.Request.abort(Request.java:299)
      at hudson.remoting.Channel.terminate(Channel.java:782)
      at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
      Caused by: java.net.SocketException: Connection reset
      at java.net.SocketInputStream.read(SocketInputStream.java:185)
      at java.io.FilterInputStream.read(FilterInputStream.java:133)
      at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
      at hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:77)
      at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2265)
      at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2558)
      at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2568)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
      at hudson.remoting.Command.readFrom(Command.java:92)
      at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:71)
      at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

      From jenkins-slave.err.log:

      Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main createEngine
      INFO: Setting up slave: <Slave Machine>
      Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener <init>
      INFO: Jenkins agent is running in headless mode.
      Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among http://<Jenkins Server>/
      Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to <Jenkins Server>
      Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener error
      SEVERE: The server rejected the connection: <Slave Machine> is already connected to this master. Rejecting this connection.
      java.lang.Exception: The server rejected the connection: <Slave Machine> is already connected to this master. Rejecting this connection.
      at hudson.remoting.Engine.onConnectionRejected(Engine.java:303)
      at hudson.remoting.Engine.run(Engine.java:276)

      From jenkins-slave.wrapper.log:

      2014-04-19 23:52:14 - Stopping jenkinsslave-C__Jenkins
      2014-04-19 23:52:14 - ProcessKill 3088
      2014-04-19 23:52:15 - Shutdown exception
      Message:A system shutdown is in progress. (Exception from HRESULT: 0x8007045B)
      Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
      at System.Management.ManagementScope.InitializeGuts(Object o)
      at System.Management.ManagementScope.Initialize()
      at System.Management.ManagementObjectSearcher.Initialize()
      at System.Management.ManagementObjectSearcher.Get()
      at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
      at winsw.WrapperService.StopIt()
      at winsw.WrapperService.OnShutdown()

        Attachments

          Issue Links

            Activity

            ryan_croom Ryan Croom created issue -
            oleg_nenashev Oleg Nenashev made changes -
            Field Original Value New Value
            Remote Link This issue links to "WinSW Issue #59 (Web Link)" [ 12039 ]
            oleg_nenashev Oleg Nenashev made changes -
            Assignee Kohsuke Kawaguchi [ kohsuke ] Oleg Nenashev [ oleg_nenashev ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels winsw
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 154803 ] JNJira + In-Review [ 178922 ]
            oleg_nenashev Oleg Nenashev made changes -
            Component/s windows-slave-installer-module [ 21834 ]
            oleg_nenashev Oleg Nenashev made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            oleg_nenashev Oleg Nenashev made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels winsw remoting winsw
            oleg_nenashev Oleg Nenashev made changes -
            Status In Review [ 10005 ] In Progress [ 3 ]
            oleg_nenashev Oleg Nenashev made changes -
            Epic Link JENKINS-38833 [ 175240 ]
            oleg_nenashev Oleg Nenashev made changes -
            Status In Progress [ 3 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels remoting winsw lts-candidate remoting winsw
            oleg_nenashev Oleg Nenashev made changes -
            Labels lts-candidate remoting winsw 2.46.1-rejected remoting winsw
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is duplicated by JENKINS-43128 [ JENKINS-43128 ]
            oleg_nenashev Oleg Nenashev made changes -
            Component/s core [ 15593 ]
            Component/s windows-slaves-plugin [ 18327 ]

              People

              • Assignee:
                oleg_nenashev Oleg Nenashev
                Reporter:
                ryan_croom Ryan Croom
              • Votes:
                8 Vote for this issue
                Watchers:
                12 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: