Deadline won't launch Centos 7.7

Hello,
I got an issue with Deadline on Centos, my license server runs on an other box, centos as well.
My other ws finds it without an issue.
On my ws though, even after a fresh isntall of Deadline 10.1.0.12 Client I got that:

Exception on Startup: Cannot assign requested address (System.Net.Sockets.SocketException)
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at FranticX.Net.SocketUtils.CreateTcpListeningSocket(Int32 port, Boolean localOnly, Boolean forceIPv4)
at FranticX.Net.SocketUtils.CreateTcpListeningSocket(Int32 port, Boolean localOnly)
at Deadline.ListenerThread.a()
at Deadline.ListenerThread.Initialize()
at Deadline.Monitor.MonitorManager.StartThreads()
at DeadlineMonitor.DeadlineMonitorApp.Main(String[] args)

Deadline Monitor will now exit.

Any idea what is going on ?

Thank you,

Tanguy

This looks like a duplicate issue of this thread:

We’ve managed to reproduce through Docker so far (Ubuntu 16.04), so we have a test bench from one of our Solutions Architects. The guess right now is our code which generates a TCP socket for us, so I’m about to write a test script for it.

Right now, it seems to be something from the .net core change as this came in with 10.1. You can downgrade if it’s urgent.

Update: @cmoore’s guess that it had something to do with a specific internal function call was right on. It seems that if IPv6 is enabled this error will definitely come up. It may not be the only way to throw it, but it’s the one I’m seeing here. Once I enabled IPv6 within Docker the test script executes correctly.

If you want to try it on your side, here’s the test bench:

from FranticX.Net import SocketUtils

def __main__():
    listener = SocketUtils.CreateTcpListeningSocket(1234, True, False)
    print(listener.LocalEndPoint)

Run it like so:

root@1f5c655db83a:/Thinkbox# /opt/Thinkbox/Deadline10/bin/deadlinecommand executescriptnogui /path/to/TestSockets.py

Digging deeper in, it looks like .net Core didn’t implement this function the same as Mono/.net runtime and it’ll return True even if IPv6 isn’t available:

Socket.OSSupportsIPv6