Space Engineers

Space Engineers

Energy Shields
Kam Solastor Feb 18, 2023 @ 6:39pm
-Resolved- Crash when placing small-grid large shield generator
I'm getting a crash when I try to place a small-grid large shield generator - here's the last bit of the crash log (as the whole game log is about 20Mb):

2023-02-18 21:08:59.582 - Thread: 1 -> Exception occurred: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
at VRage.Game.Components.MyComponentContainer.Serialize(Boolean copy)
at Sandbox.Game.Entities.MyCubeBlock.GetObjectBuilderCubeBlock(Boolean copy)
at Sandbox.Game.Entities.Cube.MyTerminalBlock.GetObjectBuilderCubeBlock(Boolean copy)
at Sandbox.Game.Entities.Cube.MyFunctionalBlock.GetObjectBuilderCubeBlock(Boolean copy)
at Sandbox.Game.Entities.Cube.MyProductionBlock.GetObjectBuilderCubeBlock(Boolean copy)
at Sandbox.Game.Entities.Cube.MySlimBlock.GetObjectBuilderInternal(Boolean copy)
at Sandbox.Game.Entities.MyCubeGrid.GetObjectBuilderInternal(MyObjectBuilder_CubeGrid ob, Boolean copy)
at Sandbox.Game.Entities.MyCubeGrid.GetObjectBuilder(Boolean copy)
at ttrcrwm.grid_logic..ctor(IMyCubeGrid new_grid)
at ttrcrwm.session_handler.on_entity_added(IMyEntity entity)
at System.Action`1.Invoke(T obj)
at Sandbox.Game.Entities.MyEntities.RaiseEntityAdd(MyEntity entity)
at Sandbox.Game.Entities.MyEntities.Add(MyEntity entity, Boolean insertIntoScene)
at Sandbox.Game.Entities.MyEntities.InitEntityData.OnEntityInitialized()
at Sandbox.MySandboxGame.ProcessInvoke()
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at SpaceEngineers.MyProgram.Main(String[] args)
2023-02-18 21:08:59.582 - Thread: 1 -> Showing message
2023-02-18 21:09:05.294 - Thread: 1 ->
================================== CRASH INFO ==================================
AppVersion: 01_201_014
GameName: Space Engineers
IsOutOfMemory: False
IsGPU: False
IsNative: False
IsTask: False
IsExperimental: True
ProcessRunTime: 699
PCUCount: 118390
IsHang: False
GCMemory: 9362
GCMemoryAllocated: 9362
HWAvailableMemory: 9771
ProcessPrivateMemory: 22321
AnalyticId: SE
================================== OFNI HSARC ==================================

2023-02-18 21:09:05.294 - Thread: 1 -> Log Closed
Last edited by Kam Solastor; Feb 21, 2023 @ 3:45pm
< >
Showing 1-8 of 8 comments
Kam Solastor Feb 18, 2023 @ 7:20pm 
I adjusted the slot in my load order where Energy Shields is placed, with it at the top or bottom now results in just putting the large energy shield into my toolbar being enough to crash instantly after.
Kam Solastor Feb 19, 2023 @ 2:16pm 
Update: Have tried deleting/re-downloading all my workshop items from SE - issue persists.

Tried a new world with just the Energy Shields mod - seems to work without issue.

Figuring it was a potential mod conflict, tried to narrow it down by taking my current save, making copies of it, then removing chunks of mods at a time - results inconclusive, and unable to narrow down a likely culprit.

Also, found that even just putting the shield onto the toolbar (without placing it in world) will cause the crash, which can happen anywhere from immediately to 30 seconds or so after placing the shield block onto my toolbar.
Kam Solastor Feb 19, 2023 @ 2:17pm 
Here's a message link to a full log posted to the official Space Engineers discord server: https://discord.com/channels/125011928711036928/136097351134740480/1076979289838325802
Kam Solastor Feb 19, 2023 @ 7:00pm 
Tested on a new world - same issue.
Kam Solastor Feb 21, 2023 @ 3:44pm 
Found the issue - mod conflict:

MA Maneuvering Aerospike Thruster

https://steamcommunity.com/sharedfiles/filedetails/?id=1577406211
Originally posted by Kam Solastor:
Found the issue - mod conflict:

MA Maneuvering Aerospike Thruster

https://steamcommunity.com/sharedfiles/filedetails/?id=1577406211

Legend. Thanks for your work in diagnosing this; probably saved me a LOT of time. :D
lyneca Oct 26, 2023 @ 6:01pm 
Having the same issue, looks like it's another mod though as I don't have the manoeuvring aerospike mod :/ are there any broad categories of mod that are likely to be causing the crash?
lyneca Oct 26, 2023 @ 6:15pm 
Okay, I found the issue. The game crashes when you place a shield emitter while using the Mirror mod.

2023-10-27 12:13:56.331 - Thread: 1 -> Exception occurred: System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext() at VRage.Game.Components.MyComponentContainer.Serialize(Boolean copy) at Sandbox.Game.Entities.MyCubeBlock.GetObjectBuilderCubeBlock(Boolean copy) at Sandbox.Game.Entities.Cube.MyTerminalBlock.GetObjectBuilderCubeBlock(Boolean copy) at Sandbox.Game.Entities.Cube.MyFunctionalBlock.GetObjectBuilderCubeBlock(Boolean copy) at Sandbox.Game.Entities.Cube.MyProductionBlock.GetObjectBuilderCubeBlock(Boolean copy) at Sandbox.Game.Entities.Cube.MySlimBlock.GetObjectBuilderInternal(Boolean copy) at Sandbox.Game.Entities.Cube.MySlimBlock.VRage.Game.ModAPI.IMySlimBlock.GetObjectBuilder(Boolean copy) at SurvivalMirror.SurvivalMirror.TryAddMirrorBlock(Vector3I pos, IMySlimBlock block) at SurvivalMirror.SurvivalMirror.CreateMirrors(IMySlimBlock block) at SurvivalMirror.SurvivalMirror.OnBlockAddToGrid(IMySlimBlock block) at System.Action`1.Invoke(T obj) at System.DelegateExtensions.InvokeIfNotNull[T1](Action`1 handler, T1 arg1) at Sandbox.Game.Entities.MyCubeGrid.NotifyBlockAdded(MySlimBlock block) at Sandbox.Game.Entities.MyCubeGrid.AddCubeBlock(MyObjectBuilder_CubeBlock objectBuilder, Boolean testMerge, MyCubeBlockDefinition blockDefinition) at Sandbox.Game.Entities.MyCubeGrid.AddBlock(MyObjectBuilder_CubeBlock objectBuilder, Boolean testMerge) at Sandbox.Game.Entities.MyCubeGrid.BuildBlock(MyCubeBlockDefinition blockDefinition, Vector3 colorMaskHsv, MyStringHash skinId, Vector3I min, Quaternion orientation, Int64 owner, Int64 entityId, MyEntity builderEntity, MyObjectBuilder_CubeBlock blockObjectBuilder, Boolean updateVolume, Boolean testMerge, Boolean buildAsAdmin, String localizedDisplayNameBase) at Sandbox.Game.Entities.MyCubeGrid.BuildBlocksSuccess(Vector3 colorMaskHsv, MyStringHash skinId, HashSet`1 locations, HashSet`1 resultBlocks, MyEntity builder, Boolean instantBuilt, Int64 ownerId, UInt64 placingPlayer) at Sandbox.Game.Entities.MyCubeGrid.BuildBlocksRequest(MyBlockVisuals visuals, HashSet`1 locations, Int64 builderEntityId, Boolean instantBuild, Int64 ownerId) at Sandbox.Game.Entities.MyCubeGrid.BuildBlocksRequest<>Sandbox_Game_Entities_MyCubeGrid<>MyBlockVisuals#System_Collections_Generic_HashSet`1<Sandbox_Game_Entities_MyCubeGrid<>MyBlockLocation>#System_Int64#System_Boolean#System_Int64.Invoke(MyCubeGrid& this, MyBlockVisuals& visuals, HashSet`1& locations, Int64& builderEntityId, Boolean& instantBuild, Int64& ownerId, DBNull& arg6) at VRage.Network.MyReplicationLayerBase.InvokeLocally[T1,T2,T3,T4,T5,T6,T7](CallSite`7 site, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) at VRage.Network.MyReplicationLayer.DispatchEvent[T1,T2,T3,T4,T5,T6,T7,T8](CallSite callSite, EndpointId recipient, Nullable`1 position, T1& arg1, T2& arg2, T3& arg3, T4& arg4, T5& arg5, T6& arg6, T7& arg7, T8& arg8) at VRage.Network.MyReplicationLayerBase.RaiseEvent[T1,T2,T3,T4,T5,T6,T7](T1 arg1, T7 arg7, Func`2 action, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, EndpointId endpointId, Nullable`1 position) at Sandbox.Game.Entities.MyCubeGrid.BuildBlocks(Vector3 colorMaskHsv, MyStringHash skinId, HashSet`1 locations, Int64 builderEntityId, Int64 ownerId) at Sandbox.Game.Entities.MyCubeBuilder.AddConstruction(MyEntity builder) at Sandbox.Game.Weapons.MyBlockPlacerBase.Shoot(MyShootActionEnum action, Vector3 direction, Nullable`1 overrideWeaponPos, String gunAction) at SpaceEngineers.Game.Entities.Weapons.MyCubePlacer.Shoot(MyShootActionEnum action, Vector3 direction, Nullable`1 overrideWeaponPos, String gunAction) at Sandbox.Game.Entities.Character.MyCharacter.ShootInternal() at Sandbox.Game.Entities.Character.MyCharacter.UpdateShooting() at Sandbox.Game.Entities.Character.MyCharacter.UpdateAfterSimulation() at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.UpdateAfterSimulation() at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.DispatchAfterSimulation() at Sandbox.Game.Entities.MyEntities.UpdateAfterSimulation() at Sandbox.Game.World.MySector.UpdateAfterSimulation() at Sandbox.Game.World.MySession.UpdateComponents() at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime) at Sandbox.MySandboxGame.Update() at Sandbox.Engine.Platform.Game.UpdateInternal() at Sandbox.Engine.Platform.Game.RunSingleFrame() at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0() at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback) at Sandbox.Engine.Platform.Game.RunLoop() at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen) at SpaceEngineers.MyProgram.Main(String[] args)
< >
Showing 1-8 of 8 comments
Per page: 1530 50