Page 1 of 1

World Crash, readlock()

Posted: Mon Mar 11, 2013 5:21 pm
by John Adams
Yet another fatal crash. This is making me sad.

Code: Select all

 	ntdll.dll!77b815de() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!77b815de() 	
 	ntdll.dll!77b7014e() 	
 	kernel32.dll!759d14dd() 	
 	EQ2World.exe!free(void * pBlock)  Line 51	C
>	EQ2World.exe!Mutex::readlock(const char * function, unsigned int line)  Line 213 + 0x54 bytes	C++
 	EQ2World.exe!World::SendGroupUpdate(PlayerGroup * group, Client * exclude)  Line 1951	C++
 	EQ2World.exe!Spawn::SetTotalHP(int new_val)  Line 695	C++
 	EQ2World.exe!Entity::CalculateBonuses()  Line 573	C++
 	EQ2World.exe!PlayerInfo::serialize(unsigned short version)  Line 517	C++
 	EQ2World.exe!ClientPacketFunctions::SendItemCreationUI()  + 0x49d7 bytes	C++
 	EQ2World.exe!ClientPacketFunctions::SendItemCreationUI()  + 0x968e bytes	C++
 	EQ2World.exe!ClientPacketFunctions::SendItemCreationUI()  + 0xa836 bytes	C++
 	EQ2World.exe!004aad9f() 	
 	ntdll.dll!77bd71d5() 	
 	ntdll.dll!77b99ec5() 	
I formed a group with alfa and heck, attacked a spawn I just created (but did not save) and at near victory, the world crashed.

Re: World Crash, readlock()

Posted: Mon Mar 11, 2013 6:37 pm
by Jabantiz
SendItemCreationUI should not be called at all if this was just a group doing combat, not sure why it is in there, and 3 times too. The rest after that makes me believe a player leveled (CalculateBonuses()) and the world crashed trying to update the other clients.

All these crashes posted recently seem to be related to combat or movement in one way or another, I will try to make time to go over it all again and do some extensive tests to try and figure out what is going wrong.

Re: World Crash, readlock()

Posted: Tue Mar 12, 2013 3:10 pm
by John Adams
Update: I was on 1008 (SF) client, Alfa was on CoE 1199 or something, and Heck I believe was on a DoV 1096. Keeping them all in sync hopefully isn't going to be a major burden, or we might have to make new decisions on supported clients :(

Re: World Crash, readlock()

Posted: Tue Mar 12, 2013 6:16 pm
by alfa
By supporting multiple client you supporting multiple works (SOE don't do that :p)
I was thinking, (yes it happend) how you want to sync clients if for example a player with CoE use or have an item, a spell, a mercenary specific to this update and group with a client with DoV or SF ?

Re: World Crash, readlock()

Posted: Tue Mar 12, 2013 6:29 pm
by John Adams
The only place we'll have issues is if an "Appearance" does not exist on older clients, then the older client simply won't see it. Functionality should still work, otherwise.

Re: World Crash, readlock()

Posted: Wed Mar 13, 2013 5:21 am
by alfa
So what about armor ? If you have a new skin, older clients see you naked ? :p

Re: World Crash, readlock()

Posted: Wed Mar 13, 2013 6:18 am
by John Adams
Yes.