[BUG] World Crash logging in

Old bugs stored here for reference.
Locked
User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

[BUG] World Crash logging in

Post by John Adams » Wed Feb 01, 2012 11:47 am

While this database does have an excessive number of spawns in it, I do not care that world "Crashes" for any reason. So if we can prevent that, it would be best. Here's the call stack. All I did was log into OO zone, with 9200 spawns attempting to load. No scripts or factions are configured so no NPCs should hate one another. Not sure why I am in this function when it crashes:

Code: Select all

 	ntdll.dll!76eb15de() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!76eb15de() 	
 	ntdll.dll!76ea014e() 	
 	KernelBase.dll!7483b9bc() 	
 	EQ2World__Debug.exe!_unlock(int locknum)  Line 375	C
 	EQ2World__Debug.exe!_unlockexit()  Line 785 + 0x7 bytes	C
 	EQ2World__Debug.exe!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo)  Line 157	C++
 	EQ2World__Debug.exe!operator new(unsigned int size)  Line 64	C++
 	EQ2World__Debug.exe!std::_Allocate<std::_Container_proxy>(unsigned int _Count, std::_Container_proxy * __formal)  Line 36 + 0x15 bytes	C++
 	EQ2World__Debug.exe!std::allocator<std::_Container_proxy>::allocate(unsigned int _Count)  Line 187 + 0xb bytes	C++
 	EQ2World__Debug.exe!std::_Tree_nod<std::_Tmap_traits<Location *,unsigned int,std::less<Location *>,std::allocator<std::pair<Location * const,unsigned int> >,0> >::_Tree_nod<std::_Tmap_traits<Location *,unsigned int,std::less<Location *>,std::allocator<std::pair<Location * const,unsigned int> >,0> >(const std::less<Location *> & _Parg, std::allocator<std::pair<Location * const,unsigned int> > _Al)  Line 492 + 0xa bytes	C++
 	EQ2World__Debug.exe!std::_Tree_val<std::_Tmap_traits<Entity *,unsigned int,std::less<Entity *>,std::allocator<std::pair<Entity * const,unsigned int> >,0> >::_Tree_val<std::_Tmap_traits<Entity *,unsigned int,std::less<Entity *>,std::allocator<std::pair<Entity * const,unsigned int> >,0> >(const std::less<Entity *> & _Parg, std::allocator<std::pair<Entity * const,unsigned int> > _Al)  Line 542 + 0x51 bytes	C++
 	EQ2World__Debug.exe!std::_Tree<std::_Tmap_traits<Entity *,unsigned int,std::less<Entity *>,std::allocator<std::pair<Entity * const,unsigned int> >,0> >::_Tree<std::_Tmap_traits<Entity *,unsigned int,std::less<Entity *>,std::allocator<std::pair<Entity * const,unsigned int> >,0> >(const std::less<Entity *> & _Parg, const std::allocator<std::pair<Entity * const,unsigned int> > & _Al)  Line 698 + 0x51 bytes	C++
 	EQ2World__Debug.exe!std::map<float,Spawn *,std::less<float>,std::allocator<std::pair<float const ,Spawn *> > >::map<float,Spawn *,std::less<float>,std::allocator<std::pair<float const ,Spawn *> > >()  Line 106 + 0x4b bytes	C++
>	EQ2World__Debug.exe!ZoneServer::CheckEnemyList(NPC * npc)  Line 571 + 0x8 bytes	C++
 	EQ2World__Debug.exe!ZoneServer::ProcessAggroChecks()  Line 3884	C++
 	EQ2World__Debug.exe!ZoneServer::Process()  Line 923	C++
 	EQ2World__Debug.exe!ZoneLoop(void * tmp)  Line 4021 + 0x8 bytes	C++
 	EQ2World__Debug.exe!_callthreadstart()  Line 259 + 0xf bytes	C
 	EQ2World__Debug.exe!_threadstart(void * ptd)  Line 243	C
 	kernel32.dll!74a1339a() 	
 	ntdll.dll!76ec9ef2() 	
 	ntdll.dll!76ec9ec5() 	

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: [BUG] World Crash logging in

Post by Scatman » Thu Feb 02, 2012 5:39 am

Any chance you ran out of memory? Looks like a new may have failed...

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: [BUG] World Crash logging in

Post by John Adams » Thu Feb 02, 2012 7:24 am

Not unless you think 12GB RAM with 7GB free is considered "running out" to stupid ass Windows :D I suppose it is related to the excessive spawns, but hoping to plug any holes regardless of the cause.

Think we could wrap whatever it is you think it might be in a try/catch? Or do you think those are evil error masking tricks used by slacker developers who don't want to write solid code? (snicker)



(btw, I see them all over my product at work, so it's them I'm jabbing, not my wonderful C++ dudes here lol)

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: [BUG] World Crash logging in

Post by Scatman » Thu Feb 02, 2012 8:02 am

I hate try/catch for many reasons ;). But what we could do is use the nothrow keyword with new to make it return null like malloc and we can capture and handle it properly

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: [BUG] World Crash logging in

Post by John Adams » Thu Feb 02, 2012 8:27 am

Scatman wrote:Τι στο διάολο έκανε yo μόνο να πω;
Sure, whatever you say :shock:


(btw, that's Greek ;))

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: [BUG] World Crash logging in

Post by Scatman » Thu Feb 02, 2012 9:01 am

Google! They have greek to english translstions :D. Ill putafew into world today as examples.

Locked

Who is online

Users browsing this forum: No registered users and 0 guests