Page 1 of 1

World Crash - SetWaitingForAck

Posted: Wed Apr 16, 2014 9:01 pm
by John Adams
Standing in Mekalia posting the info about this zone, the client wasn't moving, just standing there... The world server blew up behind me.

Stack:

Code: Select all

>	WorldServer.exe!Client::SetWaitingForAck(bool waiting_for_ack) Line 118	C++
 	WorldServer.exe!UDPServer::HandleWriteHelper(ClientSocketData * data, unsigned __int64 now) Line 597	C++
 	WorldServer.exe!UDPServer::HandleWrite() Line 568	C++
 	WorldServer.exe!WriterThread(void * data) Line 117	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!74ef336a()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!77139f72()	Unknown
 	ntdll.dll!77139f45()	Unknown
waiting_for_ack = true, and crashed here:

Code: Select all

void Client::SetWaitingForAck(bool waiting_for_ack) {
    if (waiting_for_ack)
        state |= CLIENT_STATE_PENDING_ACK;  <<===
    else
        state &= ~CLIENT_STATE_PENDING_ACK;
}
state = null


Not sure if this info is helpful... but the "this" looked similar to the other one, bunch of red X's.

Re: World Crash - SetWaitingForAck

Posted: Wed Apr 16, 2014 9:32 pm
by theFoof
The client pointers are probably just going bad, I'll take a look at where we delete them.