Open CrazySpence opened 2 years ago
Looking at the function it will assert if either dst or src are null and in this case src is null for some reason
Back trace makes it look like it's bombing on the initialization of the interface, I wonder if this is like the old Mac OS problem we had where it couldn't find interfaces?
(gdb) bt
Ok, so! this is actually 2 issues, the one listed above is the result of running the server in a container, in bridged mode the networking for the vm is like 0.0.0.0:6589 which we never anticipated for parsec so some of the startup checks are ignoring that and then segfaulting because no addresses exist, ill make another issue for the bug im hitting in the real world
Commented this out of nl_udpdriver.cpp and it worked and I had parsec_server running in a local container and was able to connect to it from my machine
// only handle IPV4 entries if ( ifr->ifr_addr.sa_family != AF_INET ) { continue; }
Honestly that seems like a redundant check since the interface struct is being called against AF_INET to begin with
Currently the server will segfault when run, doesn't matter if it is 32bit or 64bit i can verify it on my host and on a 64bit docker image I just put together for testing
End of the log + gdb output:
Script execution done. Initializing TCP/IP stack... skipping loopback interface
Program received signal SIGSEGV, Segmentation fault. 0x00005555555aacd2 in NODE_Copy (dst=0x555555610b08 <NET_UDPDriver::GetUDPDriver()::_TheUDPDriver+40>, src=0x0) at ../../../../src/parsec_server/net_util_sv.cpp:59 59 {