Page 1 of 1

Emu Server crash

Posted: Tue May 01, 2012 7:21 pm
by Zcoretri
I was using the \reload spells command several times in a row when I encountered this...

Unhandled exception at 0x76c0b9bc (KernelBase.dll) in EQ2World__Debug.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0018d1a8..

Code: Select all

 	KernelBase.dll!_RaiseException@16()  + 0x58 bytes	
 	EQ2World__Debug.exe!_CxxThrowException(void * pExceptionObject=0x0018d1a8, const _s__ThrowInfo * pThrowInfo=0x0094bd00)  Line 157	C++
>	EQ2World__Debug.exe!operator new(unsigned int size=35)  Line 64	C++
 	EQ2World__Debug.exe!std::_Allocate<char>(unsigned int _Count=35, char * __formal=0x00000000)  Line 36 + 0xf bytes	C++
 	EQ2World__Debug.exe!std::allocator<char>::allocate(unsigned int _Count=35)  Line 187 + 0xb bytes	C++
 	EQ2World__Debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy(unsigned int _Newsize=34, unsigned int _Oldlen=0)  Line 1937 + 0x12 bytes	C++
 	EQ2World__Debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow(unsigned int _Newsize=34, bool _Trim=false)  Line 1963 + 0x13 bytes	C++
 	EQ2World__Debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char * _Ptr=0x0018dc58, unsigned int _Count=34)  Line 920 + 0xe bytes	C++
 	EQ2World__Debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char * _Ptr=0x0018dc58)  Line 932	C++
 	EQ2World__Debug.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=0x0018dc58)  Line 595	C++
 	EQ2World__Debug.exe!LogWrite(LogType type=WORLD__ERROR, const char * cat_text=0x0089c6bc, const char * format=0x0089c698, ...)  Line 145 + 0x41 bytes	C++
 	EQ2World__Debug.exe!main(int argc=1, char * * argv=0x010e1ff8)  Line 336 + 0x11 bytes	C++
 	EQ2World__Debug.exe!__tmainCRTStartup()  Line 278 + 0x19 bytes	C
 	EQ2World__Debug.exe!mainCRTStartup()  Line 189	C
 	kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes	
 	ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes	
 	ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes	

Re: Emu Server crash

Posted: Wed May 02, 2012 9:12 am
by John Adams

Code: Select all

 	EQ2World__Debug.exe!LogWrite(LogType type=WORLD__ERROR, const char * cat_text=0x0089c6bc, const char * format=0x0089c698, ...)  Line 145 + 0x41 bytes	C++
I am going to take a guess that because this is in there, it's a malformed LogWrite() string again. If you added any, check your code otherwise it could be something I added months ago that never showed up until certain logging or events occur.

Re: Emu Server crash

Posted: Wed May 02, 2012 2:36 pm
by Jabantiz
I don't know if this is related but it looks like /reload spells has a huge memory leak when I was using this command last night. Using a 64bit version of the server the task manager reported it using 9.7GB. It always went up when I used /reload spells by about 500-700mb, however I was never able to reproduce the crash. However I had made some mods to traits on my end(mutex and added it to reload with /reload spells) and I see traits listed in there so maybe that was the cause of the crash?

Re: Emu Server crash

Posted: Wed May 02, 2012 2:45 pm
by Zcoretri
It maybe trait related, I have been adding in Master Spell choices to traits table and testing locally.

Re: Emu Server crash

Posted: Wed May 02, 2012 3:09 pm
by Jabantiz
Will commit my changes to svn now than, don't think I broke anything with these changes but you never know.