Engineer in bad state after repairing

Summary: I had a game that I was playing in alpha 18 that I continued in alpha 19 on the dev branch. Since then I’ve encountered a problem where when the engineer goes to repair anything (traps, turrets, fence gates) he freezes after doing so. If I save and reload the engineer will start moving again, but as soon as he repairs anything else he will freeze requiring another save and reload. Here’s the error message:

develop-3169 (x64)
@stonehearth/components/ai/ai_component.lua:577: (3214137 Ollen Nelvin) has not yielded after 10 ai spins. Are they in a bad state? Last abort reason: destination (27588672 stonehearth:gizmos:critter_trap) is no longer valid at start.
stack traceback:
radiant/modules/common.lua:237: in function ‘report_traceback’
radiant/modules/common.lua:456: in function ‘verify’
stonehearth/components/ai/ai_component.lua:577: in function <stonehearth/components/ai/ai_component.lua:535>
[C]: in function ‘xpcall’
radiant/modules/common.lua:257: in function ‘xpcall’
stonehearth/components/ai/ai_component.lua:535: in function ‘_thread_main’
stonehearth/services/server/threads/thread.lua:273: in function <stonehearth/services/server/threads/thread.lua:270>
[C]: in function ‘xpcall’
radiant/modules/common.lua:257: in function ‘xpcall’
stonehearth/services/server/threads/thread.lua:270: in function ‘f’
radiant/lib/env.lua:15: in function <radiant/lib/env.lua:14>

Steps to reproduce:

  1. have a trap/turret/gate damaged
  2. wait for the engineer to go repair it
  3. the engineer will stand idle until the game is saved and reloaded.

Expected Results:
The engineer should repair items and move on to other tasks

Actual Results:
The engineer freezes

Attachments:
stonehearth.log (22.8 KB)

Version Number and Mods in use:
Stonehearth 0.19.0 (develope 3169) x64 build

1 Like

Hi @pbj59640 :slight_smile:
Could you upload the savefile where this error appears?

To upload a save, locate the folder in
C:\Program Files (x86)\Steam\steamapps\common\Stonehearth\saved_games (assuming a default Steam install), zip the individual save’s folder (not the entire saved_games folder), and upload it. If the *.zip is less than 10 MB, feel free to upload it directly to the Discourse. If larger, please upload it to a cloud storage site like Dropbox, Google Drive, File Dropper, etc. and post the sharing link here.

1 Like

I’ve been getting the same error message as well involving the engineer attempting to repair things, like doors:

develop-3177 (x64)
@stonehearth/components/ai/ai_component.lua:577: (10864497 Liam Brightwell) has not yielded after 10 ai spins. Are they in a bad state? Last abort reason: destination (9900905 stonehearth:portals:wooden_double_door) is no longer valid at start.
stack traceback:
radiant/modules/common.lua:237: in function 'report_traceback’
radiant/modules/common.lua:456: in function 'verify’
stonehearth/components/ai/ai_component.lua:577: in function <stonehearth/components/ai/ai_component.lua:535>
[C]: in function 'xpcall’
radiant/modules/common.lua:257: in function 'xpcall’
stonehearth/components/ai/ai_component.lua:535: in function '_thread_main’
stonehearth/services/server/threads/thread.lua:273: in function <stonehearth/services/server/threads/thread.lua:270>
[C]: in function 'xpcall’
radiant/modules/common.lua:257: in function 'xpcall’
stonehearth/services/server/threads/thread.lua:270: in function 'f’
radiant/lib/env.lua:15: in function <radiant/lib/env.lua:14>

I noticed on my engineer that he is kinda “a.i. fighting”. As soon as I disable his job task in the citizen menu, he starts chasing people to talk, even if there is a lot of other things to do.

After he finally talked to whoever he wanted, you can enable his job task again. But after he completes it, he will bug again and again…

Lucky for me there is nothing else for him to do, so I just left him disabled. Never bugged again.

1 Like

Thanks for the report! A fix will be included in the next build.

1 Like

Yay, even though watching him skate around like the old claymation movies was pretty comical.