View Issue Details

IDProjectCategoryView StatusLast Update
0002850Spring engineGeneralpublic2017-06-21 12:26
Reporterabma Assigned To 
PrioritynormalSeveritycrashReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version84.0.1 
Fixed in Version103.0 +git 
Summary0002850: spring-dedicated crash when StartPosType=0,1 (fixed, random)
Descriptionhttp://pastebin.com/HisYACN9
TagsNo tags attached.
Attached Files
Script.txt (Attachment missing)
Checked infolog.txt for Errors

Activities

abma

2011-12-19 00:55

administrator   ~0007963

(gdb) bt full
#0 0x00007ffff63153a5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <optimized out>
        selftid = <optimized out>
#1 0x00007ffff6318b0b in __GI_abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x7ffff6d4b2f0, sa_sigaction = 0x7ffff6d4b2f0},
          sa_mask = {__val = {140737353921776, 140737323621280, 140737353918920, 0, 0, 4294967295,
              0, 4294967295, 140737327365800, 3081736, 140737327365800, 3080456, 0, 0, 0,
              140737334431744}}, sa_flags = -136405068, sa_restorer = 0x7fff00000001}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007ffff6df0d7d in __gnu_cxx::__verbose_terminate_handler() ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
0000003 0x00007ffff6deef26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
0000004 0x00007ffff6deef53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
0000005 0x00007ffff6def04e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6 0x000000000057cbbb in CGameSetup::LoadStartPositionsFromMap (this=0x81ec60)
    at /home/abma/dev/spring/develop/rts/Game/GameSetup.cpp:68
        mapParser = {parser = 0x81fb40, errorLog = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fi---Type <return> to continue, or q <return> to quit---
elds>}, <No data fields>}, _M_p = 0x815988 "could not open file: maphelper/mapinfo.lua"}}}
#7 0x000000000057d009 in CGameSetup::LoadStartPositions (this=0x81ec60, withoutMap=false)
    at /home/abma/dev/spring/develop/rts/Game/GameSetup.cpp:104
No locals.
#8 0x00000000004dfaef in main (argc=2, argv=0x7fffffffe6b8)
    at /home/abma/dev/spring/develop/rts/builds/dedicated/main.cpp:168
        scriptName = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x6e3ac8 "Script.txt"}}
        scriptText = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
            _M_p = 0x823f48 "[GAME]\n{\n\tMapname=Comet Catcher Redux;\n\tMaphash=-863847762;\n\t[modoptions]\n\t{\n\t\tmaxspeed=3.0;\n\t\tghostedbuildings=1;\n\t\tmo_storageowner=team;\n\t\tmo_greenfields=0;\n\t\tmo_coop=1;\n\t\tmo_noowner=0;\n\t\tmo_prevent"...}}
        gameSetup = 0x81ec60
        fh = {fileName = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x6e3ac8 "Script.txt"}}, ifs = 0x6e6b60,
          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 = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}, filePos = 0, fileSize = 1437}
        data = {setupText = {static npos = <optimized out>,
---Type <return> to continue, or q <return> to quit---
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff70295b8 ""}},
          compressed = {<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 = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}, mapChecksum = 3431119534,
          modChecksum = 0, randomSeed = 4711}
        rng = {randSeed = 308783614}
        server = 0x0
        settings = {myPlayerName = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff70295b8 ""}}, myPasswd = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff70295b8 ""}}, hostIP = {static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x821c48 "0.0.0.0"}}, hostPort = 8500, isHost = true}

abma

2011-12-19 00:56

administrator   ~0007964

~/local/spring/develop/bin/spring-dedicated Script.txt
Using configuration source: "/home/abma/.springrc"
Available log sections: DedicatedServer, ArchiveScanner, VFS, AutohostInterface
Enabled log sections: DedicatedServer(LOG_LEVEL_DEBUG)
Enable or disable log sections using the LogSections configuration key
  or the SPRING_LOG_SECTIONS environment variable (both comma separated).
  Use "none" to disable the default log sections.
LogOutput initialized.
Spring 84.0.1-238-ga734f21 develop (Debug)
Build date/time: Dec 2 2011 05:19:42
Build environment: boost-104601, GNU libstdc++ version 20110903
Compiler: gcc-4.6.1
report any errors to Mantis or the forums.
loading script from file: Script.txt
Debug: Adding /home/abma/.spring/ to directories
Debug: Skipping already added directory /home/abma/.spring/
Debug: Adding /home/abma/local/spring/develop/share/games/spring/ to directories
Using read-write data directory: /home/abma/.spring/
Using read-only data directory: /home/abma/local/spring/develop/share/games/spring/
Scanning: /home/abma/local/spring/develop/share/games/spring/base
Scanning: /home/abma/.spring/maps
[ArchiveScanner] Found new map: Small Supreme Battlefield V2
[ArchiveScanner] Found new map: Small Supreme Battlefield V2
Scanning: /home/abma/.spring/games
Scanning: /home/abma/.spring/packages
Unable to open archive: /home/abma/.spring/packages/d06b87452faf55915309ba90ef3aeaef.sdp
terminate called after throwing an instance of 'content_error'
  what(): MapInfo: could not open file: maphelper/mapinfo.lua
Error: Aborted (SIGABRT) in spring 84.0.1-238-ga734f21 develop (Debug)
Error: Stacktrace:
Error: <0> /lib/x86_64-linux-gnu/libc.so.6(+0x36420) [0x7f57961de420]
Error: <1> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f57961de3a5]
Error: <2> /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b) [0x7f57961e1b0b]
Error: <3> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x11d) [0x7f5796cb9d7d]
Error: <4> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9f26) [0x7f5796cb7f26]
Error: <5> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9f53) [0x7f5796cb7f53]
Error: <6> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xba04e) [0x7f5796cb804e]
Error: <7> /home/abma/dev/spring/develop/rts/Game/GameSetup.cpp:71
Error: <8> /home/abma/dev/spring/develop/rts/Game/GameSetup.cpp:107
Error: <9> /home/abma/dev/spring/develop/rts/builds/dedicated/main.cpp:168
Error: Spring crashed Spring has crashed:
Aborted (SIGABRT).

A stacktrace has been written to:
  /home/abma/infolog.txt

abma

2011-12-19 01:05

administrator   ~0007965

seems to crash because of StartPosType=1 (random)

abma

2011-12-19 08:37

administrator   ~0007966

if the Map|Mod-hash isn't set, spring-dedicated doesn't crash.

hoijui

2011-12-19 12:56

reporter   ~0007969

hmm... i guess the question then is, what do we want to happen?
as _random_ and _fixed_ both can only work when knowing the set of fixed, map supplied start positions, i guess the most reasonable thing to do is about this:
if (StartPosType=fixed || StartPosType=random) {
    if (!mapAvailable) {
        log("Cant use fixed or random start-pos mode when the map is not available locally");
        exit();
    }
}

abma

2011-12-19 13:08

administrator   ~0007971

yep, that would be a clean message...

but currently it crashes, when the map is available + the hash is set...

Kloot

2017-06-21 12:26

developer   ~0017853

https://github.com/spring/spring/blob/d363ee4c8f84720c5e9b3efe7e830a83d0bbb39c/rts/Game/GameSetup.cpp#L274

Issue History

Date Modified Username Field Change
2011-12-18 21:56 abma New Issue
2011-12-19 00:54 abma File Added: Script.txt
2011-12-19 00:55 abma Note Added: 0007963
2011-12-19 00:55 abma File Added: infolog.txt
2011-12-19 00:55 abma File Deleted: infolog.txt
2011-12-19 00:56 abma Note Added: 0007964
2011-12-19 01:05 abma Note Added: 0007965
2011-12-19 01:06 abma Summary spring-dedicated crash => spring-dedicated crash when StartPosType=1 (random)
2011-12-19 01:09 abma Summary spring-dedicated crash when StartPosType=1 (random) => spring-dedicated crash when StartPosType=0,1 (fixed, random)
2011-12-19 08:37 abma Note Added: 0007966
2011-12-19 12:56 hoijui Note Added: 0007969
2011-12-19 13:08 abma Note Added: 0007971
2017-06-21 12:26 Kloot Status new => resolved
2017-06-21 12:26 Kloot Resolution open => fixed
2017-06-21 12:26 Kloot Fixed in Version => 103.0 +git
2017-06-21 12:26 Kloot Note Added: 0017853