VGOEmulator.net

A Development Project for the Vanguard:Saga of Heroes MMO

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • Portal
  • Project Manager
  • Bug Tracker
  • Server List
  • Wiki
  • Donate
  • Login
  • Register
  • Board index Bugs Server Bugs Server Bugs (Closed)
  • Search

World Crash - KickDupeClients

Closed Server Bugs

Moderators: Community Managers, Developers

Locked
  • Print view
Advanced search
22 posts
  • 1
  • 2
  • 3
  • Next
User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
World Crash - KickDupeClients
  • Quote

Post by John Adams » Mon Nov 24, 2014 6:30 pm

Thought I had a bug for this before... so here's the one for right now.

Stack;

Code: Select all

 	ntdll.dll!77398277()	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 277	C++
 	WorldServer.exe!UDPServer::KickDupeClients(unsigned int account_id, unsigned int connection_id) Line 258	C++
 	WorldServer.exe!Net::HandleCharacterSelected(std::shared_ptr<Client> & client, PacketStruct * packet_struct) Line 390	C++
 	WorldServer.exe!Net::Process() Line 159	C++
 	WorldServer.exe!main(int argc, char * * argv) Line 189	C++
 	WorldServer.exe!__tmainCRTStartup() Line 241	C
 	WorldServer.exe!mainCRTStartup() Line 164	C
 	kernel32.dll!7574338a()	Unknown
 	ntdll.dll!77329f72()	Unknown
 	ntdll.dll!77329f45()	Unknown
Code:

Code: Select all

void Mutex::ReadLock() {
#if defined(_WIN32)
# if defined(VG_DEBUG)
    timem_t start = TimeMS();

    while (!TryAcquireSRWLockShared(&lock)) {  // <== here
        if ((TimeMS() - start > MUTEX_TIMEOUT)) {
&lock is empty -- first time I've seen that

Code: Select all

-		&lock	0x00000390 {Ptr=??? }	_RTL_SRWLOCK *
		Ptr	<Unable to read memory>	
		start	18446744073249213183	unsigned __int64
+		this	0x00000370 {name=0x00000370 <Error reading characters of string.> lock={Ptr=??? } }	Mutex *
Naturally, we only have big crashes when there are 5+ people online
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - KickDupeClients
  • Quote

Post by John Adams » Thu Dec 11, 2014 7:18 pm

Sitting here watching New Telon, this crash just happened again. Any ideas?
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: World Crash - KickDupeClients
  • Quote

Post by Lokked » Fri Dec 12, 2014 3:40 am

The lock object must not be initializing or is being deleted somewhere, but this seems almost impossible. I'll think about it. Perhaps a try catch can give us a change to report more.

How many were on? Was the player logging in a different char than what they've disconnected with, and into a different chunk?
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - KickDupeClients
  • Quote

Post by John Adams » Sat Dec 13, 2014 7:49 am

From what it looked like, it was 1 character (Vurgood) and 1 chunk. I think that's usually the only character he logs in with.
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - KickDupeClients
  • Quote

Post by John Adams » Sat Dec 13, 2014 2:35 pm

Today it was Zarlore. Maybe he'll see this and remember what was happening at the time. From the console, it appears he was at character select, with what looks like another character online in the world before him. If people hitting Char Select (only) is corrupting in-game connections, we got bigger problems than before.

Stack (the same)

Code: Select all

 	ntdll.dll!774c8277()	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 278	C++
 	WorldServer.exe!UDPServer::KickDupeClients(unsigned int account_id, unsigned int connection_id) Line 258	C++
 	WorldServer.exe!Net::HandleCharacterSelected(std::shared_ptr<Client> & client, PacketStruct * packet_struct) Line 390	C++
 	WorldServer.exe!Net::Process() Line 159	C++
 	WorldServer.exe!main(int argc, char * * argv) Line 189	C++
 	WorldServer.exe!__tmainCRTStartup() Line 241	C
 	WorldServer.exe!mainCRTStartup() Line 164	C
 	kernel32.dll!75c2338a()	Unknown
 	ntdll.dll!77459f72()	Unknown
 	ntdll.dll!77459f45()	Unknown
Vars:

Code: Select all

-		&lock	0x00000390 {Ptr=??? }	_RTL_SRWLOCK *
		Ptr	<Unable to read memory>	
		start	1166794971	unsigned __int64
-		this	0x00000370 {name=0x00000370 <Error reading characters of string.> lock={Ptr=??? } }	Mutex *
-		name	0x00000370 <Error reading characters of string.>	char[32]
		[0]	<Unable to read memory>	
		[1]	<Unable to read memory>	
		[2]	<Unable to read memory>	
		[3]	<Unable to read memory>	
		[4]	<Unable to read memory>	
		[5]	<Unable to read memory>	
		[6]	<Unable to read memory>	
		[7]	<Unable to read memory>	
		[8]	<Unable to read memory>	
		[9]	<Unable to read memory>	
		[10]	<Unable to read memory>	
		[11]	<Unable to read memory>	
		[12]	<Unable to read memory>	
		[13]	<Unable to read memory>	
		[14]	<Unable to read memory>	
		[15]	<Unable to read memory>	
		[16]	<Unable to read memory>	
		[17]	<Unable to read memory>	
		[18]	<Unable to read memory>	
		[19]	<Unable to read memory>	
		[20]	<Unable to read memory>	
		[21]	<Unable to read memory>	
		[22]	<Unable to read memory>	
		[23]	<Unable to read memory>	
		[24]	<Unable to read memory>	
		[25]	<Unable to read memory>	
		[26]	<Unable to read memory>	
		[27]	<Unable to read memory>	
		[28]	<Unable to read memory>	
		[29]	<Unable to read memory>	
		[30]	<Unable to read memory>	
		[31]	<Unable to read memory>	
-		lock	{Ptr=??? }	_RTL_SRWLOCK
		Ptr	<Unable to read memory>	
Console

[The extension log has been deactivated and can no longer be displayed.]

fwiw, this particular behavior is new (as in the last month or so), so it should be easy to track down what changed. Maybe it's the quick fix Lokked put in to try and clear reconnects? Could we be nuking a Lock before we're supposed to?

Which naturally brings me back to the question I've asked a dozen times; why are we not just killing all in-world connections when an Account requests a list of characters? I'm still not sure I understand why this is not the solution to all our reconnect issues.
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - KickDupeClients
  • Quote

Post by John Adams » Sat Dec 13, 2014 2:42 pm

Okay, this is worse than ever. I literally just restarted the world, Logged in fully as myself. Zarlore, god rest his soul, logs in right after me and I believe crashed out or something, because the second he hit character select again, the world crashed (above).

Could just be his character? I don't want to have to do a character wipe, I was waiting until Stats were done and 0.3 to begin, but if we're chasing our tails, we need to figure that out now. Nothing, not even bad data, should ever crash the world.
Attachments

[The extension log has been deactivated and can no longer be displayed.]

Top

Glaxono
Posts: 68
Joined: Sun Apr 27, 2014 8:09 am
Re: World Crash - KickDupeClients
  • Quote

Post by Glaxono » Sat Dec 13, 2014 2:44 pm

what the... I just replied a few moments ago and it didnt show up in this thread
Top

Glaxono
Posts: 68
Joined: Sun Apr 27, 2014 8:09 am
Re: World Crash - KickDupeClients
  • Quote

Post by Glaxono » Sat Dec 13, 2014 2:46 pm

OK... here is what happened with login today:

I was able to get to Character select - OK
I was able to select any one of my characters - OK
But then I get "Connecting [character name] ... and I eventually time out and closed to desktop
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - KickDupeClients
  • Quote

Post by John Adams » Sat Dec 13, 2014 2:49 pm

Glaxono, just for clarity, you are Zarlore, right? Does this happen with all the characters you created, or just one in particular?
Top

Glaxono
Posts: 68
Joined: Sun Apr 27, 2014 8:09 am
Re: World Crash - KickDupeClients
  • Quote

Post by Glaxono » Sat Dec 13, 2014 2:52 pm

My test characters are Zarlore, Earful, Littleman

They all did the same thing. I was just about to try a new account to see if it is just bugged up previous chracters
Top


Locked
  • Print view

22 posts
  • 1
  • 2
  • 3
  • Next

Return to “Server Bugs (Closed)”

Jump to
  • Information
  • ↳   Announcements
  • ↳   Dev Chats
  • ↳   Events
  • Community
  • ↳   General Discussions
  • ↳   VGO Team Help Requests
  • ↳   Introductions
  • ↳   Game Features
  • ↳   Wish List
  • ↳   Off-Topic
  • Support
  • ↳   How-To's
  • ↳   General Support
  • ↳   Windows
  • ↳   Linux
  • Bugs
  • ↳   Server Bugs
  • ↳   Server Bugs (Closed)
  • ↳   Content Bugs
  • ↳   Content Bugs (Closed)
  • ↳   Database Bugs
  • ↳   Tools Bugs
  • Board index
  • All times are UTC-07:00
  • Delete cookies
  • Contact us
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD