Crash at root creation deletion
Posted: Mon Feb 14, 2005 3:27 pm
at creation :
call stack is :
also i got a crash at deleting root
code is :
and call stack is :
exception appears only sometimes....
Code: Select all
try{
try
{
mRoot = new Root();
//some other lines...
}
catch(Ogre::Exception &e)
{
Ogre::String s = "OgreApp::Init() - Exception:\n" + e.getFullDescription() + "\n";
LogManager::getSingleton().logMessage(s, LML_CRITICAL);
#undef MessageBox
System::Windows::Forms::MessageBox::Show(e.getFullDescription().c_str(), "Exception!");
// Clean up.
if(mRoot)
delete mRoot;
mRoot=NULL;
mReady=false;
//Application::Exit();
}
}
catch(...)
{
mRoot=NULL;
mReady=false;
Trace::WriteLine("ERROR O INIT");
}
Code: Select all
NTDLL.DLL!77f813b1()
NTDLL.DLL!77fb76aa()
NTDLL.DLL!77fa688d()
NTDLL.DLL!77fa65d9()
NTDLL.DLL!77f8c5e1()
NTDLL.DLL!77f8c60d()
NTDLL.DLL!77fa65d9()
NTDLL.DLL!77f8c5e1()
NTDLL.DLL!77f8c60d()
NTDLL.DLL!77fa65d9()
NTDLL.DLL!77f8c60d()
NTDLL.DLL!77fb5367()
NTDLL.DLL!77fa64f6()
NTDLL.DLL!77fb5305()
NTDLL.DLL!77fa64f6()
NTDLL.DLL!77fa64f6()
NTDLL.DLL!77f8f18b()
NTDLL.DLL!77fb5542()
NTDLL.DLL!77f8f40c()
NTDLL.DLL!77fa64f6()
NTDLL.DLL!77f967ce()
NTDLL.DLL!77f967f0()
mscorwks.dll!00c17e52()
mscorwks.dll!00c17e52()
NTDLL.DLL!77fcc9e3()
mscorwks.dll!00c17e52()
NTDLL.DLL!77f967f0()
mscorwks.dll!00c17e52()
NTDLL.DLL!77fcc9e3()
mscorwks.dll!00c394bc()
mscorwks.dll!00c4d194()
mscorwks.dll!00c3addf()
mscorwks.dll!00c394bc()
mscorwks.dll!00c4d194()
mscorwks.dll!00c4d1cd()
mscorwks.dll!00c37b2f()
mscorwks.dll!00c4d086()
mscorwks.dll!00c4d1e7()
> msvcr71d.dll!_heap_alloc_base(unsigned int size=116) Line 212 C
msvcr71d.dll!_heap_alloc_dbg(unsigned int nSize=80, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0) Line 397 + 0x9 C
msvcr71d.dll!_nh_malloc_dbg(unsigned int nSize=80, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0) Line 260 + 0x15 C
msvcr71d.dll!malloc(unsigned int nSize=80) Line 139 + 0x15 C
OgreMain_d.dll!Ogre::MemoryManager::allocMem(const char * sourceFile=0x117961a8, const unsigned int sourceLine=0, const char * sourceFunc=0x117961a8, const unsigned int allocationType=1, const unsigned int reportedSize=48, const unsigned int processID=1) Line 732 + 0xe C++
OgreMain_d.dll!Ogre::MemoryManager::op_new_sc(unsigned int reportedSize=48, unsigned int processID=1) Line 1429 + 0x20 C++
OgreMain_d.dll!operator new(unsigned int reportedSize=48) Line 351 C++
OgreMain_d.dll!std::_Allocate<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Node>(unsigned int _Count=1, std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Node * __formal=0x00000000) Line 34 + 0xc C++
OgreMain_d.dll!std::allocator<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Node>::allocate(unsigned int _Count=1) Line 137 + 0xb C++
OgreMain_d.dll!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Buynode() Line 1106 + 0xd C++
OgreMain_d.dll!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Init() Line 902 + 0x8 C++
OgreMain_d.dll!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >(const std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & _Parg={...}, const std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> > & _Al={...}) Line 363 C++
OgreMain_d.dll!std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> > >::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> > >() Line 103 C++
OgreMain_d.dll!Ogre::MaterialSerializer::MaterialSerializer() Line 1963 + 0x77 C++
OgreMain_d.dll!Ogre::MaterialManager::MaterialManager() Line 53 + 0x6d C++
OgreMain_d.dll!Ogre::Root::Root(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & pluginFileName={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & configFileName={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & logFileName={...}) Line 161 + 0x58 C++
04ec1b9c()
okontrolka.dll!OPanel.initOgre() Line 41 + 0xd1 bytes C++
code is :
Code: Select all
mutex->WaitOne();
try
{
if(mRoot!=NULL) delete(mRoot);
}
catch(System::Exception *e)
{
mutex->ReleaseMutex();
Trace::WriteLine("OGRE :: ERROR ~ROOT()");
//throw(e);
return;
}
mutex->ReleaseMutex();
Code: Select all
NTDLL.DLL!77f813b1()
NTDLL.DLL!77fb76aa()
NTDLL.DLL!77fcfdda()
NTDLL.DLL!77f96745()
NTDLL.DLL!77fb5c15()
NTDLL.DLL!77fa6afc()
OgreMain_d.dll!std::allocator<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Node>::deallocate(std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &),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 ,bool (__cdecl*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,Ogre::MaterialScriptContext &)> >,0> >::_Node * _Ptr=0x10560000, unsigned int __formal=1073741920) Line 133 + 0x10 C++
msvcr71d.dll!_free_base(void * pBlock=0x10df3638) Line 103 C
msvcr71d.dll!_free_dbg_lk(void * pUserData=0x10df3658, int nBlockUse=1) Line 1207 + 0x9 C
msvcr71d.dll!_free_dbg(void * pUserData=0x10df3658, int nBlockUse=1) Line 1070 + 0xd C
msvcr71d.dll!operator delete(void * pUserData=0x10df3658) Line 54 + 0x10 C++
msvcp71d.dll!std::allocator<char>::deallocate(char * _Ptr=0x10df3658, unsigned int __formal=32) Line 138 + 0x9 C++
msvcp71d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy(bool _Built=true, unsigned int _Newsize=0) Line 1519 C++
msvcp71d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >() Line 458 C++
OgreMain_d.dll!Ogre::MaterialScriptContext::~MaterialScriptContext() + 0x4d C++
OgreMain_d.dll!Ogre::MaterialSerializer::~MaterialSerializer() Line 148 + 0x102 C++
OgreMain_d.dll!Ogre::MaterialManager::~MaterialManager() Line 81 + 0x24 C++
OgreMain_d.dll!Ogre::MaterialManager::`vector deleting destructor'() + 0x6c C++
> OgreMain_d.dll!Ogre::Root::~Root() Line 264 + 0x6e C++