Open CrazySpence opened 2 years ago
Something that may be worth noting on this issue
The current server that runs the Master + enyo and the other public servers is 32bit
I did a ./parsec_server -m on my 64bit docker image and theres no crash. This could be a 32bit arch issue
When the 64bit code got merged into main I did a recompile of the galaxy cluster, all the regular servers started but the Master Server segfaults
Fortunately i saved the old binary so i can keep the Master up for the time being but when I use the new code this is what GDB shows:
Program received signal SIGSEGV, Segmentation fault. 0x004262aa in MasterServerItem::GetMTime (this=0x0) at ../../../../src/parsec_server/MasterServerItem.cpp:203 203 return _MTime; (gdb) bt
0 0x004262aa in MasterServerItem::GetMTime (this=0x0) at ../../../../src/parsec_server/MasterServerItem.cpp:203
1 0x004255a3 in MasterServer::RemoveStaleEntries (this=0x4abcbc) at ../../../../src/parsec_server/MasterServer.cpp:106
2 0x0043620c in E_GameServer::ServerFrame (this=0x4abcc0 <E_GameServer::GetGameServer()::_TheGameServer>) at ../../../../src/parsec_server/e_gameserver.cpp:779
3 0x0043629a in E_GameServer::MainLoop (this=0x4abcc0 <E_GameServer::GetGameServer()::_TheGameServer>) at ../../../../src/parsec_server/e_gameserver.cpp:809
4 0x0044b2b8 in main (argc=2, argv=0xbffff164) at ../../../../src/parsec_server/sv_main.cpp:84
It looks like it is trying to check stale expiry on items before they even exist tbh, like right out of starting the server it ends up in this code which doesn't seem quite right.