Water component error

Summary:
Found a bug with the water parts of the maps. It can be reproduced.
Steps to reproduce:

  1. load a fresh map with a small body of water (this just works quicker)
  2. order your citizens to dig out a large area direcly next to the water source
  3. watch the water line slowly going down, the error will pop-up

Expected Results:
was hoping to have some control over how low the water line is as to the ground level.
Actual Results:
water line lowering as i hoped but an error pop-up came so i guess it is not supposed to do that?

Notes:
develop-3092 (x64)[M]@stonehearth/components/water/water_component.lua:196: error growing water region. bad top layer: (40 cubes of area 1466), good top layer: (42 cubes of area 1477)stack traceback:
radiant/modules/common.lua:237: in function ‘report_traceback’
radiant/modules/common.lua:456: in function ‘verify’
stonehearth/components/water/water_component.lua:196: in function ‘_grow_region’
stonehearth/components/water/water_component.lua:131: in function ‘_add_water’
…arth/services/server/hydrology/hydrology_service.lua:586: in function ‘add_water’
…arth/services/server/hydrology/hydrology_service.lua:793: in function ‘_process_water_queue’
…arth/services/server/hydrology/hydrology_service.lua:780: in function ‘_on_tick’
…arth/services/server/hydrology/hydrology_service.lua:52: in function ‘fn’
radiant/controllers/nonpersistent_timer.lua:56: in function ‘fire’
radiant/controllers/time_tracker_controller.lua:82: in function <radiant/controllers/time_tracker_controller.lua:82>
[C]: in function ‘xpcall’
radiant/modules/common.lua:257: in function ‘xpcall’
radiant/controllers/time_tracker_controller.lua:82: in function ‘set_now’
…hearth/services/server/calendar/calendar_service.lua:379: in function ‘_on_event_loop’
…hearth/services/server/calendar/calendar_service.lua:37: in function ‘instance’
radiant/modules/events.lua:291: in function <radiant/modules/events.lua:285>
[C]: in function ‘xpcall’
radiant/modules/common.lua:257: in function ‘xpcall’
radiant/modules/events.lua:285: in function ‘trigger’
radiant/modules/events.lua:398: in function ‘_trigger_gameloop’
radiant/modules/events.lua:446: in function ‘_update’
radiant/server.lua:62: in function <radiant/server.lua:58>
Attachments:


Version Number and Mods in use:

System Information:

develop-3092 (x64)[M]@stonehearth/services/server/hydrology/hydrology_service.lua:331: water transients not yet implementedstack traceback:
radiant/modules/common.lua:237: in function ‘report_traceback’
radiant/modules/common.lua:456: in function ‘verify’
…arth/services/server/hydrology/hydrology_service.lua:331: in function ‘_link_channels_for_block’
…arth/services/server/hydrology/hydrology_service.lua:273: in function ‘_link_blocks’
…arth/services/server/hydrology/hydrology_service.lua:232: in function ‘_on_terrain_changed’
…arth/services/server/hydrology/hydrology_service.lua:92: in function <…arth/services/server/hydrology/hydrology_service.lua:91>

is a different error caused by the same manor. Digging down only lowers the water level (good to know for design idea’s) but no error.


seems to only happen when digging a wider water source/expanding its surfice

1 Like

Some more error pop-up while making vid of testing different water digging ways

develop-3092 (x64)[M]…arth/services/server/hydrology/hydrology_service.lua:197: assertion failed!stack traceback:
[C]: ?
[C]: in function ‘assert’
…arth/services/server/hydrology/hydrology_service.lua:197: in function ‘_on_terrain_changed’
…arth/services/server/hydrology/hydrology_service.lua:92: in function <…arth/services/server/hydrology/hydrology_service.lua:91>
develop-3092 (x64)[M]stonehearth/components/water/water_component.lua:794: assertion failed!stack traceback:
radiant/modules/common.lua:237: in function 'report_traceback’
radiant/modules/common.lua:248: in function <radiant/modules/common.lua:242>
[C]: in function 'assert’
stonehearth/components/water/water_component.lua:794: in function '_remove_height’
stonehearth/components/water/water_component.lua:261: in function '_remove_water’
stonehearth/components/water/water_component.lua:473: in function ‘fill_channel_from_water_region’
…hearth/services/server/hydrology/channel_manager.lua:561: in function ‘callback_fn’
…hearth/services/server/hydrology/channel_manager.lua:194: in function ‘each_channel_ascending’
…hearth/services/server/hydrology/channel_manager.lua:559: in function ‘fill_channels_to_capacity’
…arth/services/server/hydrology/hydrology_service.lua:768: in function ‘_on_tick’
…arth/services/server/hydrology/hydrology_service.lua:52: in function ‘fn’

radiant/controllers/time_tracker_controller.lua:82: in function ‘set_now’
…hearth/services/server/calendar/calendar_service.lua:379: in function ‘_on_event_loop’
…hearth/services/server/calendar/calendar_service.lua:37: in function 'instance’
radiant/modules/events.lua:291: in function <radiant/modules/events.lua:285>
[C]: in function 'xpcall’
radiant/modules/common.lua:257: in function 'xpcall’
radiant/modules/events.lua:285: in function 'trigger’
radiant/modules/events.lua:398: in function '_trigger_gameloop’
radiant/modules/events.lua:446: in function '_update’
radiant/server.lua:62: in function <radiant/server.lua:58>

develop-3092 (x64)[M]entity1 == entity2 in merge_water_bodiesstack traceback:
radiant/modules/common.lua:237: in function ‘report_traceback’
…arth/services/server/hydrology/hydrology_service.lua:697: in function ‘merge_water_bodies’
…arth/services/server/hydrology/hydrology_service.lua:801: in function ‘_process_water_queue’
…arth/services/server/hydrology/hydrology_service.lua:780: in function ‘_on_tick’
…arth/services/server/hydrology/hydrology_service.lua:52: in function 'fn’
radiant/controllers/nonpersistent_timer.lua:56: in function 'fire’
radiant/controllers/time_tracker_controller.lua:82: in function <radiant/controllers/time_tracker_controller.lua:82>
[C]: in function 'xpcall’
radiant/modules/common.lua:257: in function 'xpcall’
radiant/controllers/time_tracker_controller.lua:82: in function ‘set_now’
…hearth/services/server/calendar/calendar_service.lua:379: in function ‘_on_event_loop’
…hearth/services/server/calendar/calendar_service.lua:37: in function 'instance’
radiant/modules/events.lua:291: in function <radiant/modules/events.lua:285>
[C]: in function 'xpcall’
radiant/modules/common.lua:257: in function 'xpcall’
radiant/modules/events.lua:285: in function 'trigger’
radiant/modules/events.lua:398: in function '_trigger_gameloop’
radiant/modules/events.lua:446: in function '_update’
radiant/server.lua:62: in function <radiant/server.lua:58>

1 Like

Thanks! We are working on fixing the bugs in the hydrology code.

5 Likes