2019-08-24 00:21 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002850Spring engineGeneralpublic2017-06-21 12:26
Reporterabma 
Assigned To 
PrioritynormalSeveritycrashReproducibilitysometimes
StatusresolvedResolutionfixed 
Product Version84.0.1 
Target VersionFixed in Version103.0 +git 
Summary0002850: spring-dedicated crash when StartPosType=0,1 (fixed, random)
Descriptionhttp://pastebin.com/HisYACN9
TagsNo tags attached.
Checked infolog.txt for lua Errors
Attached Files
  • txt file icon Script.txt (1,437 bytes) 2011-12-19 00:54 -
    [GAME]
    {
    	Mapname=Comet Catcher Redux;
    	Maphash=-863847762;
    	[modoptions]
    	{
    		maxspeed=3.0;
    		ghostedbuildings=1;
    		mo_storageowner=team;
    		mo_greenfields=0;
    		mo_coop=1;
    		mo_noowner=0;
    		mo_preventdraw=0;
    		mo_comgate=0;
    		maxunits=5000;
    		mo_combomb_full_damage=0;
    		disablemapdamage=0;
    		startenergy=1000.0;
    		limitdgun=0;
    		mo_armageddontime=0.0;
    		startmetal=1000.0;
    		mo_progmines=0;
    		teamdeathmode=allyzerounits;
    		mo_transportenemy=all;
    		fixedallies=0;
    		mo_noshare=1;
    		minspeed=0.300000011921;
    		mo_enemywrecks=1;
    		deathmode=com;
    		mo_allowfactionchange=1;
    		mo_nowrecks=0;
    		shareddynamicalliancevictory=0;
    	}
    	StartPosType=1;
    	GameType=Balanced Annihilation V7.62;
    	ModHash=-706931769;
    	HostIP=0.0.0.0;
    	HostPort=8500;
    	AutoHostName=TestMonkey;
    	AutoHostCountryCode=SE;
    	AutoHostRank=0;
    	AutoHostAccountId=211859;
    	AutohostPort=9000;
    	IsHost=1;
    	NumPlayers=2;
    	[PLAYER0]
    	{
    		Name=[CN]Zydox;
    		countryCode=SE;
    		Rank=6;
    		Password=60E1223C;
    		Spectator=0;
    		Team=0;
    	}
    	[PLAYER1]
    	{
    		Name=[AG]abma;
    		countryCode=DE;
    		Rank=5;
    		Password=b6847794;
    		Spectator=0;
    		Team=1;
    	}
    	NumTeams=2;
    	[TEAM0]
    	{
    		TeamLeader=0;
    		AllyTeam=0;
    		RgbColor=0.0 1.0 0.0;
    		Side=CORE;
    		Handicap=0;
    	}
    	[TEAM1]
    	{
    		TeamLeader=1;
    		AllyTeam=1;
    		RgbColor=0.16863 0.61961 0.16863;
    		Side=ARM;
    		Handicap=0;
    	}
    	NumAllyTeams=2;
    	[ALLYTEAM0]
    	{
    		NumAllies=0;
    	}
    	[ALLYTEAM1]
    	{
    		NumAllies=0;
    	}
    	NumRestrictions=0;
    	[MAPOPTIONS]
    	{
    	}
    }
    
    txt file icon Script.txt (1,437 bytes) 2011-12-19 00:54 +

-Relationships
+Relationships

-Notes

~0007963

abma (administrator)

(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}

~0007964

abma (administrator)

~/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

~0007965

abma (administrator)

seems to crash because of StartPosType=1 (random)

~0007966

abma (administrator)

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

~0007969

hoijui (reporter)

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();
    }
}

~0007971

abma (administrator)

yep, that would be a clean message...

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

~0017853

Kloot (developer)

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

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