2025-07-27 18:04 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003385Spring engineGeneralpublic2013-01-21 00:08
Reporterabma 
Assigned Toabma 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
Product Version91.0.1+git 
Target VersionFixed in Version 
Summary0003385: crash after "Loading Unit Definitions"
DescriptionProgram 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 Reproducedownload 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
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0003395resolvedabma no usefull error when spring crashed due to soundfile in unitdef ( rts/Map/ReadMap.cpp:535 ) 
+Relationships

-Notes

~0009558

abma (administrator)

doesn't crash when run from .sdd

~0009559

abma (administrator)

Spring 91.0.1-692-g0912265 mapgen (Debug OMP)

~0009560

abma (administrator)

.7z was packed with weird instructions...

~0009562

abma (administrator)

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!?

~0009568

Kloot (developer)

Last edited: 2013-01-05 14:13

View 2 revisions

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?

~0009569

abma (administrator)

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.

~0009570

Kloot (developer)

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...

~0009633

abma (administrator)

imo a duplicate of 0003385

~0009634

abma (administrator)

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...
+Notes

-Issue History
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
+Issue History