kvchung
04-09-2010 17:09:36
Hi again,
I found someway to make my program to crash in my 2 computers
My working Environment:
Ogre 1.71
OpenAL 1.1 SDK
OgreOggSound 1.18 with thread
VC 2008
Windows 7
1. use mRoot->showConfigDialog() and press "Cancel"
here is the stack
looks like mActionsList in OgreOggSoundManager has not been initialized but deleted.
2. Play streamed sound and exit without using "Stop"
stack:
the last log:
3. Exit when the file is still loading
I found someway to make my program to crash in my 2 computers
My working Environment:
Ogre 1.71
OpenAL 1.1 SDK
OgreOggSound 1.18 with thread
VC 2008
Windows 7
1. use mRoot->showConfigDialog() and press "Cancel"
here is the stack
>OgreOggSound_d.dll!OgreOggSound::LocklessQueue<OgreOggSound::SoundAction>::pop(OgreOggSound::SoundAction & obj={...}) line 96 + 0x6 bytes C++
OgreOggSound_d.dll!OgreOggSound::OgreOggSoundManager::~OgreOggSoundManager() line 142 + 0xf bytes C++
OgreOggSound_d.dll!OgreOggSound::OgreOggSoundManager::`scalar deleting destructor'() + 0x2b bytes C++
OgreOggSound_d.dll!OgreOggSound::OgreOggSoundPlugin::shutdown() line 65 + 0x16 bytes C++
OgreMain_d.dll!5e28df60()
OgreMain_d.dll!5e28d903()
OgreMain_d.dll!5e28a590()
Game1.exe!Ogre::Root::`scalar deleting destructor'() + 0x2e bytes C++
Game1.exe!BaseApplication::~BaseApplication() line 53 + 0x2e bytes C++
Game1.exe!Game1::~Game1() line 28 + 0x8 bytes C++
Game1.exe!WinMain(HINSTANCE__ * hInst=0x001f0000, HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x0036577f, HINSTANCE__ * __formal=0x00000000) line 159 + 0x1c bytes C++
Game1.exe!__tmainCRTStartup() line 574 + 0x35 bytes C
Game1.exe!WinMainCRTStartup() line 399 C
looks like mActionsList in OgreOggSoundManager has not been initialized but deleted.
2. Play streamed sound and exit without using "Stop"
stack:
>msvcr90d.dll!memcpy(unsigned char * dst=0x062c3a8e, unsigned char * src=0x062c04ae, unsigned long count=1) line 350 Asm
msvcr90d.dll!memcpy_s(void * dst=0x062c3a8e, unsigned int sizeInBytes=4294967295, const void * src=0x062c04ae, unsigned int count=1) line 67 + 0x11 bytes C
msvcp90d.dll!std::char_traits<char>::_Copy_s(char * _First1=0x062c3a8e, unsigned int _Size_in_bytes=4294967295, const char * _First2=0x062c04ae, unsigned int _Count=1) line 582 + 0x16 bytes C++
msvcp90d.dll!std::_Traits_helper::copy_s<std::char_traits<char> >(char * _First1=0x062c3a8e, unsigned int _Size=4294967295, const char * _First2=0x062c04ae, unsigned int _Count=1, std::_Secure_char_traits_tag __formal={...}) line 714 + 0x15 bytes C++
msvcp90d.dll!std::_Traits_helper::copy_s<std::char_traits<char> >(char * _First1=0x062c3a8e, unsigned int _Size=4294967295, const char * _First2=0x062c04ae, unsigned int _Count=1) line 706 + 0x22 bytes C++
msvcp90d.dll!std::basic_streambuf<char,std::char_traits<char> >::_Xsgetn_s(char * _Ptr=0x062c3a8e, unsigned int _Ptr_size=4294967295, int _Count=1) line 342 + 0x1a bytes C++
msvcp90d.dll!std::basic_streambuf<unsigned short,std::char_traits<unsigned short> >::_Sgetn_s(unsigned short * _Ptr=0x062c3a8e, unsigned int _Ptr_size=4294967295, int _Count=1) line 118 C++
msvcp90d.dll!std::basic_istream<char,std::char_traits<char> >::_Read_s(char * _Str=0x062c3a8e, unsigned int _Str_size=4294967295, int _Count=1) line 698 + 0x27 bytes C++
msvcp90d.dll!std::basic_istream<char,std::char_traits<char> >::read(char * _Str=0x062c3a8e, int _Count=1) line 712 C++
OgreMain_d.dll!587d37e5()
OgreOggSound_d.dll!OgreOggSound::OOSStreamRead(void * ptr=0x062c3a8e, unsigned int size=1, unsigned int nmemb=65536, void * datasource=0x06bc16b0) line 41 + 0x2b bytes C++
OgreOggSound_d.dll!_ov_open_callbacks() + 0x90a bytes
OgreOggSound_d.dll!_ov_open_callbacks() + 0x7c5 bytes
OgreOggSound_d.dll!_ov_pcm_seek() + 0xa4f bytes
OgreOggSound_d.dll!_ov_read() + 0x7b bytes
OgreOggSound_d.dll!OgreOggSound::OgreOggStreamSound::_stream(unsigned int buffer=121175880) line 333 + 0x27 bytes C++
OgreOggSound_d.dll!OgreOggSound::OgreOggStreamSound::_updateAudioBuffers() line 308 + 0xc bytes C++
OgreOggSound_d.dll!OgreOggSound::OgreOggSoundManager::_updateBuffers() line 2550 + 0x28 bytes C++
OgreOggSound_d.dll!OgreOggSound::OgreOggSoundManager::threadUpdate() line 676 C++
OgreOggSound_d.dll!boost::detail::function::void_function_invoker0<void (__cdecl*)(void),void>::invoke(boost::detail::function::function_buffer & function_ptr={...}) line 112 + 0x5 bytes C++
OgreOggSound_d.dll!boost::function0<void>::operator()() line 1013 + 0x16 bytes C++
OgreOggSound_d.dll!boost::detail::thread_data<boost::function0<void> >::run() line 57 C++
OgreOggSound_d.dll!boost::`anonymous namespace'::thread_start_function(void * param=0x003eb360) line 168 C++
msvcr90d.dll!_callthreadstartex() line 348 + 0xf bytes C
msvcr90d.dll!_threadstartex(void * ptd=0x02440c00) line 331 C
kernel32.dll!762b1194()
ntdll.dll!77a9b495()
ntdll.dll!77a9b468()
the last log:
00:01:24: DefaultWorkQueue('Root') shutting down on thread 003468A0.
00:01:24: DefaultWorkQueue('Root')::WorkerFunc - thread 036D1B78 stopped.
00:01:24: DefaultWorkQueue('Root')::WorkerFunc - thread 036D9CB8 stopped.
3. Exit when the file is still loading