Crash in CTextureHandler::~CTextureHandler() Line 241

Crash in CTextureHandler::~CTextureHandler() Line 241

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
submarine
AI Developer
Posts: 834
Joined: 31 Jan 2005, 20:04

Crash in CTextureHandler::~CTextureHandler() Line 241

Post by submarine »

Caught the following crash (several times, seems to occur after running a few games (>2), previous games quitted normally)

Here's the callstack:
> spring.exe!CTextureHandler::~CTextureHandler() Line 241 C++
spring.exe!CTextureHandler::`scalar deleting destructor'() + 0x8 Bytes C++
spring.exe!CFartextureHandler::~CFartextureHandler() Zeile 35 C++
spring.exe!CGame::~CGame() Zeile 469 + 0x17 Bytes C++
spring.exe!CGame::`scalar deleting destructor'() + 0x8 Bytes C++
spring.exe!SpringApp::Shutdown() Zeile 1014 C++
spring.exe!SpringApp::Run(int argc=49, char * * argv=0x01ff4a00) Zeile 1001 + 0x7 Bytes C++
spring.exe!Run(int argc=2, char * * argv=0x01ff4a98) Zeile 1055 + 0x11 Bytes C++
spring.exe!WinMain(HINSTANCE__ * hInstanceIn=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00162331, int nCmdShow=10) Zeile 1104 + 0x1b Bytes C++
spring.exe!__tmainCRTStartup() Zeile 578 + 0x1d Bytes C
kernel32.dll!7c816fd7()
spring.exe!PushGuiSound(lua_State * L=0x00740073, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name={...}, const GuiSound & sound={...}) Zeile 470 + 0x8d Bytes C++
spring.exe!PushGuiSound(lua_State * L=0x00740052, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name={...}, const GuiSound & sound={...}) Zeile 470 + 0x81 Bytes C++
spring.exe!_VideoForWindowsVersion@0() + 0x1ed6c Bytes C++
spring.exe!_VideoForWindowsVersion@0() + 0x1ed6c Bytes C++
spring.exe!PushGuiSound(lua_State * L=0x00740052, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name={...}, const GuiSound & sound={...}) Zeile 470 + 0x81 Bytes C++
spring.exe!_VideoForWindowsVersion@0() + 0x1ed6c Bytes C++
spring.exe!ParseUnit(lua_State * L=0x00000000, const char * caller=0x00000000, int index=0) Zeile 1076 + 0xc Bytes C++
spring.exe!ParseUnit(lua_State * L=0x00000000, const char * caller=0x00000000, int index=0) Zeile 1076 + 0xc Bytes C++
spring.exe!PushGuiSound(lua_State * L=0x006c0044, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name={...}, const GuiSound & sound={...}) Zeile 470 + 0x81 Bytes C++
spring.exe!ParseUnit(lua_State * L=0x00000000, const char * caller=0x00730065, int index=0) Zeile 1076 + 0xc Bytes C++
spring.exe!ParseUnit(lua_State * L=0x00000000, const char * caller=0x00730065, int index=0) Zeile 1076 + 0xc Bytes C++
spring.exe!ParseUnit(lua_State * L=0x00000000, const char * caller=0x00730065, int index=0) Zeile 1076 + 0xc Bytes C++
spring.exe!PushGuiSound(lua_State * L=0x00650052, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name={...}, const GuiSound & sound={...}) Zeile 470 + 0x81 Bytes C++
spring.exe!ParseUnit(lua_State * L=0x00000000, const char * caller=0x00730065, int index=0) Zeile 1076 + 0xc Bytes C++
spring.exe!luabind::detail::pointer_converter<luabind::detail::cpp_to_lua>::apply<CGlobalSyncedStuff>(lua_State * L=0x00780064, CGlobalSyncedStuff * ptr=0x0072006d) Zeile 490 C++
spring.exe!luabind::detail::pointer_converter<luabind::detail::cpp_to_lua>::apply<CGlobalSyncedStuff>(lua_State * L=0x00740072, CGlobalSyncedStuff * ptr=0x00640063) Zeile 490 C++
spring.exe!luabind::detail::pointer_converter<luabind::detail::cpp_to_lua>::apply<CGlobalSyncedStuff>(lua_State * L=0x00740072, CGlobalSyncedStuff * ptr=0x00720063) Zeile 490 C++
spring.exe!luabind::detail::pointer_converter<luabind::detail::cpp_to_lua>::apply<CGlobalSyncedStuff>(lua_State * L=0x00740072, CGlobalSyncedStuff * ptr=0x002e0070) Zeile 490 C++
spring.exe!_VideoForWindowsVersion@0() + 0x1ed6c Bytes C++
spring.exe!_VideoForWindowsVersion@0() + 0x1ed6c Bytes C++


Hmm somehow vs.net displays german messages ?! "Zeile" means "line"


Code: Select all

CTextureHandler::~CTextureHandler()
{
	map<string,UnitTexture*>::iterator tti;
	for(tti=textures.begin();tti!=textures.end();++tti){
		delete tti->second;
	}
	while(s3oTextures.size()>1){
		glDeleteTextures (1, &s3oTextures.back().tex1);
		glDeleteTextures (1, &s3oTextures.back().tex2);
		s3oTextures.pop_back();
	}
	glDeleteTextures (1, &(globalTex));
}
Post Reply

Return to “Help & Bugs”