Issues with tentacles crashing but still using ports

We have had multiple issues where individual tentacles get into a stuck state (usually when a task runs around the same time as a health check). In order to correct the issue we sometimes have to actually restart the hosts because simply restarting the tentacle actually causes the port to remain bound but no process actually running. We are running tentacle and server version 3.2.11 and I am simply wondering if this is something that is a known issue.

2017-03-09 14:18:30.3824      7 FATAL  Unhandled AppDomain exception occurred: A required communications port is already in use. http://g.octopushq.com/HttpPortInUse See: http://g.octopushq.com/HttpPortInUse
System.Exception: A required communications port is already in use. http://g.octopushq.com/HttpPortInUse See: http://g.octopushq.com/HttpPortInUse ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.TcpListener.Start(Int32 backlog)
   at Halibut.Transport.SecureListener.Start() in y:\work\7ab39c94136bc5c6\source\Halibut\Transport\SecureListener.cs:line 47
   at Octopus.Tentacle.Communications.HalibutInitializer.Start() in Y:\work\refs\tags\3.2.11\source\Octopus.Tentacle\Communications\HalibutInitializer.cs:line 39
   at Octopus.Tentacle.Commands.RunAgentCommand.Start() in Y:\work\refs\tags\3.2.11\source\Octopus.Tentacle\Commands\RunAgentCommand.cs:line 80
   at Octopus.Shared.Startup.AbstractCommand.Octopus.Shared.Startup.ICommand.Start(String[] commandLineArguments, ICommandRuntime commandRuntime, OptionSet commonOptions) in Y:\work\refs\tags\3.2.11\source\Octopus.Shared\Startup\AbstractCommand.cs:line 58
   at Octopus.Shared.Startup.WindowsServiceHost.<>c__DisplayClass1_0.<Run>b__0() in Y:\work\refs\tags\3.2.11\source\Octopus.Shared\Startup\WindowsServiceHost.cs:line 19
   at Octopus.Shared.Startup.WindowsServiceAdapter.RunService() in Y:\work\refs\tags\3.2.11\source\Octopus.Shared\Startup\WindowsServiceAdapter.cs:line 44
   --- End of inner exception stack trace ---
   at Octopus.Shared.Startup.WindowsServiceAdapter.RunService() in Y:\work\refs\tags\3.2.11\source\Octopus.Shared\Startup\WindowsServiceAdapter.cs:line 56
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Also I have already tried to fix this via netstat and trying to kill the process that was running manually but this resulted in the PID not existing.

Hi Brent,

Thanks for getting in touch.

This is a known issue, it was fixed in 3.3.23: https://github.com/OctopusDeploy/Issues/issues/2573

Cheers,
Shane

Awesome thanks Shane. We are already planning to upgrade so just wanted to make sure this was an already known issue.