Found invalid data while decoding

(Tomas Baltusis) #1

Since we moved server to Azure and put behind LoadBalancer with open ports 80,443 and 10943 this error start appearing randomly:
Found invalid data while decoding.

Server exception:
System.IO.InvalidDataException: Found invalid data while decoding.
at System.IO.Compression.InflaterZlib.Inflate(FlushCode flushCode)
at System.IO.Compression.InflaterZlib.ReadInflateOutput(Byte[] outputBuffer, Int32 offset, Int32 length, FlushCode flushCode, Int32& bytesRead)
at System.IO.Compression.InflaterZlib.Inflate(Byte[] bytes, Int32 offset, Int32 length)
at System.IO.Compression.DeflateStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
at System.IO.BinaryReader.ReadInt32()
at Newtonsoft.Json.Bson.BsonDataReader.ReadNormal()
at Newtonsoft.Json.Bson.BsonDataReader.Read()
at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)
at Halibut.Transport.Protocol.MessageExchangeStream.ReadBsonMessageT in C:\buildAgent\work\fe2b45bbd4978f75\source\Halibut\Transport\Protocol\MessageExchangeStream.cs:line 250
at Halibut.Transport.Protocol.MessageExchangeStream.ReceiveT in C:\buildAgent\work\fe2b45bbd4978f75\source\Halibut\Transport\Protocol\MessageExchangeStream.cs:line 207
at Halibut.Transport.Protocol.MessageExchangeProtocol.d__18.MoveNext() in C:\buildAgent\work\fe2b45bbd4978f75\source\Halibut\Transport\Protocol\MessageExchangeProtocol.cs:line 231

We are using agents in the pull mode.

Any ideas?

(Kenneth Bates) #3

Hi Tomas,

Thanks for getting in touch! I’m sorry to hear you’re starting to hit this error randomly! My first thought is maybe they’re polling the load balancer itself, where they should be instead polling the servers behind the load balancer. Could you check in your Tentacle.config file if they can poll all of the server nodes?

There’s some additional information in the following doc page, and if applicable it outlines options on adding servers via the command line and directly in the config file.

Let me know how you go, or if you have any further questions going forward. :slight_smile:

Best regards,


(Tomas Baltusis) #4

Hm… Our 2 servers are behind the load balancer and agents are in the poling mode… Is there a way to configure that it work properly? So if I understand correctly, tentacle must be checking with both severs at the same time? If we expose those machines vlwith public IP and open only port 10943 and register them in the config of tentacle. Would it solve the problem?