Page 1 of 1
S_FindName: empty name
Posted: Wed Apr 22, 2009 1:09 pm
by nexus024
I have recently come across a bug that causes all of the clients connected to the server to get disconnected. The bug actually crashes their quake3.exe client and displays "S_FindName empty name." It also only happens right after the timelimit or capturelimit has been met at the end of a map. What is strange though is it can go through the entire map rotation several times without crashing then all of a sudden BOOM. Anyone have any suggestions on how I can track down this elusive bug?
Re: S_FindName: empty name
Posted: Wed Apr 22, 2009 3:01 pm
by ^misantropia^
Simple solution?
1. compile a debug build
2. put a breakpoint at the call to Com_Error() in S_FindName()
3. wait for the breakpoint to be triggered
4. print out a stack trace
You'll want to compile (and run) debug DLLs. If the offending call originates from the cgame code and you're using QVMs, you'll see nothing but hex addresses and assembly opcodes further down.
Re: S_FindName: empty name
Posted: Wed Apr 22, 2009 3:19 pm
by nexus024
All I am running on the server is the game shared object file. So what I will have to do is compile a debug build of the quake3 client-side executable and run it through ddd with that breakpoint and see what turns up?
Re: S_FindName: empty name
Posted: Wed Apr 22, 2009 3:24 pm
by ^misantropia^
Nope. Compile yourself a debug client and play, play, play until the bug manifests itself. I suspect you're calling trap_S_RegisterSound() somewhere with an empty string but that is only a hunch.
Re: S_FindName: empty name
Posted: Wed Apr 22, 2009 3:24 pm
by ^misantropia^
Heh, did you just edit your post? I could swear it said something different before I typed my reply.
Re: S_FindName: empty name
Posted: Wed Apr 22, 2009 3:27 pm
by nexus024
Yes, I realized what I should've said and editted it.
