OctopusDeploy/Halibut

Halibut can not create TcpClient when IPv6 is disabled

tothegills opened this issue · 2 comments

A SocketException is thrown when Halibut attempts to create connections but IPv6 is disabled:

System.Net.Sockets.SocketException (97): Address family not supported by protocol
 at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
 at System.Net.Sockets.TcpClient..ctor(AddressFamily family)
 at Halibut.Transport.TcpConnectionFactory.CreateTcpClient()
 at Halibut.Transport.TcpConnectionFactory.CreateConnectedTcpClient(ServiceEndPoint endPoint, ILog log)
 at Halibut.Transport.TcpConnectionFactory.EstablishNewConnection(ServiceEndPoint serviceEndpoint, ILog log)
 at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
 at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
 at System.Lazy`1.CreateValue()
 at Halibut.Transport.ConnectionManager.<>c__DisplayClass8_0.<CreateNewConnection>b__1()
 at Halibut.Transport.ConnectionManager.AcquireConnection(IConnectionFactory connectionFactory, ServiceEndPoint serviceEndpoint, ILog log)
 at Halibut.Transport.SecureClient.ExecuteTransaction(Action`1 protocolHandler)

This issue was reported by a customer attempted to use Linux Tentacle: https://octopususergroup.slack.com/archives/CFG3BFMB3/p1568009170003500

Would this have any bearing on issue #72 - specifying IPAddress.Any vs IPAddress.IPv6Any results in a major performance slow down. I closed the issue as I found a resolution, but still worth investigating.