Spinning? UE5 Dedicated Linux Server

What is this? This is all I am getting when I run my (vanilla) 5.0 dedicated Linux server.

Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.
Spinning because we are actively reading from more file handles than we have possible handles.

My guess is there’s some kind of resource leak that opens file handles but doesn’t close/release them, OR the engine is actively reading/compiling tons of assets.

The loop that prints this is a loop that attempts to “reap” file handles after they’ve been closed, so that not more than a predetermined limit stay allocated.
The spin in the loop is there because it’s waiting (polling) for other parts of the engine to finish whatever they’re doing, so it can close some more file handles.

Assuming there is no other bug, then this is largely benign, although ugly – the code could have used a condition variable that wakes up the reaper when a file handle to be closed ends up being available, rather than using polling here, which might have been a little cleaner.

This loop might be called with a lock held (the comment in the code says as much.) There’s some risk that some other code, that is holding all the files open, is also calling into this code, causing a deadlock, and the process will never finish. If you find that no other cores are doing anything, and this loop is all that’s going on, then that would be the cause. Attach to the process with “gdb” and check the call stack, after checking for active threads with “top” or whatever.

Thanks for that. Its really strange it would do that … All I did was compile a fresh copy off github. The only thing I added was a server.target.cs following the instructions for a dedicated server from documentation

Yeah, UE5 compile from source and run on linux is pretty raw.