Placing items on top of walls causes errors

I have noticed a few similar topics being posted but they seemed to happen at a different time, so I figured I should post as well.

Summary: I was trying to create a custom building, and was placing chests and everything was fine. Then after placing a row and I started to place on the other side of the building I got an engine error pop up.
The first one and the second one occurred at the same time.

First error : release-687 (x64)
stonehearth/lib/build_util.lua:158: invalid normal (0.00, 1.00, 0.00) in normal_to_rotation()
stack traceback:
[C]: ?
[C]: in function 'assert’
stonehearth/lib/build_util.lua:158: in function 'normal_to_rotation’
stonehearth/components/wall/wall_component.lua:259: in function 'add_fixture’
stonehearth/services/server/build/build_service.lua:1343: in function 'add_fixture’
stonehearth/services/server/build/build_service.lua:1283: in function 'cb’
stonehearth/services/server/build/build_service.lua:1582: in function 'do_command’
stonehearth/services/server/build/build_service.lua:1282: in function ‘add_fixture_command’
…tonehearth/call_handlers/place_item_call_handler.lua:175: in function <…tonehearth/call_handlers/place_item_call_handler.lua:165>

Second Error: release-687 (x64)
c++ exception: lua runtime error
stack traceback:

I tried to place a few more and nothing was showing and I got a third

Third error: release-687 (x64)
…ehearth/services/server/build/build_undo_manager.lua:46: assertion failed!
stack traceback:
[C]: ?
[C]: in function ‘assert’
…ehearth/services/server/build/build_undo_manager.lua:46: in function 'begin_transaction’
stonehearth/services/server/build/build_service.lua:1579: in function 'do_command’
stonehearth/services/server/build/build_service.lua:1282: in function ‘add_fixture_command’
…tonehearth/call_handlers/place_item_call_handler.lua:175: in function <…tonehearth/call_handlers/place_item_call_handler.lua:165>

Then there was a visual bug when I tried to place a chest over a previously placed chest, but this time no error.
I then gave up and deleted the blueprint of the building I was making and then a few moments later I got a fourth engine error

Fourth error: release-687 (x64)
…ehearth/services/server/build/build_undo_manager.lua:415: 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’
…ehearth/services/server/build/build_undo_manager.lua:415: in function 'clear’
stonehearth/services/server/build/build_service.lua:86: in function 'clear_undo_stack’
stonehearth/services/server/build/build_service.lua:101: in function 'set_structure_active’
stonehearth/components/scaffolding/scaffolding.lua:73: in function 'create’
radiant/modules/common.lua:500: in function ‘create_controller’
…hearth/services/server/build/scaffolding_manager.lua:253: in function ‘_create_scaffolding_from’
…hearth/services/server/build/scaffolding_manager.lua:203: in function 'add_region’
stonehearth/services/server/build/build_service.lua:1522: in function ‘add_scaffolding_region’

…earth/components/fabricator/fabricator_component.lua:568: in function ‘_updates_state’
…earth/components/fabricator/fabricator_component.lua:557: in function 'obj’
radiant/modules/events.lua:83: 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:61: in function <radiant/server.lua:58>

I do have the save file folder right after the fourth error if anyone is interested in seeing if it can be recreated.

Welcome to the forum, @Astyrin :slight_smile:

If the error reproduces after reload, a savefile can be useful.

@Relyss. So I think I figured out part of the reason why it is happening. It occurred when I accidentally tried to place a storage box inside the wall that I had placed. Therefore it seems to be recreate-able. The error I got this time was the same as the first error I got earlier. I have also attached the save file. I hope this is useful. 1478568287705.zip (4.1 MB)

1 Like

Summary:
Not sure why someone would want to do this as I discovered by accident. If when building a building, and you place a decoration (tested with dining table and writing desk) on the wall blueprint, it throws an error.

Steps to reproduce:

  1. Go to create custom building mode
  2. Create a random foundation + wall blueprint
  3. Try to place a non wall item (chair, table, etc) on top of wall blueprint

Expected Results:
Either to attempt to place the item on the wall, or tell me I can’t do it as I can’t think of a reason to do it.

Actual Results:
Throws error:

release-687 (x64)[M]
stonehearth/lib/build_util.lua:158: invalid normal (0.00, 1.00, 0.00) in normal_to_rotation()
stack traceback:
[C]: ?
[C]: in function 'assert’
stonehearth/lib/build_util.lua:158: in function 'normal_to_rotation’
stonehearth/components/wall/wall_component.lua:259: in function 'add_fixture’
stonehearth/services/server/build/build_service.lua:1343: in function 'add_fixture’
stonehearth/services/server/build/build_service.lua:1283: in function 'cb’
stonehearth/services/server/build/build_service.lua:1582: in function 'do_command’
stonehearth/services/server/build/build_service.lua:1282: in function ‘add_fixture_command’
…tonehearth/call_handlers/place_item_call_handler.lua:175: in function <…tonehearth/call_handlers/place_item_call_handler.lua:165>

Version Number and Mods in use:
Alpha 19

System Information:
Irrelevant

2 Likes

Summary:
Trying to place a Turnip Shooter on top of a stone wall produced an Engine Error. Seen screenshot for attempted placement.

Steps to reproduce:

release-687 (x64)
stonehearth/lib/build_util.lua:158: invalid normal (0.00, 1.00, 0.00) in normal_to_rotation()
stack traceback:
[C]: ?
[C]: in function ‘assert’
stonehearth/lib/build_util.lua:158: in function ‘normal_to_rotation’
stonehearth/components/wall/wall_component.lua:259: in function ‘add_fixture’
stonehearth/services/server/build/build_service.lua:1343: in function ‘add_fixture’
…tonehearth/call_handlers/place_item_call_handler.lua:177: in function <…tonehearth/call_handlers/place_item_call_handler.lua:165>

release-687 (x64)
c++ exception: lua runtime error
stack traceback:

Expected Results:

Actual Results:

Notes:

Attachments:

Version Number and Mods in use:

System Information:

1 Like

Summary:
As title says, asking a minion to place a Stone Garden Lantern causes the game to bring an error page to open.
Steps to reproduce:

  1. Click on Stone Garden Lantern that has not been placed yet.
  2. Place Stone Garden Lantern on Wall.
  3. Error window appears

Expected Results:
Lantern should be placed on wall.
Actual Results:
Game Engine error came up.
Notes:
Awesome game! Keep up the good work and regular updates!
Attachments:
release-701 (x64)
stonehearth/lib/build_util.lua:158: invalid normal (0.00, 1.00, 0.00) in normal_to_rotation()
stack traceback:
[C]: ?
[C]: in function 'assert’
stonehearth/lib/build_util.lua:158: in function 'normal_to_rotation’
stonehearth/components/wall/wall_component.lua:259: in function 'add_fixture’
stonehearth/services/server/build/build_service.lua:1343: in function ‘add_fixture’
…tonehearth/call_handlers/place_item_call_handler.lua:110: in function <…tonehearth/call_handlers/place_item_call_handler.lua:87>
release-701 (x64)
c++ exception: lua runtime error
stack traceback:

Version Number and Mods in use:
release-701 (64x) no mods. (Was not aware there are mods!)
System Information:
Processor: AMD FX™-9370 Eight-Core Processor 4.48Ghz
RAM: 16.0 GB
System type: 64-bit Operating System, x64-based processor

hey there @Crocod00m, welcome to the discourse :smile:

just to make sure i got this right, the game just gave an engine error and didn’t crash to the desktop or anything like that, correct?

1 Like

Yes correct! It did not crash the game.

1 Like

okay, good to hear :jubilant: i think this has been reported before, but i’m not certain if the teams had a chance to look into it yet.

Sorry for the double thread! I searched the bug before posting and didn’t see anything related.

Also thanks for the warm welcome. I like this forum set up, very user friendly and looks quite awesome!

1 Like

no worry’s about the double posts, we’d rather have that than no bugs getting reported :wink: i’ve just merged your thread over here to the other one, :slight_smile:

1 Like

I totally agree! I hope to see stonehearth grow into something big! I have been following the game for a while now and you guys have done an amazing job so far! Glad i could help!

Ug. Looks like item placement broke in A19/A20.

You shouldn’t be able to place a hangable item on top of a wall. Also, items that aren’t hangable can be placed on walls (try hanging a small crate).

I’ll go fix. Thanks guys.

3 Likes

I’d been wondering about the small crates, and the small pots, and the decorative tray, and the beds.
.
That said, the game has been being difficult about placing things in general.
Mod-related items are allways iffy, … (the sheer number that take up more space than they ought to, …)
But when I’m placing a bed on the floor, and it teleports onto the roof (when I have roofs turned off) is a bit of a problem.
.
Allso, placing small crates/pots (and chests of either type) on top of large crates has been problematic too, the placement tries to ignore the crate, and place on the floor under it.
.
.
Allso, are garden lanterns only placeable on the ground? I could have sworn I used to place them on fenceposts (the wooden fence item, not a building shaped like a fencepost). I can place regular wall-lanterns, but they just don’t have the look I was going for.

Placing items on top of items wasn’t explicitly supported, but sometimes still works. That’s certainly an area we need to improve.

If you see beds teleporting onto roofs again, I’d love to see how to reproduce that so we can fix it.

Finally, garden lanterns were only intended to be placeable on the ground. Maybe we should allow the lanterns to be both placeable in both locations.

1 Like

Note that there are two versions of lanterns, one for walls, and one for ground. But both can be mismatched and placed wherever you want (from what I remember)

I used to do that too although now whenever I do it, I use Stone Garden Lanterns and stone walls because I like the look more.