Don't Starve Together

Don't Starve Together

Burning Timer
 This topic has been pinned, so it's probably important
Viktor  [developer] 27 Jun, 2021 @ 2:10pm
Bug Reports
Report any bugs or crashes you find here.

I'll need the following information to fix the bug:
  • Your client log, sometimes it's enough to send me a picture of your crash screen but it does not always provide me with enough information
    • Your client log can be located at Documents/Klei/DoNotStarveTogether/client_log.txt
  • A list of server mods you were using, especially if the crash involves modded items
  • (Any description for how to reproduce the bug)

I'll try to fix crashes as soon as possible, thanks for your reports.
Last edited by Viktor; 27 Jun, 2021 @ 2:11pm
< >
Showing 1-15 of 17 comments
Kris 27 Jun, 2021 @ 9:51pm 
This mod just seems to cause a crash when running alongside the Adventure Mode mod?

I don't have a client log useful for tracking the crash as I recently ran the game without the timer but all that can be done to trigger the crash is to just launch it with the Adventure Mode mod, most commonly happens when starting Chapter 1
I had no other mods running when each crash triggered
Viktor  [developer] 28 Jun, 2021 @ 6:09am 
@Colton Price:
I couldn't find the issue for your crash after playing around with the Adventure Mode mod.
Considering that you start with a Fire Pit close by in the Adventure Mode mod, I've added a few more checks for the campfire timer which should prevent grabbing the data of a bad entity causing a crash.
Viktor  [developer] 28 Jun, 2021 @ 6:29am 
Good news, I (hopefully) managed to locate the crash and to fix it.

Thank you for your report.
琪莎猫 23 Jul, 2021 @ 8:09am 
Bug Repport
When I join someone else's server as a client,I lit the tree with torch,then it throws an error.
Of all client mods, I only enabled this one.

The server enabled server mods are:
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1699194522&searchtext=%E7%A5%9E%E8%AF%9D
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1991746508&searchtext=%E7%A5%9E%E8%AF%9D

The Logs:
[00:01:48]: [string "scripts/componentactions.lua"]:2056: attempt to index a nil value
LUA ERROR stack traceback:
scripts/entityscript.lua:550 in (method) AddComponent (Lua) <529-551>
self (valid:true) =
GUID = 101444
Transform = Transform (680935E8)
inlimbo = false
actionreplica = table: 0x15f785f8
actioncomponents = table: 0x15f78178
lower_components_shadow = table: 0x15f77fc8
entity = Entity (16598FE0)
AnimState = AnimState (680932A8)
prefab = evergreen
build = normal
Network = Network (68093D68)
Physics = Physics (68093B48)
MiniMapEntity = MiniMapEntity (68093488)
SoundEmitter = SoundEmitter (68093428)
spawntime = 8.1666670925915
modactioncomponents = table: 0x3752a7a0
replica = table: 0x15f78088
name = 常青树
components = table: 0x15f77e78
persists = true
name = lootdropper
lower_name = lootdropper
cmp = table: 0x35ab2468
loadedcmp = table: 0x15f76f18
postinitfns = table: 0x15f76f48
scripts/prefabs/evergreens.lua:862 in (field) fn (Lua) <795-944>
inst = 101444 - evergreen (valid:true)
color = 0.5
scripts/mainfunctions.lua:300 in () ? (Lua) <289-331>
name = evergreen
prefab = Prefab evergreen -
=[C]:-1 in (method) SpawnPrefab (C) <-1--1>
scripts/mainfunctions.lua:348 in (field) SpawnPrefab (Lua) <342-350>
name = evergreen
skin = nil
skin_id = nil
creator = nil
../mods/workshop-2525856394/modmain.lua:62 in (upvalue) fetchBurntime (Lua) <53-86>
prefab = evergreen
inst = nil
IsMasterSim = false
math_random_orig = function - =[C]:-1
../mods/workshop-2525856394/modmain.lua:181 in (field) getBurntime (Lua) <179-184>
prefab = evergreen
../mods/workshop-2525856394/scripts/components/burningtimer.lua:36 in (field) _ctor (Lua) <27-74>
self =
inst = 101442 - fire (valid:true)
target = nil
burntime = nil
burntime_rng = nil
pos = (-113.04, 0.00, -149.43)
entities = table: 0x7e009208
k = 1
v = 100082 - evergreen (valid:true)
scripts/class.lua:181 in (local) cmp (Lua) <171-184>
class_tbl = table: 0x15f77878
arg = table: 0x66184788
obj = table: 0x15f778a8
arg = table: 0x661846f8
scripts/entityscript.lua:540 in (method) AddComponent (Lua) <529-551>
self (valid:true) =
GUID = 101442
Transform = Transform (6808F748)
inlimbo = false
actionreplica = table: 0x3752c810
event_listening = table: 0x3752ccf0
actioncomponents = table: 0x3752c5a0
lower_components_shadow = table: 0x3752c540
entity = Entity (165972B8)
AnimState = AnimState (6808F9C8)
prefab = fire
Network = Network (6808F6E8)
persists = true
event_listeners = table: 0x3752c6f0
spawntime = 8.1333337575197
pendingtasks = table: 0x37530710
replica = table: 0x3752c690
name = 火
components = table: 0x3752ca20
SoundEmitter = SoundEmitter (6808F668)
name = burningtimer
lower_name = burningtimer
cmp = table: 0x15f77878
../mods/workshop-2525856394/modmain.lua:220 in (field) fn (Lua) <219-221>
scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207>
self =
running = table: 0x11805700
waitingfortick = table: 0x11805550
tasks = table: 0x11805850
waking = table: 0x3752aa40
attime = table: 0x11805310
hibernating = table: 0x118052e0
tick = 245
k = PERIODIC 101442: 0.010000
v = true
already_dead = false
scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377>
tick = 245
scripts/update.lua:185 in () ? (Lua) <164-243>
dt = 0.033333335071802
tick = 245
i = 245

[00:01:48]: [string "scripts/componentactions.lua"]:2056: attempt to index a nil value
LUA ERROR stack traceback:
scripts/entityscript.lua:550 in (method) AddComponent (Lua) <529-551>
scripts/prefabs/evergreens.lua:862 in (field) fn (Lua) <795-944>
scripts/mainfunctions.lua:300 in () ? (Lua) <289-331>
=[C]:-1 in (method) SpawnPrefab (C) <-1--1>
scripts/mainfunctions.lua:348 in (field) SpawnPrefab (Lua) <342-350>
../mods/workshop-2525856394/modmain.lua:62 in (upvalue) fetchBurntime (Lua) <53-86>
../mods/workshop-2525856394/modmain.lua:181 in (field) getBurntime (Lua) <179-184>
../mods/workshop-2525856394/scripts/components/burningtimer.lua:36 in (field) _ctor (Lua) <27-74>
scripts/class.lua:181 in (local) cmp (Lua) <171-184>
scripts/entityscript.lua:540 in (method) AddComponent (Lua) <529-551>
../mods/workshop-2525856394/modmain.lua:220 in (field) fn (Lua) <219-221>
scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207>
scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377>
scripts/update.lua:185 in () ? (Lua) <164-243>

Hope you can handle this error or let me know what happened :)
Last edited by 琪莎猫; 23 Jul, 2021 @ 9:33am
Viktor  [developer] 23 Jul, 2021 @ 12:08pm 
@琪莎猫:
About your crash:
This mod actually doesn't know the burning timers of other objects.
The very first time an object bruns this mod spawns a client sided replica of the same object which is burning just to initialize its values and to be able to obtain the object's burning timer. Once the timer is obtained the replica will be deleted and whenever a new object of the same prefab starts burning, the mod reuses the saved burning timer.

But some objects don't like it if this mod grabs their data, for example: Blueprints
Blueprints had an issue with their initialisation and just like in your case, they tried to index a nil value when initialisating which lead to the crash.

I tried to reproduce that crash but it didn't work out for me (game didn't crash when I burned an Evergreen in a World where I wasn't the mastersim), are you sure the two listed myth words mods (and the other two from before) were the only ones enabled in the server? I could just add an exception for the Evergreen and be done with it, but if the game crashes for you if you burn an Evergreen then it might also crash for many other objects aswell.
I would like to find the server mod which changes the data of Evergreens or the "lootdropper" component in your crash log and add a proper fix for that case.
琪莎猫 23 Jul, 2021 @ 7:34pm 
:( Only these four mods.
int_ua 24 Jul, 2021 @ 1:46am 
(sorry, no logs) Had it crashing consistently when encountered a Pig Torch while being a ghost on a public server with Tropical Experience mod active.
Viktor  [developer] 24 Jul, 2021 @ 6:55am 
@琪莎猫:
I was not able to reproduce your crash but I pushed a hotfix which should prevent your crash from happening. Please try it again and tell me if the game still crashes for you or not.
琪莎猫 24 Jul, 2021 @ 8:25am 
Just now, I entered several servers with these Mods enabled,no errors reported up to now,Thanks a lot for your work!
if I find any errors reported again,I'll report to you again. :)
Viktor  [developer] 24 Jul, 2021 @ 8:43am 
Also thank you for submitting that report with client logs, this report might explain why this mod crashed for some other users aswell.
Mister Mycelium 4 Oct, 2021 @ 3:20pm 
GeForce Now users cannot use mods that are in the workshop content folder. It's not going to effect everyone, but moving it to the mod folder in the game directory would fix it.
宁凡 30 Oct, 2021 @ 5:32pm 
我开了错误追踪器mod,是这个mod给的错误说明,具体的我不会找,steam这里好像不让放图?先复制一下我这能看到的吧

错误发生在游戏本体,可能是游戏自身漏洞,也可能是某个mod存在非法调用行为。
#[string "scripts/componentactions.lua"]:2132: attempt to index a nil value
#LUA ERROR stack traceback:
@scripts/entityscript.lua:592 in (method) RemoveComponent (Lua)<579-594>self (valid:true)=
GUID = 102208
Transform = Transform (000000007A3BC810) RegisterComponentActions = function -../mods/workshop-2525856394/modmain.lua:64
actionreplica = table: 000000007A3A48B0 event_listening = table: 000000007A3A3FA0
Viktor  [developer] 31 Oct, 2021 @ 6:13am 
@宁凡: Despite the fact that my mod causes this crash, this crash is not related to my mod but to one of your server mods. In your case "one of your mod's calls to AddComponentAction is not happening on both the server and the client".

DST apparently gives an error and crashes the game if you try to remove a non-existant component which is caused by one of your server mods because of my mod which tries to get the burning timer of an object of that mod.

The easiest fix would be to fix that bug in whatever mod you are using on your server, but I do not have any access to that mod.
I might be able to add an exception for this case by preventing "EntityScript:RemoveComponent" from doing anything while scanning for the burning timers, but that might lead to other bugs, depending on how other modders designed their mods.
Or add an exception to entityscript.lua, but since most functions there are local, I would have to reload most of the functions there and it might become incompatible with future updates.
Sodium Aluminate 24 Sep, 2023 @ 12:20am 
[00:37:15]: [string "scripts/entityscript.lua"]:1570: stack overflow
LUA ERROR stack traceback:
scripts/entityscript.lua:1570 in (method) IsValid (Lua) <1569-1571>
self (valid:true) =
GUID = 179048
RegisterComponentActions = function - ../mods/workshop-2525856394/modmain.lua:68
event_listening = table: 0x5810460
actioncomponents = table: 0x1fec9950
lower_components_shadow = table: 0x1dd0e890
entity = Entity (0x81580e0)
wallupdatecomponents = table: 0x5ce4990
persists = true
DoSimTaskInTime = function - scripts/entityscript.lua:1335
DoTaskInTime = function - scripts/entityscript.lua:1309
DoSimPeriodicTask = function - scripts/entityscript.lua:1321
DoPeriodicTask = function - scripts/entityscript.lua:1296
UITransform = UITransform (0x7e86790)
UnregisterComponentActions = function - ../mods/workshop-2525856394/modmain.lua:73
spawntime = 1869.1667641513
inlimbo = false
replica = table: 0x1e341830
name = ItemTile
components = table: 0x2e53c9b0
widget = ItemTile
scripts/components/uianim.lua:54 in (method) FinishCurrentScale (Lua) <53-71>
self =
scale_dest = 1
scale_start = 2
inst = 179048 - (valid:true)
scale_t = 0
update_while_paused = true
scale_duration = 0.25
scripts/components/uianim.lua:83 in (method) ScaleTo (Lua) <81-93>
self =
scale_dest = 1
scale_start = 2
inst = 179048 - (valid:true)
scale_t = 0
update_while_paused = true
scale_duration = 0.25
start = 2
dest = 1
duration = 0.25
whendone = nil
scripts/widgets/widget.lua:168 in (method) ScaleTo (Lua) <164-169>
self =
shown = true
wetness = UIAnim
hasspoilage = false
image = Image - images/inventoryimages1.xml:cutgrass.tex
inst = 179048 - (valid:true)
focus = false
basescale = 1
children = table: 0xbd0cf10
parent = ItemSlot
focus_flow_args = table: 0x1e0263f0
focus_target = false
isactivetile = false
quantity = Text - 39
tooltip = 采下的草
: 检查
tooltipcolour = table: 0x1d31e6f0
can_fade_alpha = true
enabled = true
ismastersim = false
name = ItemTile
callbacks = table: 0xbaee8c0
focus_flow = table: 0xbb19690
ispreviewing = true
item = 179012 - cutgrass (valid:true)
updatingflags = table: 0x7f94960
from = 2
to = 1
time = 0.25
fn = nil
scripts/widgets/itemtile.lua:240 in (local) fn (Lua) <218-244>
invitem = 179012 - cutgrass (valid:true)
data = table: 0x2640bac0
scripts/entityscript.lua:1160 in (method) PushEvent (Lua) <1147-1174>
self (valid:true) =
GUID = 179012
Transform = Transform (0x25325640)
RegisterComponentActions = function - ../mods/workshop-2525856394/modmain.lua:68
actionreplica = table: 0x1b4865b0
event_listening = table: 0xa48ca10
actioncomponents = table: 0x57b09e0
pickupsound = vegetation_grassy
lower_components_shadow = table: 0x1e3eb280
entity = Entity (0x218fa5d0)
AnimState = AnimState (0x25308020)
prefab = cutgrass
Network = Network (0xb053f20)
persists = true
event_listeners = table: 0xa7e10f0
UnregisterComponentActions = function - ../mods/workshop-2525856394/modmain.lua:73
spawntime = 1869.1334308162
name = 采下的草
replica = table: 0x1d834d50
Physics = Physics (0x2005e920)
components = table: 0x1d3c8fb0
inlimbo = false
event = stacksizepreview
data = table: 0x2640bac0
listeners = table: 0x1f0a2f60
tocall = table: 0x2640bc60
i = 1
fn = function - scripts/widgets/itemtile.lua:218
scripts/prefabs/container_classified.lua:360 in (upvalue) PushStackSize (Lua) <348-384>
inst = 179001 - container_classified (valid:true)
inventory = nil
item = 179012 - cutgrass (valid:true)
stacksize = 39
animatestacksize = true
activestacksize = nil
animateactivestacksize = nil
selfonly = nil
sounddata = table
[00:37:15]: [string "scripts/entityscript.lua"]:1570: stack overflow
LUA ERROR stack traceback:
scripts/entityscript.lua:1570 in (method) IsValid (Lua) <1569-1571>
scripts/components/uianim.lua:54 in (method) FinishCurrentScale (Lua) <53-71>
scripts/components/uianim.lua:83 in (method) ScaleTo (Lua) <81-93>
scripts/widgets/widget.lua:168 in (method) ScaleTo (Lua) <164-169>
scripts/widgets/itemtile.lua:240 in (local) fn (Lua) <218-244>
scripts/entityscript.lua:1160 in (method) PushEvent (Lua) <1147-1174>
scripts/prefabs/container_classified.lua:360 in (upvalue) PushStackSize (Lua) <348-384>
scripts/prefabs/container_classified.lua:662 in (method) ReceiveItem (Lua) <620-681>
scripts/prefabs/inventory_classified.lua:1059 in (method) ReceiveItem (Lua) <1040-1115>
scripts/prefabs/inventory_classified.lua:1101 in (method) ReceiveItem (Lua) <1040-1115>
scripts/prefabs/inventory_classified.lua:1101 in (method) ReceiveItem (Lua) <1040-1115>
scripts/prefabs/inventory_classified.lua:1101 in (method) ReceiveItem (Lua) <1040-1115>

The usual problems are usually NPE. And this is the first time I encountered a stack overflow, quite novel, isn't it?

and btw, I'm not sure which mod cause it:
look at entityscript.lua:L1569
function EntityScript:IsValid()
return self.entity:IsValid()
end
maybe the `entity` field of the grass is it's self(so caused this overflow)? but I'm not sure why.
Last edited by Sodium Aluminate; 24 Sep, 2023 @ 12:30am
< >
Showing 1-15 of 17 comments
Per page: 1530 50