crash on starting


vosdbk
  • Pending

i use command "c_shutdown()" to shutdown the server for updating the mod(s)

then after updating i start the world but it carashed

the crash  is:

Spoiler

[00:00:14]: [string "scripts/saveindex.lua"]:149: Corrupt Save file [session/6971411DF78CF8B0/0000000158]
LUA ERROR stack traceback:
=[C]:-1 in (global) assert (C) <-1--1>
scripts/saveindex.lua:149 in () ? (Lua) <135-154>
   load_success = true
   str = return {world_network={persistdata={clock={moonphase="half",cycles=145,phase="day",remainingtimeinphase=173.40234375,totaltimeinphase=180,segs={night=3,day=6,dusk=7}},seasons={elapseddaysinseason=15,premode=false,remainingdaysinseason=5,lengths={summer=5,autumn=20,spring=20,winter=5},totaldaysinseason=20,mode="cycle",season="spring",segs={summer={night=4,day=11,dusk=1},autumn={night=2,day=8,dusk=6},spring={night=3,day=5,dusk=8},winter={night=6,day=5,dusk=5}}},worldtemperature={seasontemperature=42.5,daylight=true,noisetime=70805.0390625,season="spring",phasetemperature=0.57448209358718},weather={preciptype="rain",daylight=true,moistureceil=4762.103515625,minlightningdelay=10,peakprecipitationrate=0.79683828353882,season="spring",moisturerateval=3.2196688586523,lightningmode="any",moistureceilmultiplier=5.5,moisture=540.67822265625,wet=true,stopsnowthreshold=0,snowlevel=0,moisturefloormultiplier=0.25,moisturerateoffset=0,noisetime=70805.0390625,moisturerate=6.4393377304077,wetness=100,temperature=43.1862990997 [**truncated**]
   success = nil
   savedata = [string "return {world_network={persistdata={clock={moonphase="half",cyc..."]:1: '}' expected near '#'
=[C]:-1 in (method) GetPersistentString (C) <-1--1>
scripts/saveindex.lua:135 in (method) GetSaveDataFile (Lua) <134-155>
   self =
      data = table: 0E2A8068
      current_slot = 1
   file = session/6971411DF78CF8B0/0000000158
   cb = function - scripts/gamelogic.lua:754
scripts/saveindex.lua:161 in (method) GetSaveData (Lua) <157-165>
   self =
      data = table: 0E2A8068
      current_slot = 1
   slot = 1
   cb = function - scripts/gamelogic.lua:754
   file = session/6971411DF78CF8B0/0000000158
scripts/gamelogic.lua:761 in (upvalue) DoLoadWorld (Lua) <753-762>
   saveslot = 1
   onload = function - scripts/gamelogic.lua:754
scripts/gamelogic.lua:803 in (upvalue) LoadSlot (Lua) <798-809>
   slot = 1
scripts/gamelogic.lua:858 in (upvalue) DoResetAction (Lua) <813-894>
scripts/gamelogic.lua:904 in (local) complete_callback (Lua) <896-905>
scripts/upsell.lua:27 in (global) UpdateGamePurchasedState (Lua) <11-30>
   complete_callback = function - scripts/gamelogic.lua:896
scripts/gamelogic.lua:919 in (local) callback (Lua) <907-920>
scripts/saveindex.lua:111 in (upvalue) OnLoad (Lua) <71-113>
   self =
      data = table: 0E2A8068
      current_slot = 1
   filename = saveindex
   callback = function - scripts/gamelogic.lua:907
   load_success = true
   str = return {
  last_used_slot=1,
  slots={
    {
      enabled_mods={  },
      server={  },
      session_id="6971411DF78CF8B0",
      world={
        day=146,
        options={
          {
            tweak={
              animals={
                alternatehunt="rare",
                angrybees="rare",
                beefalo="rare",
                beefaloheat="often",
                bees="rare",
                birds="rare",
                bunnymen="rare",
                butterfly="rare",
                buzzard="rare",
                catcoon="rare",
                frogs="rare",
                hunt="rare",
                lightninggoat="rare",
                moles="rare",
                monkey="rare",
                penguins="rare",
                perd="rare",
                pigs="rare",
                rabbits="rare",
                rocky="rare",
                slurper="rare",
                slurtles="rare",
                tallbirds="rare" 
              },
              misc={
               [**truncated**]
   success = true
   savedata = table: 0E2AC050

[00:00:15]: [string "scripts/saveindex.lua"]:149: Corrupt Save file [session/6971411DF78CF8B0/0000000158]
LUA ERROR stack traceback:
    =[C]:-1 in (global) assert (C) <-1--1>
    scripts/saveindex.lua:149 in () ? (Lua) <135-154>
    =[C]:-1 in (method) GetPersistentString (C) <-1--1>
    scripts/saveindex.lua:135 in (method) GetSaveDataFile (Lua) <134-155>
    scripts/saveindex.lua:161 in (method) GetSaveData (Lua) <157-165>
    scripts/gamelogic.lua:761 in (upvalue) DoLoadWorld (Lua) <753-762>
    scripts/gamelogic.lua:803 in (upvalue) LoadSlot (Lua) <798-809>
    scripts/gamelogic.lua:858 in (upvalue) DoResetAction (Lua) <813-894>
    scripts/gamelogic.lua:904 in (local) complete_callback (Lua) <896-905>
    scripts/upsell.lua:27 in (global) UpdateGamePurchasedState (Lua) <11-30>
    scripts/gamelogic.lua:919 in (local) callback (Lua) <907-920>
    scripts/saveindex.lua:111 in (upvalue) OnLoad (Lua) <71-113>
    
[00:00:15]: ModIndex: Load sequence finished successfully.    
[00:00:15]: Reset() returning

i have tried disabled all mods, it's not useful

i uploaded my save folder, maybe it will helpful

 

ps: where i can setting "max_snapshots"? in cluster's client.ini?

save.7z

server_log.7z


Steps to Reproduce
just start the server


User Feedback


Savefiles failed to load because they contain invalid lua expression 1.#INF. After changing it to 1e50 the savefile loaded successfully, see savefiles.7z.

 

In the future it could be fixed using replace.vbs and fixinf.bat (under windows; based on http://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe/5728961#5728961). Usage:

Copy the files into the saves folders, then from command line run "fixinf.bat 0000000158" (or other file name that needs to be fixed). It creates new file 0000000158.fix that should contain the fixed expression. Replace the original 0000000158 file with it. Undex linux/mac it could be solved with sed I guess - sed -e "s/1.#INF/1e50/g" 0000000158 >0000000158.fix.

 

In this case the expression is part of savedata of Krampusnacht mod by @Kzisor.

In particular, the line that is most probably the cause of the infinity is line 242 of components/krampusnachter.lua

local function OnPlayerLeft(src, player)
...
    self.timebetweenspawn = TUNING.KRAMPUSNACHT_TIME_BETWEEN_SPAWN / #AllPlayers
end

 

Edited by Muche

Share this comment


Link to comment
Share on other sites
34 minutes ago, Muche said:

Savefiles failed to load because they contain invalid lua expression 1.#INF. After changing it to 1e50 the savefile loaded successfully, see savefiles.7z.

 

In the future it could be fixed using replace.vbs and fixinf.bat (under windows; based on http://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe/5728961#5728961). Usage:

Copy the files into the saves folders, then from command line run "fixinf.bat 0000000158" (or other file name that needs to be fixed). It creates new file 0000000158.fix that should contain the fixed expression. Replace the original 0000000158 file with it. Undex linux/mac it could be solved with sed I guess - sed -e "s/1.#INF/1e50/g" 0000000158 >0000000158.fix.

 

In this case the expression is part of savedata of Krampusnacht mod by @Kzisor.

In particular, the line that is most probably the cause of the infinity is line 242 of components/krampusnachter.lua


local function OnPlayerLeft(src, player)
...
    self.timebetweenspawn = TUNING.KRAMPUSNACHT_TIME_BETWEEN_SPAWN / #AllPlayers
end

 

thank u.

once i fix it, will the bug not happen again?

maybe the author can fix it.

 

this mod maybe cause my another server crash, i have reported logs at steam-workshop

 

Share this comment


Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now