View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0003385 | Spring engine | General | public | 2013-01-04 22:46 | 2013-01-21 00:08 | ||||
Reporter | abma | ||||||||
Assigned To | abma | ||||||||
Priority | normal | Severity | crash | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 91.0.1+git | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0003385: crash after "Loading Unit Definitions" | ||||||||
Description | Program received signal SIGSEGV, Segmentation fault. 0x00000000007cf85d in CReadMap::InitHeightMapDigestsVectors (this=0x2df0000) at rts/Map/ReadMap.cpp:524 524 const int losSquaresX = loshandler->losSizeX; (gdb) bt #0 0x00000000007cf85d in CReadMap::InitHeightMapDigestsVectors (this=0x2df0000) at rts/Map/ReadMap.cpp:524 #1 0x00000000007cf4e4 in CReadMap::HeightMapUpdateLOSCheck (this=0x2df0000, rect=...) at rts/Map/ReadMap.cpp:477 #2 0x00000000007ce9dc in CReadMap::BecomeSpectator (this=0x2df0000) at rts/Map/ReadMap.cpp:577 0000003 0x00000000005e19c4 in CPlayer::StartSpectating (this=0x240d400) at rts/Game/Player.cpp:118 0000004 0x00000000009f3743 in CTeam::Died (this=0x1da0b60, normalDeath=false) at rts/Sim/Misc/Team.cpp:246 0000005 0x000000000054ebed in CGame::~CGame (this=0x1c78c40, __in_chrg=<optimized out>) at rts/Game/Game.cpp:355 #6 0x000000000054ef84 in CGame::~CGame (this=0x1c78c40, __in_chrg=<optimized out>) at rts/Game/Game.cpp:441 #7 0x0000000000c1f4ab in SafeDelete<CGame*> (a=@0x181b8a0: 0x0) at rts/System/Util.h:158 #8 0x0000000000c1c6ba in SpringApp::Shutdown () at rts/System/SpringApp.cpp:1116 #9 0x0000000000c11147 in ErrorMessageBox (msg=..., caption=..., flags=0) at rts/System/Platform/errorhandler.cpp:94 0000010 0x0000000000d28c94 in SoundBuffer::LoadWAV (this=0x2d5f7a0, file=..., buffer=..., strict=true) at rts/System/Sound/SoundBuffer.cpp:76 #11 0x0000000000d23281 in CSound::LoadSoundBuffer (this=0x1a37400, path=..., hardFail=true) at rts/System/Sound/Sound.cpp:591 0000012 0x0000000000d209aa in CSound::GetSoundId (this=0x1a37400, name=..., hardFail=true) at rts/System/Sound/Sound.cpp:137 0000013 0x00000000009a9724 in CommonDefHandler::LoadSoundFile (fileName=...) at rts/Sim/Misc/CommonDefHandler.cpp:32 0000014 0x0000000000b635ee in CUnitDefHandler::LoadSound (this=0x25cbdc0, gsound=..., fileName=..., volume=1) at rts/Sim/Units/UnitDefHandler.cpp:223 #15 0x0000000000b63453 in CUnitDefHandler::LoadSounds (this=0x25cbdc0, soundsTable=..., gsound=..., soundName=...) at rts/Sim/Units/UnitDefHandler.cpp:215 #16 0x0000000000b62ca1 in CUnitDefHandler::UnitDefLoadSounds (this=0x25cbdc0, ud=0x1f73700, udTable=...) at rts/Sim/Units/UnitDefHandler.cpp:180 #17 0x0000000000b624d1 in CUnitDefHandler::PushNewUnitDef (this=0x25cbdc0, unitName=..., udTable=...) at rts/Sim/Units/UnitDefHandler.cpp:87 #18 0x0000000000b6202e in CUnitDefHandler::CUnitDefHandler (this=0x25cbdc0) at rts/Sim/Units/UnitDefHandler.cpp:54 #19 0x00000000005505aa in CGame::PostLoadSimulation (this=0x1c78c40) at rts/Game/Game.cpp:561 0000020 0x000000000054f080 in CGame::LoadGame (this=0x1c78c40, mapName=...) at rts/Game/Game.cpp:453 ---Type <return> to continue, or q <return> to quit--- #21 0x00000000005d2985 in CLoadScreen::Init (this=0x23c0160) at rts/Game/LoadScreen.cpp:118 #22 0x00000000005d2fbe in CLoadScreen::CreateInstance (mapName=..., modName=..., saveFile=warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) 0x0) at rts/Game/LoadScreen.cpp:181 #23 0x00000000005eac3f in CPreGame::UpdateClientNet (this=0x1bab4a0) at rts/Game/PreGame.cpp:296 0000024 0x00000000005ea174 in CPreGame::Update (this=0x1bab4a0) at rts/Game/PreGame.cpp:165 #25 0x0000000000c1ef34 in GML::UpdateSim (ac=0x1bab4a0) at rts/lib/gml/gml_base.h:43 0000026 0x0000000000c1c3e6 in SpringApp::Update (this=0x7fffffffe3c0) at rts/System/SpringApp.cpp:1009 0000027 0x0000000000c1c618 in SpringApp::Run (this=0x7fffffffe3c0, argc=1, argv=0x7fffffffe588) at rts/System/SpringApp.cpp:1094 #28 0x0000000000bf97cb in Run (argc=1, argv=0x7fffffffe588) at rts/System/Main.cpp:64 0000029 0x0000000000bf9e3e in main (argc=1, argv=0x7fffffffe588) at rts/System/Main.cpp:149 | ||||||||
Steps To Reproduce | download http://www.hktresnjevka.hr/xta/XTA%20SVN.sd7 run -> crash | ||||||||
Additional Information | (gdb) bt full #0 0x00000000007cf85d in CReadMap::InitHeightMapDigestsVectors (this=0x2df0000) at rts/Map/ReadMap.cpp:524 losSquaresX = 0 losSquaresY = 25414616 size = 0 #1 0x00000000007cf4e4 in CReadMap::HeightMapUpdateLOSCheck (this=0x2df0000, rect=...) at rts/Map/ReadMap.cpp:477 losSqSize = -10976 lm = @0x5f3c1e: {x1 = 1213580233, {z1 = -1991711351, y1 = -1991711351}, x2 = -1958152067, {z2 = -1958152123, y2 = -1958152123}} #2 0x00000000007ce9dc in CReadMap::BecomeSpectator (this=0x2df0000) at rts/Map/ReadMap.cpp:577 No locals. 0000003 0x00000000005e19c4 in CPlayer::StartSpectating (this=0x240d400) at rts/Game/Player.cpp:118 No locals. 0000004 0x00000000009f3743 in CTeam::Died (this=0x1da0b60, normalDeath=false) at rts/Sim/Misc/Team.cpp:246 a = 0 0000005 0x000000000054ebed in CGame::~CGame (this=0x1c78c40, __in_chrg=<optimized out>) at rts/Game/Game.cpp:355 t = 0 #6 0x000000000054ef84 in CGame::~CGame (this=0x1c78c40, __in_chrg=<optimized out>) at rts/Game/Game.cpp:441 No locals. #7 0x0000000000c1f4ab in SafeDelete<CGame*> (a=warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) @0x181b8a0: 0x0) at rts/System/Util.h:158 tmp = 0x1c78c40 #8 0x0000000000c1c6ba in SpringApp::Shutdown () at rts/System/SpringApp.cpp:1116 No locals. #9 0x0000000000c11147 in ErrorMessageBox (msg=..., caption=..., flags=0) at rts/System/Platform/errorhandler.cpp:94 forcedExitThread = 0x1aea390 0000010 0x0000000000d28c94 in SoundBuffer::LoadWAV (this=0x2d5f7a0, file=..., buffer=..., strict=true) at rts/System/Sound/SoundBuffer.cpp:76 ---Type <return> to continue, or q <return> to quit--- header = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) format = 32767 #11 0x0000000000d23281 in CSound::LoadSoundBuffer (this=0x1a37400, path=..., hardFail=true) at rts/System/Sound/Sound.cpp:591 file = {fileName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x38fdd98 "sounds/servtny2.wav"}}, ifs = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , fileBuffer = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { _M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, _M_start = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , _M_finish = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , _M_end_of_storage = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) }}, <No data fields>}, filePos = 0, fileSize = 0} buf = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { _M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, _M_start = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , _M_finish = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , _M_end_of_storage = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) }}, <No data fields>} buffer = {px = 0x2d5f7a0, pn = {pi_ = 0x2d5f160}} success = false ending = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x2d5f778 "wav"}} id = 0 0000012 0x0000000000d209aa in CSound::GetSoundId (this=0x1a37400, name=..., hardFail=true) at rts/System/Sound/Sound.cpp:137 itemDefIt = {_M_node = 0x1a374c8} lck = {m = 0x1897b40 <soundMutex>, is_locked = true} it = {_M_node = 0x1a37420} 0000013 0x00000000009a9724 in CommonDefHandler::LoadSoundFile (fileName=...) at rts/Sim/Misc/CommonDefHandler.cpp:32 id = 53107312 ---Type <return> to continue, or q <return> to quit--- soundFile = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x38fdd98 "sounds/servtny2.wav"}} fh = {fileName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x38fdd98 "sounds/servtny2.wav"}}, ifs = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , fileBuffer = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { _M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, _M_start = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , _M_finish = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , _M_end_of_storage = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) }}, <No data fields>}, filePos = 0, fileSize = 0} extension = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff4e174d8 ""}} hasFile = false 0000014 0x0000000000b635ee in CUnitDefHandler::LoadSound (this=0x25cbdc0, gsound=..., fileName=..., volume=1) at rts/Sim/Units/UnitDefHandler.cpp:223 id = 0 #15 0x0000000000b63453 in CUnitDefHandler::LoadSounds (this=0x25cbdc0, soundsTable=..., gsound=..., soundName=...) at rts/Sim/Units/UnitDefHandler.cpp:215 sndFileTable = {path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x38fde98 "ROOT.unitdefs.ap_peewee.sounds.ok[1]"}}, isValid = false, parser = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , L = 0x0warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) , refnum = -2} i = 1 fileName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, ---Type <return> to continue, or q <return> to quit--- _M_p = 0x32a5a88 "servtny2"}} sndTable = {path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x1fc7c98 "ROOT.unitdefs.ap_peewee.sounds.ok"}}, isValid = true, parser = 0x23c0840, L = 0x2012b00, refnum = 6} #16 0x0000000000b62ca1 in CUnitDefHandler::UnitDefLoadSounds (this=0x25cbdc0, ud=0x1f73700, udTable=...) at rts/Sim/Units/UnitDefHandler.cpp:180 soundsTable = {path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc794838 "ROOT.unitdefs.ap_peewee.sounds"}}, isValid = true, parser = 0x23c0840, L = 0x2012b00, refnum = 4} #17 0x0000000000b624d1 in CUnitDefHandler::PushNewUnitDef (this=0x25cbdc0, unitName=..., udTable=...) at rts/Sim/Units/UnitDefHandler.cpp:87 newDef = 0x1f73700 defid = 1 #18 0x0000000000b6202e in CUnitDefHandler::CUnitDefHandler (this=0x25cbdc0) at rts/Sim/Units/UnitDefHandler.cpp:54 unitName = @0x38dc000: {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xf4986d8 "ap_peewee"}} udTable = {path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x38fdf58 "ROOT.unitdefs.ap_peewee"}}, isValid = true, parser = 0x23c0840, L = 0x2012b00, refnum = 3} a = 0 rootTable = {path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xf496f18 "ROOT.unitdefs"}}, isValid = true, parser = 0x23c0840, L = 0x2012b00, refnum = 2} unitDefNames = {<std::_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_---Type <return> to continue, or q <return> to quit--- string<char, std::char_traits<char>, std::allocator<char> > > >> = { _M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No data fields>}, _M_start = 0x38dc000, _M_finish = 0x38dcd08, _M_end_of_storage = 0x38dd000}}, <No data fields>} nullDef = 0x1f71600 #19 0x00000000005505aa in CGame::PostLoadSimulation (this=0x1c78c40) at rts/Game/Game.cpp:561 No locals. 0000020 0x000000000054f080 in CGame::LoadGame (this=0x1c78c40, mapName=...) at rts/Game/Game.cpp:453 No locals. #21 0x00000000005d2985 in CLoadScreen::Init (this=0x23c0160) at rts/Game/LoadScreen.cpp:118 mtCfg = -1 __PRETTY_FUNCTION__ = "void CLoadScreen::Init()" #22 0x00000000005d2fbe in CLoadScreen::CreateInstance (mapName=..., modName=..., saveFile=warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.) 0x0) at rts/Game/LoadScreen.cpp:181 __PRETTY_FUNCTION__ = "static void CLoadScreen::CreateInstance(const string&, const string&, ILoadSaveHandler*)" #23 0x00000000005eac3f in CPreGame::UpdateClientNet (this=0x1bab4a0) at rts/Game/PreGame.cpp:296 playerNum = 0 '\000' inbuf = 0x254e0f0 "\005" packet = {px = 0x1f6f6d0, pn = {pi_ = 0x2542200}} 0000024 0x00000000005ea174 in CPreGame::Update (this=0x1bab4a0) at rts/Game/PreGame.cpp:165 No locals. #25 0x0000000000c1ef34 in GML::UpdateSim (ac=0x1bab4a0) at rts/lib/gml/gml_base.h:43 No locals. 0000026 0x0000000000c1c3e6 in SpringApp::Update (this=0x7fffffffe3c0) at rts/System/SpringApp.cpp:1009 ret = 1 ---Type <return> to continue, or q <return> to quit--- 0000027 0x0000000000c1c618 in SpringApp::Run (this=0x7fffffffe3c0, argc=1, argv=0x7fffffffe588) at rts/System/SpringApp.cpp:1094 No locals. #28 0x0000000000bf97cb in Run (argc=1, argv=0x7fffffffe588) at rts/System/Main.cpp:64 app = {cmdline = 0x1a2e340, binaryName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x19b7b48 "\"/var/tmp/home/local/spring/develop/bin/spring\""}}} ret = -1 err = 0xbf9bd5 <SetOpenMpEnvVars(char**)+41> 0000029 0x0000000000bf9e3e in main (argc=1, argv=0x7fffffffe588) at rts/System/Main.cpp:149 restart = false | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
||||||
|
![]() |
|
abma (administrator) 2013-01-04 22:47 |
doesn't crash when run from .sdd |
abma (administrator) 2013-01-04 22:48 |
Spring 91.0.1-692-g0912265 mapgen (Debug OMP) |
abma (administrator) 2013-01-04 22:50 |
.7z was packed with weird instructions... |
abma (administrator) 2013-01-05 10:18 |
only bad thing is here, it doesn't show the error: [f=0000000] Error: sounds/servtny2.wav ReadWAV: invalid header. also, even if the wav is broken, it could still continue as sound should be unsync!? |
Kloot (developer) 2013-01-05 14:09 Last edited: 2013-01-05 14:13 |
what does "packed with weird instructions" mean? file corruption or just "unusual" compression settings? if the former then lib/7z/ code should detect that, not Spring... and if the latter there would seem to be a giant bug in the library since it clearly cannot handle them? |
abma (administrator) 2013-01-05 14:20 |
unusual compression settings... it seems like it returns a filesize of 0 for the wav. so i guess the same crash would happen with a 0 byte wav file. |
Kloot (developer) 2013-01-05 14:56 |
in that case it would be good to some safeguards since the crash in SoundBuffer::LoadWAV + forced exit also seems to trigger memory corruption, looking at frames 0 to 5... |
abma (administrator) 2013-01-20 23:18 |
imo a duplicate of 0003385 |
abma (administrator) 2013-01-21 00:08 |
the crash is fixed for this archive. fixing the 7zip sdk is out of the scope. if someone wants to fix it, contact the author of the sdk... |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2013-01-04 22:46 | abma | New Issue | |
2013-01-04 22:47 | abma | Note Added: 0009558 | |
2013-01-04 22:48 | abma | Note Added: 0009559 | |
2013-01-04 22:50 | abma | Note Added: 0009560 | |
2013-01-05 10:18 | abma | Note Added: 0009562 | |
2013-01-05 14:09 | Kloot | Note Added: 0009568 | |
2013-01-05 14:13 | Kloot | Note Edited: 0009568 | View Revisions |
2013-01-05 14:20 | abma | Note Added: 0009569 | |
2013-01-05 14:56 | Kloot | Note Added: 0009570 | |
2013-01-12 12:52 | abma | Relationship added | related to 0003395 |
2013-01-20 23:02 | abma | Steps to Reproduce Updated | View Revisions |
2013-01-20 23:02 | abma | Steps to Reproduce Updated | View Revisions |
2013-01-20 23:18 | abma | Note Added: 0009633 | |
2013-01-21 00:08 | abma | Note Added: 0009634 | |
2013-01-21 00:08 | abma | Status | new => resolved |
2013-01-21 00:08 | abma | Resolution | open => fixed |
2013-01-21 00:08 | abma | Assigned To | => abma |