Jump to content

Wormwood - Crash when Bulbous Lightbug killed by Fire Dart


King Pie-Eater
  • Fixed

This is a somewhat inconsequential issue because it has very oddly specific conditions, but I thought I'd report it properly nonetheless. After summoning a bulbous lightbug follower as wormwood, attempting to kill it directly with a Fire Dart (specifically) causes the server to crash.

After noticing this, I tried to kill the bugs with other projectiles to see if it would make a difference. I tried:

  • Ice staff
  • Fire staff
  • Dart
  • Sleep Dart

Fire Dart is the only one that resulted in a crash. Notable conditions that seem to make no difference include:

  • Whether there is only a single or multiple lightbugs

It seems that the code in the Fire Dart kills the lightbug and then attempts to set it on fire afterwards, even though the entity no longer exists. This is the only reason I can think that the Fire Dart causes an issue but not the Fire Staff.

I've attached the full log, but the error seems to stand out pretty clearly.

 

TL;DR (from the log) 

[00:04:33]: Stale Component Reference: GUID 116357, scripts/components/propagator.lua:146
[00:04:33]: [string "scripts/components/propagator.lua"]:150: bad argument #2 to 'FindEntities' (number expected, got nil)
LUA ERROR stack traceback:
=[C]:-1 in (method) FindEntities (C) <-1--1>
scripts/components/propagator.lua:150 in (method) OnUpdate (Lua) <137-214>

   self =
      damages = true
      task = PERIODIC 116357: 0.500000
      source = 115841 - wormwood (valid:true)
      flashpoint = 9.6001854654402
      onflashpoint = function - scripts/standardcomponents.lua:3
      pvp_damagemod = 0.5
      propagaterange = 4.4319313493166
      currentheat = 0
      heatoutput = 4.9528468861135
      max_heat_this_update = 1.4290241655789
      inst = 116357 - wormwood_lightflier (valid:false)
      heat_this_update = 0
      decayrate = 0.5
      damagerange = 2
      spreading = true
      acceptsheat = false
   dt = 0.5
   x = nil
   y = nil
   z = nil
   prop_range = 4.4319313493166
scripts/components/propagator.lua:68 in (field) fn (Lua) <67-69>
   inst = 116357 - wormwood_lightflier (valid:false)
   self =
      damages = true
      task = PERIODIC 116357: 0.500000
      source = 115841 - wormwood (valid:true)
      flashpoint = 9.6001854654402
      onflashpoint = function - scripts/standardcomponents.lua:3
      pvp_damagemod = 0.5
      propagaterange = 4.4319313493166
      currentheat = 0
      heatoutput = 4.9528468861135
      max_heat_this_update = 1.4290241655789
      inst = 116357 - wormwood_lightflier (valid:false)
      heat_this_update = 0
      decayrate = 0.5
      damagerange = 2
      spreading = true
      acceptsheat = false
   dt = 0.5
scripts/scheduler.lua:186 in (method) OnTick (Lua) <164-216>
   self =
      running = table: 000000000BC65380
      waitingfortick = table: 000000000BC65420
      hibernating = table: 000000000BC65CE0
      tasks = table: 000000000BC65510
      waking = table: 0000000009959F90
      attime = table: 000000000BC65470
   tick = 2937
   k = PERIODIC 116357: 0.500000
   v = true
   already_dead = nil
scripts/scheduler.lua:409 in (global) RunScheduler (Lua) <407-415>
   tick = 2937
scripts/update.lua:240 in () ? (Lua) <224-298>
   dt = 0.033333335071802
   tick = 2937
   i = 2937

[00:04:33]: [string "scripts/components/propagator.lua"]:150: bad argument #2 to 'FindEntities' (number expected, got nil)
LUA ERROR stack traceback:
    =[C]:-1 in (method) FindEntities (C) <-1--1>
    scripts/components/propagator.lua:150 in (method) OnUpdate (Lua) <137-214>
    scripts/components/propagator.lua:68 in (field) fn (Lua) <67-69>
    scripts/scheduler.lua:186 in (method) OnTick (Lua) <164-216>
    scripts/scheduler.lua:409 in (global) RunScheduler (Lua) <407-415>
    scripts/update.lua:240 in () ? (Lua) <224-298>
    
[00:04:33]: Stale Component Reference: GUID 116357, scripts/components/propagator.lua:146
[00:04:33]: Stale Component Reference: GUID 116357, scripts/components/propagator.lua:146

 


Steps to Reproduce
  1. Create a new world (details seem to be of no consequence) with no server mods and all client mods disabled
  2. Select wormwood with lunar cultivator II
  3. c_give("lightbulb")
  4. Spawn a bulbous lightbug
  5. c_give("blowdart_fire")
  6. Ctrl+click attack the bulbous lightbulb with the blowdart

The lightbug dies as expected, but then everything stops moving (because of the server crash). A few seconds later, the client disconnects. Upon rejoining, it is restored to the last save before that point.

Picture1.png

Picture2.png

Picture3.png




User Feedback


A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.


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

×
  • Create New...