OD 2.6 Tentacle Connection Issues

Thank you Eric, I will check this with the customer and see if this could be the problem.

Hi Eric,

Would you mind sharing the steps to turn TCP Offload off in case someone else reaches this thread in search for help?

Thanks for your input!

Dalmiro

Hey Dalmiro,

I have another question. I am using TeamCity to compile my code and then OD to deploy. BUT I want OD to do config transforms when I promote to other environments. The problem is that the transform configs are not available in the nugget package… Any Advice?

Eric

This problem suddenly started happening on March 5th, 2015. We hadn’t updated or changed anything, and it just started happening.

Here’s the error:

Pipefish.PipefishException: The remote host aborted the connection. This can happen when the remote server does not trust the certificate that we provided. —> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

Our QA person is sitting idle now because we can’t push a release for her to test. I’ve tried updating both the server and the tentacle and we are still getting this issue. This issue is also showing on the Environments > Machines >[server name] > Connectivity page.

Hi Dan,

Thanks for reaching out. Is your tentacle configured as Polling or Listening? If it is Listening, could you please try the troubleshooting steps described on this doc?

http://docs.octopusdeploy.com/display/OD/Troubleshoot+Listening+Tentacles

Thanks

Dalmiro

Hi,

I also encountered this error. In my case it was a new tentacle. The tentacle was in a state where all octopus servers would be allowed. In my installation the tentacle should not be configured like this, something must have happened.

After I reconfigure the tentacle instance to trust my octopus server everything started to work fine.

Just wanted to share because the error message was the same.

Hey,

I just ran into this same issue. For me it was because my tentacle machine had run out of disk space. Normally if this happens I get:

The drive containing the directory ‘e:\blah’ on machine ‘blah’ does not have enough free disk space available for this operation to proceed.

But this time I got the error reported above.

Freeing up diskspace solved it for me!

I will be out of office until end of the week and not able to respond to e-mails. For urgent matters, please send e-mail to the Help Desk, helpdesk@unimaze.com or contact Heiðar Jon Hannesson directly for support.

Hi there,

I am having the similar issue. Pipefish abort connection, here is the complete error text that gets displayed for the particular azure vm while doing health check

I have tried disabling TCP offload, but that did not help.
Uninstalled tentacle and re-installed tentacle, but the problem is still there.

The remote host aborted the connection. This can happen when the remote server does not trust the certificate that we provided.
Pipefish.PipefishException: The remote host aborted the connection. This can happen when the remote server does not trust the certificate that we provided. —> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
— End of inner exception stack trace —
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security._SslStream.StartFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.Stream.ReadByte()
at Pipefish.Transport.SecureTcp.ProtocolParser.ReadPrelude(Stream clientStream) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\ProtocolParser.cs:line 106
at Pipefish.Transport.SecureTcp.ProtocolParser.ParseResponse(SslStream responseStream, StatusCode& statusCode, String& statusText, ResponseHeaders& headers, String& protocol) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\ProtocolParser.cs:line 165
at Pipefish.Transport.SecureTcp.Client.SecureTcpClient.Send(SecureTcpRequest request, Action1 response) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\Client\SecureTcpClient.cs:line 85 --- End of inner exception stack trace --- at Pipefish.Transport.SecureTcp.Client.SecureTcpClient.Send(SecureTcpRequest request, Action1 response) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\Client\SecureTcpClient.cs:line 105
at Octopus.Server.Communications.Handshaking.PassiveTentacleHandshaker.Receive(PassiveTentacleHandshakeRequest message) in y:\work\refs\heads\master\source\Octopus.Server\Communications\Handshaking\PassiveTentacleHandshaker.cs:line 56
at Pipefish.Actor.OnReceivingTyped[TBody](Message message) in y:\work\3cbe05672d69a231\source\Pipefish\Actor.cs:line 113
Octopus.Server version 2.6.5.1010
Fatal 18:28:40
An existing connection was forcibly closed by the remote host
Pipefish.PipefishException: The remote host aborted the connection. This can happen when the remote server does not trust the certificate that we provided. —> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
— End of inner exception stack trace —
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security._SslStream.StartFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.Stream.ReadByte()
at Pipefish.Transport.SecureTcp.ProtocolParser.ReadPrelude(Stream clientStream) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\ProtocolParser.cs:line 106
at Pipefish.Transport.SecureTcp.ProtocolParser.ParseResponse(SslStream responseStream, StatusCode& statusCode, String& statusText, ResponseHeaders& headers, String& protocol) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\ProtocolParser.cs:line 165
at Pipefish.Transport.SecureTcp.Client.SecureTcpClient.Send(SecureTcpRequest request, Action1 response) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\Client\SecureTcpClient.cs:line 85 --- End of inner exception stack trace --- at Pipefish.Transport.SecureTcp.Client.SecureTcpClient.Send(SecureTcpRequest request, Action1 response) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\Client\SecureTcpClient.cs:line 105
at Octopus.Server.Communications.Handshaking.PassiveTentacleHandshaker.Receive(PassiveTentacleHandshakeRequest message) in y:\work\refs\heads\master\source\Octopus.Server\Communications\Handshaking\PassiveTentacleHandshaker.cs:line 56
at Pipefish.Actor.OnReceivingTyped[TBody](Message message) in y:\work\3cbe05672d69a231\source\Pipefish\Actor.cs:line 113
Octopus.Server version 2.6.5.1010

If anyone has answer, please let me know.

Thanks, Bhavin

Hi Bhavin,

Thanks for getting in touch. Could you try re-registering the Tentacle using Octo.exe?

First de-register the Tentacle from the current Octopus Server

cd C:\Program Files\Octopus Deploy\Tentacle
.\Tentacle.exe deregister-from -instance "Tentacle" --server "http://YOUR_OCTOPUS" --apiKey="API-YOUR_API_KEY" --instance="Prod"

Then register it back again

cd C:\Program Files\Octopus Deploy\Tentacle
Tentacle.exe register-with --instance "Tentacle" --server "http://YOUR_OCTOPUS" --apiKey="API-YOUR_API_KEY" --role "web-server" --environment "Staging" --comms-style TentaclePassive --console

Sometimes an uninstall and reinstall won’t work as the Tentacle config isn’t removed and that stores the Octopus handshake information.

Let me know how it goes with those commands.

Thanks,

Dalmiro

I also had this issue and like Sam Shiles (above), it was because the VM with the tentacle installed on it had run out of disk space without warning. I fixed it by clearing out some space on the offending drive and running a health check on that tentacle to confirm connection again.

I had the same problem with an error being thrown when the server tried to connect to a tentacle in listening mode.

Pipefish.PipefishException: The remote host aborted the connection. This can happen when the remote server does not trust the certificate that we provided

I my case it was caused by the server being version 2.6.4 and the tentacle was version 3.2.20 (current default version when installing with Chocolatey). Downgrading the tentacle to 2.6.4 fixed the problem.

Would have been helpful if the server (or the tentacle) had detected a version mismatch, and warned me about that instead.

Hi Sune,

I’ve raised #2330 to investigate the possibility to detect a version mismatch between Octopus Server and Tentacle.

Thank you and kind regards,
Henrik