Crashes / Disconnects

Old bugs stored here for reference.
Locked
Image
Retired
Posts: 251
Joined: Sun Oct 26, 2008 10:07 am

Re: Crashes / Disconnects

Post by Image » Sat Jan 10, 2009 1:06 am

I wonder if we should start capturing these crashes and have them sent in like a debug report into the bug system.. these are all different crashes.

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Re: Crashes / Disconnects

Post by LethalEncounter » Sat Jan 10, 2009 7:46 am

John Adams wrote:Also, Scat mentioned the 3rd time now that someone running at excess speed has been the symptom just before a crash. Maybe we're getting too populated for that to work anymore.
Possibly, but these crashes are a good thing as it allows me to fix something that wouldnt have shown up on a server that wasn't fully populated.

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: Crashes / Disconnects

Post by John Adams » Sat Jan 10, 2009 11:16 am

Image wrote:I wonder if we should start capturing these crashes and have them sent in like a debug report into the bug system.. these are all different crashes.
If you can think of a way to get a call stack / backtrace to submit itself to the in-game bug system, that would be great. But since the world is crashing at the time, I doubt that would work well. :D

And if it means me copy/pasting the trace, I think it'd end up the same as if I paste them here. But automating it would be nice.

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 1:24 pm

Another crash type - This could have been caused by /repop or /reload spawns. I am not sure, as I was afk when it happened. Maybe Scat will recognize it.

Code: Select all

>	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned short,PacketStruct *,std::less<unsigned short>,std::allocator<std::pair<unsigned short const ,PacketStruct *> >,0> >::_Ubound(const unsigned short & _Keyval=936)  Line 1256 + 0x8 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned short,PacketStruct *,std::less<unsigned short>,std::allocator<std::pair<unsigned short const ,PacketStruct *> >,0> >::upper_bound(const unsigned short & _Keyval=936)  Line 1002 + 0x10 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned short,PacketStruct *,std::less<unsigned short>,std::allocator<std::pair<unsigned short const ,PacketStruct *> >,0> >::equal_range(const unsigned short & _Keyval=936)  Line 1012 + 0x10 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned short,PacketStruct *,std::less<unsigned short>,std::allocator<std::pair<unsigned short const ,PacketStruct *> >,0> >::count(const unsigned short & _Keyval=936)  Line 979 + 0x10 bytes	C++
 	EQ2WorldDebug.exe!Spawn::GetInfoPacket(unsigned short version=936)  Line 918 + 0x12 bytes	C++
 	EQ2WorldDebug.exe!ZoneServer::CheckSpawnCache()  Line 1048 + 0xd bytes	C++
 	EQ2WorldDebug.exe!ZoneServer::SpawnProcess()  Line 645	C++
 	EQ2WorldDebug.exe!SpawnLoop(void * tmp=0x07474ff8)  Line 2692 + 0x8 bytes	C++
 	EQ2WorldDebug.exe!_callthreadstart()  Line 293 + 0xf bytes	C
 	EQ2WorldDebug.exe!_threadstart(void * ptd=0x07475d40)  Line 277	C
 	kernel32.dll!77e64829() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
The only players online were me, Zcoretri and Scatman, and we were all huddled around a Qeynosian Scout in one area.

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 1:50 pm

Another:

Code: Select all

>	EQ2WorldDebug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length()  Line 1594 + 0x3 bytes	C++
 	EQ2WorldDebug.exe!Spawn::GetSpawnScript()  Line 644 + 0xe bytes	C++
 	EQ2WorldDebug.exe!ZoneServer::CallSpawnScript(Spawn * npc=0x1c9bd9c0, unsigned char type='', Spawn * spawn=0x00000000, char * message=0x165ec03c)  Line 974 + 0x8 bytes	C++
 	EQ2WorldDebug.exe!ZoneServer::CheckSpawnScriptTimers()  Line 1906	C++
 	EQ2WorldDebug.exe!ZoneServer::SpawnProcess()  Line 635	C++
 	EQ2WorldDebug.exe!SpawnLoop(void * tmp=0x07566690)  Line 2692 + 0x8 bytes	C++
 	EQ2WorldDebug.exe!_callthreadstart()  Line 293 + 0xf bytes	C
 	EQ2WorldDebug.exe!_threadstart(void * ptd=0x07561a50)  Line 277	C
 	kernel32.dll!77e64829() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
Scat was trying to figure out how 2 "a Qeynosian Scout" NPCs were ending up in the tree at the same time, when there clearly is only 1 spawn entry for him. Maybe this anomaly eventually caught up and crashed us?

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 2:32 pm

Another:

Code: Select all

>	EQ2WorldDebug.exe!strlen(unsigned char * buf=0x00000000)  Line 69	Asm
 	EQ2WorldDebug.exe!std::char_traits<char>::length(const char * _First=0xdddddddd)  Line 442 + 0x9 bytes	C++
 	EQ2WorldDebug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char * _Ptr=0xdddddddd)  Line 1032 + 0x9 bytes	C++
 	EQ2WorldDebug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(const char * _Ptr=0xdddddddd)  Line 634	C++
 	EQ2WorldDebug.exe!LuaInterface::GetSpawnScript(const char * name=0xdddddddd)  Line 655 + 0xf bytes	C++
 	EQ2WorldDebug.exe!LuaInterface::RunSpawnScript(char * script_name=0xdddddddd, char * function_name=0x076b3114, Spawn * npc=0x079cb6b0, Spawn * spawn=0x00000000, char * message=0x00000000)  Line 673 + 0xc bytes	C++
 	EQ2WorldDebug.exe!ZoneServer::CallSpawnScript(Spawn * npc=0x079cb6b0, unsigned char type='', Spawn * spawn=0x00000000, char * message=0x076b3114)  Line 1029	C++
 	EQ2WorldDebug.exe!ZoneServer::CheckSpawnScriptTimers()  Line 1906	C++
 	EQ2WorldDebug.exe!ZoneServer::SpawnProcess()  Line 635	C++
 	EQ2WorldDebug.exe!SpawnLoop(void * tmp=0x1458e170)  Line 2692 + 0x8 bytes	C++
 	EQ2WorldDebug.exe!_callthreadstart()  Line 293 + 0xf bytes	C
 	EQ2WorldDebug.exe!_threadstart(void * ptd=0x1453b680)  Line 277	C
 	kernel32.dll!77e64829() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
Again, Scatman just working with that duped spawn and being a /reload spawnscripts fiend. =)

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: Crashes / Disconnects

Post by Scatman » Wed Jan 14, 2009 2:33 pm

I'm such a trouble maker.

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 2:37 pm

I swear, Zco and I were having a civilized conversation about DoT termination, when he tried to use the spell and we crashed. :)

Code: Select all

>	EQ2WorldDebug.exe!SpellProcess::TakePower(LuaSpell * spell=0x0706bf20)  Line 352 + 0x16 bytes	C++
 	EQ2WorldDebug.exe!SpellProcess::SendFinishedCast(LuaSpell * spell=0x0706bf20, Client * client=0x0811d398)  Line 309	C++
 	EQ2WorldDebug.exe!SpellProcess::CastProcessedSpell(LuaSpell * spell=0x0706bf20)  Line 596	C++
 	EQ2WorldDebug.exe!SpellProcess::Process()  Line 131	C++
 	EQ2WorldDebug.exe!main(int argc=1, char * * argv=0x00352c88)  Line 262	C++
 	EQ2WorldDebug.exe!__tmainCRTStartup()  Line 318 + 0x19 bytes	C
 	EQ2WorldDebug.exe!mainCRTStartup()  Line 187	C
 	kernel32.dll!77e6f23b() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00500069, const std::pair<unsigned int const ,lua_State *> & _Val=(3435973836,0xcccccccc))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00350039, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::insert(std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::iterator _Where=(0xcccccccc {in_combat=??? loot_items={...} loot_coins=??? ...},true), const std::pair<Entity * const,bool> & _Val=(0x00000000 {in_combat=??? loot_items={...} loot_coins=??? ...},false))  Line 683 + 0x25 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00350036, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!PacketStruct::setSubstructArrayDataByName<unsigned short>(char * substruct_name=0x002e0073, char * name=0x006f0043, unsigned short data=109, unsigned short index=111, unsigned short substruct_index=45)  Line 167 + 0x27 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006d006d, const std::pair<unsigned int const ,lua_State *> & _Val=(1238165586,0xc483fff7))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x0048006e, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x0048006e, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00350039, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::insert(std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::iterator _Where=(0xf7e4e818 {in_combat=??? loot_items={...} loot_coins=??? ...},true), const std::pair<Entity * const,bool> & _Val=(0xfffffefc {in_combat=??? loot_items={...} loot_coins=??? ...},true))  Line 683 + 0x25 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00740075, const std::pair<unsigned int const ,lua_State *> & _Val=(3968554444,0x5344ec83))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!PacketStruct::setSubstructArrayDataByName<unsigned short>(char * substruct_name=0x002e0073, char * name=0x0065004e, unsigned short data=116, unsigned short index=111, unsigned short substruct_index=107)  Line 167 + 0x27 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c0064, const std::pair<unsigned int const ,lua_State *> & _Val={...})  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned short,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned short> >,0> >::_Tidy()  Line 1327 + 0x48 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned short,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned short> >,0> >::_Tidy()  Line 1327 + 0x48 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned short,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned short> >,0> >::_Tidy()  Line 1327 + 0x48 bytes	C++
"The Spell" being simply a Beta Damage spell (id 2) that hits target, then dots it for 12 seconds. The problem we were talking about has to do with the maintained spell Icon not being released if the target dies before the duration expires.

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: Crashes / Disconnects

Post by Scatman » Wed Jan 14, 2009 2:45 pm

There's a good possibility I used /reload spells while Sak was trying to cast the spell if that means anything.

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 2:56 pm

Just got a second one of those, and before the console closed I looked to see if any casting or reloading was happening, and I did not see it. What I did do was cast the spell and then after a moment walk away from the mob after it's death and de-pop corpse. Could still be the casting of it, but it shouldn't crash regardless. I've used Beta Damage for months without issue.

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 3:20 pm

I have an interesting situation right now, that very rarely occurs. It seems the World has completely stopped responding. No chat, no combat, spells, etc... like it is disconnected, yet not crashed (yet). This may be a deadlock, and I am waiting for the debugger to kick in. Again, this seems a very rare type of crash. Soon as I get info, I'll post it. But I usually end up having to kill the world and just restart it.

Sadly, this is a new VM and I forgot to set the CriticalSection down. Still 2592000 heh... So I might need to wait 30 days for this to break ;)


Edit: I'm just going to break out of this one and reset my CriticalSectionTimeout to 30, and hope to catch it again at some point. Sorry :(

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Re: Crashes / Disconnects

Post by LethalEncounter » Wed Jan 14, 2009 3:39 pm

You sure you're not missing a line on that last stacktrace? I dont see how that could possibly crash at that point.

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 4:11 pm

It is a select-all from the call stack window, so I don't think it's missing anything. I'll see if we can re-create that last one again, as I think it is casting the same spell from two different clients (if it's the one I'm thinking of).

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 4:17 pm

Ok, here's another grab of that same thing I believe.

Code: Select all

>	EQ2WorldDebug.exe!SpellProcess::TakePower(LuaSpell * spell=0x0337a688)  Line 352 + 0x16 bytes	C++
 	EQ2WorldDebug.exe!SpellProcess::SendFinishedCast(LuaSpell * spell=0x0337a688, Client * client=0x0747b258)  Line 309	C++
 	EQ2WorldDebug.exe!SpellProcess::CastProcessedSpell(LuaSpell * spell=0x0337a688)  Line 596	C++
 	EQ2WorldDebug.exe!SpellProcess::Process()  Line 131	C++
 	EQ2WorldDebug.exe!main(int argc=1, char * * argv=0x00352c88)  Line 262	C++
 	EQ2WorldDebug.exe!__tmainCRTStartup()  Line 318 + 0x19 bytes	C
 	EQ2WorldDebug.exe!mainCRTStartup()  Line 187	C
 	kernel32.dll!77e6f23b() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00500069, const std::pair<unsigned int const ,lua_State *> & _Val=(3435973836,0xcccccccc))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00350039, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::insert(std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::iterator _Where=(0xcccccccc {in_combat=??? loot_items={...} loot_coins=??? ...},true), const std::pair<Entity * const,bool> & _Val=(0x00000000 {in_combat=??? loot_items={...} loot_coins=??? ...},false))  Line 683 + 0x25 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00350036, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!PacketStruct::setSubstructArrayDataByName<unsigned short>(char * substruct_name=0x002e0073, char * name=0x006f0043, unsigned short data=109, unsigned short index=111, unsigned short substruct_index=45)  Line 167 + 0x27 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006d006d, const std::pair<unsigned int const ,lua_State *> & _Val=(1238165586,0xc483fff7))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x0048006e, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x0048006e, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00350039, const std::pair<unsigned int const ,lua_State *> & _Val=(0,0x00000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::insert(std::_Tree<std::_Tmap_traits<Entity *,bool,std::less<Entity *>,std::allocator<std::pair<Entity * const,bool> >,0> >::iterator _Where=(0xf7e4e818 {in_combat=??? loot_items={...} loot_coins=??? ...},true), const std::pair<Entity * const,bool> & _Val=(0xfffffefc {in_combat=??? loot_items={...} loot_coins=??? ...},true))  Line 683 + 0x25 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c006f, const std::pair<unsigned int const ,lua_State *> & _Val=(3260933515,0xcccc0014))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00740075, const std::pair<unsigned int const ,lua_State *> & _Val=(3968554444,0x5344ec83))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!PacketStruct::setSubstructArrayDataByName<unsigned short>(char * substruct_name=0x002e0073, char * name=0x0065004e, unsigned short data=116, unsigned short index=111, unsigned short substruct_index=107)  Line 167 + 0x27 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x00770074, const std::pair<unsigned int const ,lua_State *> & _Val=(16532935,0x8b000000))  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Insert(bool _Addleft=true, std::_Tree_nod<std::_Tmap_traits<unsigned int,lua_State *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,lua_State *> >,0> >::_Node * _Wherenode=0x006c0064, const std::pair<unsigned int const ,lua_State *> & _Val={...})  Line 1146 + 0x14 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned short,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned short> >,0> >::_Tidy()  Line 1327 + 0x48 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned short,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned short> >,0> >::_Tidy()  Line 1327 + 0x48 bytes	C++
 	EQ2WorldDebug.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned short,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned short> >,0> >::_Tidy()  Line 1327 + 0x48 bytes	C++

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: Crashes / Disconnects

Post by John Adams » Wed Jan 14, 2009 4:30 pm

Another, slightly different than the one reported earlier:

Code: Select all

 	EQ2WorldDebug.exe!_luaS_newlstr()  + 0x46 bytes	C
 	EQ2WorldDebug.exe!_lua_getfield()  + 0x33 bytes	C
>	EQ2WorldDebug.exe!LuaInterface::RunSpawnScript(char * script_name=0x135df1b8, char * function_name=0x15501e3c, Spawn * npc=0x135cfd88, Spawn * spawn=0x00000000, char * message=0x00000000)  Line 684 + 0x12 bytes	C++
 	EQ2WorldDebug.exe!ZoneServer::CallSpawnScript(Spawn * npc=0x135cfd88, unsigned char type='', Spawn * spawn=0x00000000, char * message=0x15501e3c)  Line 1029	C++
 	EQ2WorldDebug.exe!ZoneServer::CheckSpawnScriptTimers()  Line 1906	C++
 	EQ2WorldDebug.exe!ZoneServer::SpawnProcess()  Line 635	C++
 	EQ2WorldDebug.exe!SpawnLoop(void * tmp=0x07615678)  Line 2692 + 0x8 bytes	C++
 	EQ2WorldDebug.exe!_callthreadstart()  Line 293 + 0xf bytes	C
 	EQ2WorldDebug.exe!_threadstart(void * ptd=0x07536090)  Line 277	C
 	kernel32.dll!77e64829() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	

Locked

Who is online

Users browsing this forum: No registered users and 0 guests