Space Engineers

Space Engineers

Nanite Control Factory - Automated Construction (Not working - Old Version)
Grunt 2 May, 2016 @ 2:34pm
[BUG - Crash] - Damaging an actively deconstructing nanite factory.
Repeatable here - in creative mode haven't checked this in survival.


Create station and minimum facilities - control, storage, power, conveyors, nanite factory.

Place deconstruction beacon on large craft so it has plenty of work.

Repair previously placed factory to 100% so it cranks. It starts at 0 here which is odd since it's creative mode.

Let a couple batches bring back materials. As next batch returns to factory - grind (or shoot with L1 rifle) factory until game crashes.


I haven't looked at your code though I imagine it's using a massive number of their API - haven't looked at their API in so many months. Heavy work load.

Anyway on its surface without actually digging in it's likely something lost scope (reference) due to unit transition from operational to incomplete state.

If you're preventing (100% coverage) any unhandled anywhere on your side then it's a missing catch somewhere in the api - engine pipeline.



Edited:
Last few log entries for reference:

[16:18:11] ADDING Deconstruction Target: 107341819602071882 - MySlimBlock (EntityID=0,Position=[X:-1, Y:12, Z:-19])
[16:18:11] ADDING Deconstruction Target: 107341819602071882 - MySlimBlock (EntityID=0,Position=[X:-1, Y:12, Z:-21])
[16:18:11] ADDING Deconstruction Target: 107341819602071882 - MySlimBlock (EntityID=0,Position=[X:-2, Y:12, Z:-20])
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MyConveyorConnector - 350ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms
[16:18:11] GRINDING started. Target block: MySlimBlock - 1200ms


Relevant settings:
<DeconstructionMaxStreams>12</DeconstructionMaxStreams> <DeconstructionMaxDistance>500</DeconstructionMaxDistance> <DeconstructionEfficiency>4</DeconstructionEfficiency> <DeconstructionPowerPerStream>16</DeconstructionPowerPerStream> <DeconstructionMinTravelTime>5</DeconstructionMinTravelTime> <DeconstructionDistanceDivisor>15</DeconstructionDistanceDivisor> <DeconstructionPerformanceFriendly>true</DeconstructionPerformanceFriendly>
Last edited by Grunt; 2 May, 2016 @ 2:49pm
< >
Showing 1-4 of 4 comments
tyrsis  [developer] 2 May, 2016 @ 8:43pm 
Please use pastebin.com and give me your spaceengineers.log as outlined in the description when the crash occurs.
Grunt 3 May, 2016 @ 4:02am 
Sorry I was in a huge hurry yesterday and didn't include (or even check) the engine logs.

However I did capture the save so I reset the logs this morning and repeated the scenario - and captured the exception.


I've included starting at settings in case they're relevant to your code. If you still need the full log I'll filter it and make arrangements.

... 2016-05-03 05:29:39.870 - Thread: 1 -> Settings: 2016-05-03 05:29:39.870 - Thread: 1 -> GameMode = Creative 2016-05-03 05:29:39.870 - Thread: 1 -> MaxPlayers = 4 2016-05-03 05:29:39.870 - Thread: 1 -> OnlineMode = OFFLINE 2016-05-03 05:29:39.870 - Thread: 1 -> AutoHealing = True 2016-05-03 05:29:39.870 - Thread: 1 -> WeaponsEnabled = True 2016-05-03 05:29:39.870 - Thread: 1 -> ThrusterDamage = True 2016-05-03 05:29:39.870 - Thread: 1 -> EnableSpectator = False 2016-05-03 05:29:39.870 - Thread: 1 -> EnableCopyPaste = True 2016-05-03 05:29:39.870 - Thread: 1 -> MaxFloatingObjects = 56 2016-05-03 05:29:39.870 - Thread: 1 -> CargoShipsEnabled = True 2016-05-03 05:29:39.870 - Thread: 1 -> EnvironmentHostility = SAFE 2016-05-03 05:29:39.870 - Thread: 1 -> ShowPlayerNamesOnHud = True 2016-05-03 05:29:39.870 - Thread: 1 -> InventorySizeMultiplier = 10 2016-05-03 05:29:39.870 - Thread: 1 -> RefinerySpeedMultiplier = 10 2016-05-03 05:29:39.870 - Thread: 1 -> AssemblerSpeedMultiplier = 10 2016-05-03 05:29:39.870 - Thread: 1 -> AssemblerEfficiencyMultiplier = 10 2016-05-03 05:29:39.870 - Thread: 1 -> WelderSpeedMultiplier = 5 2016-05-03 05:29:39.870 - Thread: 1 -> GrinderSpeedMultiplier = 5 2016-05-03 05:29:39.870 - Thread: 1 -> ClientCanSave = False 2016-05-03 05:29:39.870 - Thread: 1 -> HackSpeedMultiplier = 0.33 2016-05-03 05:29:39.870 - Thread: 1 -> PermanentDeath = False 2016-05-03 05:29:39.870 - Thread: 1 -> DestructibleBlocks = True 2016-05-03 05:29:39.870 - Thread: 1 -> EnableScripts = True 2016-05-03 05:29:39.870 - Thread: 1 -> AutoSaveInMinutes = 0 2016-05-03 05:29:39.870 - Thread: 1 -> SpawnShipTimeMultiplier = 0.5 2016-05-03 05:29:39.870 - Thread: 1 -> ProceduralDensity = 0.35 2016-05-03 05:29:39.870 - Thread: 1 -> ProceduralSeed = 113773794 2016-05-03 05:29:39.870 - Thread: 1 -> DestructibleBlocks = True 2016-05-03 05:29:39.870 - Thread: 1 -> EnableIngameScripts = True 2016-05-03 05:29:39.870 - Thread: 1 -> ViewDistance = 15000 2016-05-03 05:29:39.870 - Thread: 1 -> Battle = False 2016-05-03 05:29:39.870 - Thread: 1 -> Voxel destruction = True 2016-05-03 05:29:39.870 - Thread: 1 -> EnableStructuralSimulation = False 2016-05-03 05:29:39.870 - Thread: 1 -> MaxActiveFracturePieces = 50 2016-05-03 05:29:39.870 - Thread: 1 -> MySession.Static.LogSettings - END 2016-05-03 05:29:39.883 - Thread: 1 -> Session loaded 2016-05-03 05:29:39.883 - Thread: 1 -> RunLoadingAction - END 2016-05-03 05:29:39.883 - Thread: 1 -> MyGuiScreenGamePlay.LoadData - START 2016-05-03 05:29:39.900 - Thread: 1 -> MyGuiScreenGamePlay.LoadData - END 2016-05-03 05:29:39.900 - Thread: 1 -> MyGuiScreenGamePlay.LoadContent - START 2016-05-03 05:29:39.900 - Thread: 1 -> MyGuiScreenGamePlay.LoadContent - END 2016-05-03 05:29:39.910 - Thread: 1 -> Updating continues. 2016-05-03 05:29:39.932 - Thread: 1 -> GC Memory: 2,174,025,040 B 2016-05-03 05:29:50.432 - Thread: 1 -> MyGlobalEvents.StartGlobalEvent: MyObjectBuilder_GlobalEventBase/SpawnCargoShip 2016-05-03 05:29:50.820 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START 2016-05-03 05:29:50.821 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END 2016-05-03 05:29:50.829 - Thread: 1 -> Loading voxel storage from file 'E:\Games\Steam\steamapps\common\SpaceEngineers\Content\VoxelMaps\MediumStoneIronCoreStoneCoverage.vx2' 2016-05-03 05:29:50.853 - Thread: 1 -> Loading voxel storage from file 'E:\Games\Steam\steamapps\common\SpaceEngineers\Content\VoxelMaps\MediumStoneIronCoreStoneCoverage.vx2' 2016-05-03 05:30:00.035 - Thread: 1 -> MyGlobalEvents.StartGlobalEvent: MyObjectBuilder_GlobalEventBase/SpawnCargoShip 2016-05-03 05:30:07.113 - Thread: 1 -> Updating stopped. 2016-05-03 05:30:22.079 - Thread: 1 -> Saving world - START 2016-05-03 05:30:22.080 - Thread: 1 -> Making world state snapshot. 2016-05-03 05:30:22.080 - Thread: 1 -> Before snapshot.: GC Memory: 4,701,546,856 B 2016-05-03 05:30:22.101 - Thread: 1 -> After snapshot.: GC Memory: 4,702,750,896 B 2016-05-03 05:30:22.102 - Thread: 1 -> Directory cleanup: GC Memory: 4,702,750,896 B 2016-05-03 05:30:22.102 - Thread: 1 -> Saving world - END 2016-05-03 05:30:22.111 - Thread: 6 -> Session snapshot save - START 2016-05-03 05:30:22.111 - Thread: 6 -> Checking file access for files in target dir. 2016-05-03 05:30:22.209 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START 2016-05-03 05:30:22.209 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END 2016-05-03 05:30:22.476 - Thread: 6 -> Session snapshot save - END 2016-05-03 05:30:26.026 - Thread: 1 -> Updating continues. 2016-05-03 05:30:26.027 - Thread: 1 -> GC Memory: 4,705,609,816 B 2016-05-03 05:30:26.158 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START 2016-05-03 05:30:26.159 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END 2016-05-03 05:30:28.987 - Thread: 1 -> MyGlobalEvents.StartGlobalEvent: MyObjectBuilder_GlobalEventBase/SpawnCargoShip 2016-05-03 05:30:39.030 - Thread: 1 -> MyGlobalEvents.StartGlobalEvent: MyObjectBuilder_GlobalEventBase/SpawnCargoShip 2016-05-03 05:30:49.074 - Thread: 1 -> MyGlobalEvents.StartGlobalEvent: MyObjectBuilder_GlobalEventBase/SpawnCargoShip 2016-05-03 05:30:56.038 - Thread: 1 -> GC Memory: 4,745,040,040 B 2016-05-03 05:30:58.863 - Thread: 1 -> Exception occured: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Sandbox.Game.Entities.MyComponentStack.CanContinueBuild(MyInventory inventory, MyConstructionStockpile stockpile) at SpaceEngineers.Game.Entities.Blocks.MyShipWelder.Activate(HashSet`1 targets) at Sandbox.Game.Weapons.MyShipToolBase.ActivateCommon() at Sandbox.Game.Weapons.MyShipToolBase.UpdateAfterSimulation10() 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__DisplayClass1.<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.RunInternal(String[] args) at SpaceEngineers.MyProgram.Main(String[] args)


I've also included the last line from the VRage log as the timeframe correlates within 2 seconds of the crash and the mod.

... 2016-05-03 05:30:43.861 - Thread: 9 -> Missing or invalid texture: Textures2\Models\fake_cm.dds 2016-05-03 05:30:43.861 - Thread: 9 -> Missing or invalid texture: Textures2\Models\fake_ng.dds 2016-05-03 05:30:43.861 - Thread: 9 -> Missing or invalid texture: Textures2\Models\fake_add.dds 2016-05-03 05:30:56.246 - Thread: 9 -> Mesh asset C:\Users\[removed]/AppData/Roaming/SpaceEngineers/Mods/655922051.sbm/Models/SmallNaniteWelder.mwm has no material in part 0
Last edited by Grunt; 3 May, 2016 @ 4:03am
tyrsis  [developer] 3 May, 2016 @ 9:55am 
What is it trying to weld? Can you publish a world and give instructions on how to repeat this issue? This smells like a mod conflict issue, but it's hard to say with that crash report.
Grunt 4 May, 2016 @ 3:52am 
I assumed it's welding itself - which it definitely should since it's being damaged.

However this morning the save I backed up and used 8 times (8 crashes repeated) no longer crashes doing this scenario.

I was going to whittle down mods 1 by 1 to try and help isolate where a conflict may exist but for baseline I did the scenario immediately first with no changes - and can't reproduce the crash anymore so this ones dead and a mystery for now.

Just an incredible mod btw. You hear that often for good reason. Extremely compelling mod and makes us (likely rare) solo players able to enjoy a LOT more of the game because it suppliments not having a crew to help hugely tedious tasks.

If you can implement a construction beacon that would be ideal and fill in a major piece.

Anyway thanks for your work.
< >
Showing 1-4 of 4 comments
Per page: 1530 50