[2.0.76] Toggling silo LuaLogisticPoint.enabled can break rocket logistics and hang factorio
Posted: Mon Apr 06, 2026 1:04 pm
Toggling LuaLogisticPoint.enabled on a space age rocket-silo while silo is getting items delivered can break it permanently and then cause following game saving to hang and save loads to crash
Reproducible with all other mods disabled, on a modded but "clean" save (a save before I messed around with mod development)
Steps to reproduce:
-load megaSA12_bug2.zip
A platform in orbit is currently requesting calcite, a silo is being delivered calcite via automatic request
-Open Rocket Silo GUI on the lower silo
-Rapidly toggle Provider Enable and Requester Enable in the "Silo control" modded relative GUI to the right
this will toggle "enabled" on first and second logistics points on the silo from lua
I believe it has to be toggled _while_ the silo is still having items delivered, not while it is idle!
-This may then break the rocket silo to where it does no longer auto launch despite being full
or sometimes enter a state where the silo is being chaotically loaded and unloaded at the same time to and from the nearby buffer chest
-Sometimes the next or one after the next autosave will hang completely at 0%
If trying to load a save before this, the game can crash, log included
Note that I could not reproduce it 100% of the time. May require re-trying 2-3 times. (Try loading as in step 1, if it does not crash, repeat process)
What did you expect to happen instead?
I assume a crash is of interest either way.
That said, this usage of the API for the silo may not be supported, the goal of my mod is to allow more detailed control of rocket logistics.
(launch_rocket() API allows launching via circuit condition, but automatic logistics of silos can defeat the point, so ideally could be disabled at will.)
A modder may however expect that the all logistics points of the silo can safely be modified at any time, and work as expected.
-disable requester point and possibly edit filters (though engine might overwrite)
-disable passive provider but that may not be supported by the engine (?)
Reproducible with all other mods disabled, on a modded but "clean" save (a save before I messed around with mod development)
Steps to reproduce:
-load megaSA12_bug2.zip
A platform in orbit is currently requesting calcite, a silo is being delivered calcite via automatic request
-Open Rocket Silo GUI on the lower silo
-Rapidly toggle Provider Enable and Requester Enable in the "Silo control" modded relative GUI to the right
this will toggle "enabled" on first and second logistics points on the silo from lua
I believe it has to be toggled _while_ the silo is still having items delivered, not while it is idle!
-This may then break the rocket silo to where it does no longer auto launch despite being full
or sometimes enter a state where the silo is being chaotically loaded and unloaded at the same time to and from the nearby buffer chest
-Sometimes the next or one after the next autosave will hang completely at 0%
If trying to load a save before this, the game can crash, log included
Note that I could not reproduce it 100% of the time. May require re-trying 2-3 times. (Try loading as in step 1, if it does not crash, repeat process)
What did you expect to happen instead?
I assume a crash is of interest either way.
That said, this usage of the API for the silo may not be supported, the goal of my mod is to allow more detailed control of rocket logistics.
(launch_rocket() API allows launching via circuit condition, but automatic logistics of silos can defeat the point, so ideally could be disabled at will.)
A modder may however expect that the all logistics points of the silo can safely be modified at any time, and work as expected.
-disable requester point and possibly edit filters (though engine might overwrite)
-disable passive provider but that may not be supported by the engine (?)