Skip to content

[JENKINS-22692] Jenkins Windows-Slave throwing exception on shutdown causes connection reset issues #23037

@jenkins-infra-bot

Description

@jenkins-infra-bot

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:
Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener
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:///
Apr 19, 2014 11:52:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to
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: is already connected to this master. Rejecting this connection.
java.lang.Exception: The server rejected the connection: 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()


Originally reported by ryan_croom, imported from: Jenkins Windows-Slave throwing exception on shutdown causes connection reset issues
  • assignee: oleg_nenashev
  • status: Resolved
  • priority: Major
  • component(s): core, windows-slave-installer-module
  • label(s): 2.46.1-rejected, remoting, winsw
  • resolution: Fixed
  • resolved: 2017-03-13T16:03:23+00:00
  • votes: 8
  • watchers: 12
  • imported: 2025-11-24
Raw content of original issue

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()

environment
master: ArchLinux<br/>
slave: Windows 7 32-bit

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions