I've been trying to setup a dedicated server on Linux (Ubuntu server 18.04.3) and I can't quite get it working. I have it setup on a Windows VM so I know I have the port forwarding sorted out. With windows everything works but when I run it under Linux I can see the server listed but when I try to join it hangs and times out.
I know this has been posted before but what I am wondering is this affecting every Linux server, or are there some that have it working and can we try to figure out why.
When I run it under Linux, I see that the main process ShooterGameServer and one of it's threads are each pegging a CPU at 100%
I ran strace on the main pid and it is stuck in a loop.
First it calls sched_getaffinity(), then it calls openat() for each of the processors, then fstats() on the returned fp, reads the value and closes the fp.
Are Linux Dedicated Servers Currently Broken?
in Dedicated Server and Developer Tools Discussion
Posted
I've been trying to setup a dedicated server on Linux (Ubuntu server 18.04.3) and I can't quite get it working. I have it setup on a Windows VM so I know I have the port forwarding sorted out. With windows everything works but when I run it under Linux I can see the server listed but when I try to join it hangs and times out.
I know this has been posted before but what I am wondering is this affecting every Linux server, or are there some that have it working and can we try to figure out why.
When I run it under Linux, I see that the main process ShooterGameServer and one of it's threads are each pegging a CPU at 100%
I ran strace on the main pid and it is stuck in a loop.
First it calls sched_getaffinity(), then it calls openat() for each of the processors, then fstats() on the returned fp, reads the value and closes the fp.
sched_getaffinity(0, 128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) = 8 openat(AT_FDCWD, "/sys/devices/system/cpu/cpu0/topology/core_id", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(25, "0\n", 4096) = 2 close(25) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu/cpu1/topology/core_id", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(25, "1\n", 4096) = 2 close(25) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu/cpu2/topology/core_id", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(25, "2\n", 4096) = 2 close(25) = 0 .... openat(AT_FDCWD, "/sys/devices/system/cpu/cpu14/topology/core_id", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(25, "6\n", 4096) = 2 close(25) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu/cpu15/topology/core_id", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(25, "7\n", 4096) = 2 close(25) = 0 futex(0x97054f4, FUTEX_WAKE_PRIVATE, 2147483647) = 1 futex(0x97054a0, FUTEX_WAKE_PRIVATE, 1) = 1
The child thread is just spinning on a futex.
... futex(0xab32c080, FUTEX_WAIT_PRIVATE, 0, NULL) = 0 futex(0xab32bfe0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0xab32c084, FUTEX_WAIT_PRIVATE, 0, NULL) = 0 futex(0xab32bfe0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0xab32c080, FUTEX_WAIT_PRIVATE, 0, NULL) = 0 futex(0xab32bfe0, FUTEX_WAKE_PRIVATE, 1) = 0 ...
and occasionally fails with
futex(0x7f5db2db5178, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) futex(0x7f5db2db5178, FUTEX_WAKE_PRIVATE, 1) = 0
but goes back to the futex spinning.
Does anyone have this working under Linux currently?
Thanks!