Log report for Underground Pipes
I found a direct case involving Underground Pipes v1.3.1 (PipeTerrainIgnoreMod) while the demolition tool was active.
The mod first reported:
[PipeTerrainIgnore] Abriss-Untergrundanzeige wurde nach einem Fehler deaktiviert:
Set changed while enumerating.
Stack:
PipeTerrainIgnoreMod.PipeBlueprintVisibilityPatch.RefreshBuriedPipesForDemolition()
PipeTerrainIgnoreMod.PipeDemolitionVisibilityPatch.RefreshBuriedPipes(...)
Mafi.Unity.Ui.Controllers.Tools.DeleteEntityInputController.InputUpdate_Patch2(...)
Mafi.Unity.InputControl.UnityInputManager.inputUpdate(...)
Mafi.Core.GameLoop.GameRunner.performInputUpdate()
Later, COI produced an entity-enumerator aassertion failure from the same main/input-thread path:
Outer enumerator finished first?
Mafi.Core.Entities.EntitiesManager.GetAllEntitiesOfType.MoveNext()
PipeTerrainIgnoreMod.PipeConnectorVisibility.RefreshBuiltConnectors(...)
PipeTerrainIgnoreMod.PipeBlueprintVisibilityPatch.RefreshExistingPipeOverlays(...)
PipeTerrainIgnoreMod.PipeBlueprintVisibilityPatch.RefreshBuriedPipesForDemolition()
PipeTerrainIgnoreMod.PipeDemolitionVisibilityPatch.RefreshBuriedPipes(...)
Mafi.Unity.Ui.Controllers.Tools.DeleteEntityInputController.InputUpdate_Patch2(...)
This path appeared in 11 entity-enumerator assertions during the session. (Sessions with heavy use of demolition may have 100s)
A COI developer advised that accessing simulation collections from the main thread is generally unsafe and that the sync phase should usually be used to transfer simulation data to the main thread.
Could you check whether RefreshBuiltConnectors / RefreshExistingPipeOverlays is enumerating the live entity collection from InputUpdate?
This is a COI wide mod incompatibility issue. Many mods are suddenly failing to read and write their data properly in new and existing worlds accross many different mod combinations.
For more information i've made an issue post here to track every mod observed in log storms in hopes hotfixes can be rolled out. Many popular mod combinations are currently displaying frequent enumeration failures which in some cases have shown to lead to feature failures, crashing and data corruption over extended play time.
https://discord.com/channels/803508556325584926/1552336216199008388/1552336216199008388
In the case for Underground Pipes, none of it's observable features seem to fail, however it has the highest recorded frequency of data collisions with other mods in sessions that used the demolition tool, which can cause instability for other mods still not hotfixed.
Edit: Thanks for new updates! 🙏