Tentacle Health Check reports NullReference Exception

Hello.

I upgraded from 3.2.14 to 3.2.16 and my tentacles stopped checking in.

The error I got was:

2016-01-13 00:07:40.0348 6 INFO listen://[::]:10933/ 6 Unhandled error when handling request from client: [::ffff:10.50.4.200]:54306
System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. —> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
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.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.StreamReader.ReadBuffer()
at System.IO.StreamReader.ReadLine()
at Halibut.Transport.Protocol.MessageExchangeStream.ReadLine() in y:\work\7ab39c94136bc5c6\source\Halibut\Transport\Protocol\MessageExchangeStream.cs:line 93
at Halibut.Transport.Protocol.MessageExchangeStream.ExpectNextOrEnd() in y:\work\7ab39c94136bc5c6\source\Halibut\Transport\Protocol\MessageExchangeStream.cs:line 67
at Halibut.Transport.Protocol.MessageExchangeProtocol.ProcessClientRequests(Func2 incomingRequestProcessor) in y:\work\7ab39c94136bc5c6\source\Halibut\Transport\Protocol\MessageExchangeProtocol.cs:line 110 at Halibut.Transport.Protocol.MessageExchangeProtocol.ExchangeAsServer(Func2 incomingRequestProcessor, Func`2 pendingRequests) in y:\work\7ab39c94136bc5c6\source\Halibut\Transport\Protocol\MessageExchangeProtocol.cs:line 90
at Halibut.Transport.SecureListener.ExecuteRequest(TcpClient client) in y:\work\7ab39c94136bc5c6\source\Halibut\Transport\SecureListener.cs:line 126

Hi Benedict,

Thanks for getting in touch. As you might already know from this other thread, we had a communication error in 3.2.14 that prevented Tentacles on that version from talking to an Octopus server on any version that’s not 3.2.14.

The easiest way to solve this would be to:

  1. downgrade your server back to 3.2.14 using this MSI https://drive.google.com/open?id=0B9ntXdSzeVC6UUNtZXVsREhZbTg

  2. Once your server is on 3.2.14 as well as your Tentacles, they will be able to talk to each other again. When that happens,use Hydra with the latest package available on the download page to upgrade your Tentacles to another version (latest at the moment is 3.2.16)

  3. Once you upgraded the Tentacles to a version higher than 3.2.14 using Hydra, they wont be able to talk to the Octopus server until you upgrade it also. Upgrade the Octopus Server and it’ll be able to talk to the Tentacles again.

Sorry for the inconveniences caused by this issue. Please keep us posted on your progress.

Regards,
Dalmiro

Unfortunately I have a 100% failure rate with hydra too.

It deploys to the machines, then does nothing. If I log on to the machine and execute it manually it seems to work, not sure if this is intended (or even desired!) behaviour.

I also need to log on to all of the machines to change the login details, which is frustrating. Would it work if I just execute the tentacle MSI? That seems probably quicker.

Hi Benedict,

All you need to do is execute the latest MSI on the Tentacle box for a manual upgrade. No need to change login details, as it will keep the same one it was using pre-ugrade.

Regards,
Dalmiro