Stormwall

by sh4dow

Build floor tiles that create a force field wall above them when supplied with energy.

Content
2 months ago
1.1
934
Combat

g non recoverable error on_robot_built_entity (ID14)

3 months ago
(updated 3 months ago)

Hey, I got a non recoverable error on_robot_built_entity (ID14)

3841.311 Error MainLoop.cpp:1404: Exception at tick 5858258: The mod Stormwall (1.4.12) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_robot_built_entity (ID 14)
The mod Stormwall (1.4.12) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::script_raised_built (ID 79)
Stormwall/control.lua:728: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:728: in function 'scanForPlates'
Stormwall/control.lua:587: in function <Stormwall/control.lua:562>
[C]: in function 'create_entity'
Stormwall/control.lua:565: in function <Stormwall/control.lua:562>
stack traceback:
[C]: in function 'create_entity'
Stormwall/control.lua:565: in function <Stormwall/control.lua:562>
3841.311 Error ServerMultiplayerManager.cpp:92: MultiplayerManager failed: "The mod Stormwall (1.4.12) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_robot_built_entity (ID 14)
The mod Stormwall (1.4.12) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::script_raised_built (ID 79)
Stormwall/control.lua:728: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:728: in function 'scanForPlates'
Stormwall/control.lua:587: in function <Stormwall/control.lua:562>
[C]: in function 'create_entity'
Stormwall/control.lua:565: in function <Stormwall/control.lua:562>
stack traceback:
[C]: in function 'create_entity'
Stormwall/control.lua:565: in function <Stormwall/control.lua:562>"
3841.311 Info ServerMultiplayerManager.cpp:816: updateTick(5858258) changing state from(InGame) to(Failed)

And an image of when it happened. On the left, there are ghosts of the blue walls, in the middle the right emitter (power icon) was placed by base bots that moment:
https://cdn.discordapp.com/attachments/865694945695236096/1270835987999621170/image.png?ex=66b525be&is=66b3d43e&hm=02a24a4526601741206e3ec01ac422584baf39734ddd2f874e9f1ad496853282&

I suspect it has to do with the nanobots mod, we had a crash twice and it seems to be related to our gameplay. Any direct placements are fine, however if bots try to do something, it crashes.
The first time, we did not have any "normal" base bots, researched, so I am pretty confident it is related to the nanobots.
Another thing, we are using the mining drones 2 mod, but ingame we were only close to them in the second crash, the first one was far outside of any depot.
Do you need any more information?

3 months ago
(updated 3 months ago)

After the Update to the version 1.4.13, on trying to force the crash, on the first attempt I got these lines in the factorio-current.log. What I did is again place a few blueprints of plates and emitters, then activating the nanobots.
Shortly after building the first set, I cut and pasted the same area and the emitters got destroyed, instead of deconstructed! Maybe these two parts of the log help you, the whole thing is too long to paste:

84.374 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>
84.463 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>
84.563 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>
84.663 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>

++++++++++++++++++++++++++++++++
Second part where stuff got deleted:
++++++++++++++++++++++++++++++++

116.362 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>
116.362 Script @stdlib/stdlib/core.lua:45: Nanobots-with-settings:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>
116.462 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>
116.562 Script @stdlib/stdlib/core.lua:45: Nanobots:The mod Stormwall (1.4.13) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Stormwall::on_player_mined_tile (ID 48)
Stormwall/control.lua:447: attempt to index field '?' (a nil value)
stack traceback:
Stormwall/control.lua:447: in function <Stormwall/control.lua:436>

3 months ago
(updated 3 months ago)

So, the issue in 1.4.12 was due to multiple things (a tile and an emitter covering it) being placed in the same tick. That should be fixed now.

The 1.4.13 issue is strange. All the log entries you posted suggest that a tile is mined that the mod didn't "know about" - ie. that either somehow bypassed the normal "on_*_built_tile" event when it came into being, or is deconstructed "before" is is constructed (ie. in the same tick, with the events being in the wrong order).
Since this error is mostly symptomatic of deeper problems (tiles not being noticed by the mod when they "come into being"), just patching the error doesn't seem helpful, and I can't tell where the issue comes from without looking deeper into the internals of Nanobots.

You could create a discussion/bug report about this with the Nanobots mod, since at least the deletion part seems unlikely to be the sole fault of this mod (and the errors at least suggest something strange is going on with tile placement).

3 months ago

Thanks for the response.
I have crossposted to both, the nanobots and the nanobots with settings mod, as I am using both of them. Sadly, the nanobots seem to be abandoned since two years, so I dont have high hopes on that side.
Is there anything I could run as tests that would help you narrow down the place to look at?

3 months ago

You don't need to run any tests.

I did a quick search through the Nanobots code, and I think I know where the issue comes from: tiles being placed via a surface.set_tiles in some cases; the only event this causes doesn't have any information about the previous tiles in that area, so I'd have to rewrite much of the tile placement logic to handle this...

2 months ago

I implemented a possible fix for this issue about a month ago, but forgot to mention it in this thread; is everything working for you now?

New response