World Crash: KickDupeClients (moved)
Posted: Sun Mar 15, 2015 3:49 am
The New Telon server is currently down.
A Development Project for the Vanguard:Saga of Heroes MMO
https://vgoemulator.net/phpBB3/
Code: Select all
ntdll.dll!77bb8277() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
> WorldServer.exe!Mutex::ReadLock() Line 99 C++
WorldServer.exe!UDPServer::GetClient(unsigned int account_id) Line 194 C++
WorldServer.exe!ChunkServer::GetClient(unsigned int account_id) Line 288 C++
WorldServer.exe!UDPServer::KickDupeClients(unsigned int account_id, unsigned int connection_id) Line 268 C++
WorldServer.exe!Net::HandleCharacterSelected(std::shared_ptr<Client> & client, PacketStruct * packet_struct) Line 496 C++
WorldServer.exe!Net::Process() Line 161 C++
WorldServer.exe!main(int argc, char * * argv) Line 216 C++
WorldServer.exe!__tmainCRTStartup() Line 241 C
WorldServer.exe!mainCRTStartup() Line 164 C
kernel32.dll!7694338a() Unknown
ntdll.dll!77b49f72() Unknown
ntdll.dll!77b49f45() UnknownCode: Select all
void UDPServer::KickDupeClients(uint32_t account_id, uint32_t connection_id) {
Code: Select all
auto chunk_client = character->GetCurrentChunk()->GetClient(world_client->GetAccountID());
Code: Select all
shared_ptr<Client> ChunkServer::GetClient(uint32_t account_id) {
LogInfo(LOG_CHUNK, 0, "ChunkServer::GetClient Account_id = %i", account_id);
return udp.GetClient(account_id);
}
Code: Select all
shared_ptr<Client> UDPServer::GetClient(uint32_t account_id) {
LogInfo(LOG_UDP, 0, "UDPServer::GetClient Account_id = %i", account_id);
shared_ptr<Client> client;
LogInfo(LOG_UDP, 0, "UDPServer::GetClient shared_ptr");
m_clients.ReadLock();
LogInfo(LOG_UDP, 0, "UDPServer::GetClient ReadLock Account_id = %i", account_id);
for (auto& itr : clients) {
if (itr.second->GetAccountID() == account_id && itr.second->IsConnected()) {
client = itr.second;
break;
}
}
m_clients.ReadUnlock();
LogInfo(LOG_UDP, 0, "GetClient Return Client Account_id = %i", account_id);
return client;
}
Code: Select all
20:40:55.796 I UDP KickDupeClients Account_id = 1 Connection_id = 543107592
20:40:55.798 I UDP KickDupeClients Readlock Account_id = 1 Connection_id = 543107592
20:40:55.799 I UDP KickDupeClients ReadUnlock Account_id = 1 Connection_id = 543107592
20:40:55.800 I UDP KickDupeClients before auto chunk_client
20:40:55.801 I Chunk ChunkServer::GetClient Account_id = 1
20:40:55.802 I UDP UDPServer::GetClient Account_id = 1
20:40:55.802 I UDP UDPServer::GetClient shared_ptr