Space Engineers

Space Engineers

Paint Gun - realistic painting for survival + special creative features
Replacing paint of same color crash
Before the AI update the paintgun worked like a charm but now it will crash the game when replacing whole ships colors, It is a very large ship, 110,000 blocks would it be possible to have it slowly populate the colors to prevent crashing when replacing all blocks of same color?
< >
Showing 1-4 of 4 comments
Digi  [developer] 4 Apr, 2024 @ 9:06am 
Well first I would like to know for sure what the cause is before I do changes =)

Can you post the SE log with the crash, can be here or privately on steam or discord (@m_digi).

If this happened in MP can you test the same blueprint in singleplayer, and if it doesn't repro there can you try the same world that's in MP if you have access to it.
Or if it just triggers with the BP I'd like to have it as well to repro and test fixes :}
Last edited by Digi; 4 Apr, 2024 @ 9:07am
MelodiousDeity 4 Apr, 2024 @ 8:44pm 
Heres what the log gave that i believe is for the mod

2024-04-04 23:31:11.473 - Thread: 1 -> MySession.Static.LogSettings - END
2024-04-04 23:31:11.603 - Thread: 1 -> Analytics ids for user ([007...536]): User = (612f5a7e-b6e6-ca47-bcb9-98f868302dc9) Session = (d6e47cc5-9417-4681-ad1f-5a5087277f3e).
2024-04-04 23:31:11.603 - Thread: 1 -> Sending event to ElasticSearch: WorldStart
2024-04-04 23:31:11.613 - Thread: 1 -> Session loaded
2024-04-04 23:31:11.613 - Thread: 1 -> RunLoadingAction - END
2024-04-04 23:31:11.613 - Thread: 1 -> MyGuiScreenGamePlay.LoadData - START
2024-04-04 23:31:11.614 - Thread: 1 -> MyGuiScreenGamePlay.LoadData - END
2024-04-04 23:31:11.614 - Thread: 1 -> MyGuiScreenGamePlay.LoadContent - START
2024-04-04 23:31:11.615 - Thread: 1 -> MyGuiScreenGamePlay MyGuiScreenBase.LoadContent
2024-04-04 23:31:11.615 - Thread: 1 -> MyGuiScreenGamePlay.LoadContent - END
2024-04-04 23:31:11.619 - Thread: 1 -> Loading duration: 23.6695384
2024-04-04 23:31:11.625 - Thread: 1 -> Updating continues.
2024-04-04 23:31:23.600 - Thread: 1 -> GC Memory: 2343.411 / 2343.411 MB
2024-04-04 23:31:24.985 - Thread: 1 -> STATISTICS LEGEND,time,ReceivedPerSecond,SentPerSecond,PeakReceivedPerSecond,PeakSentPerSecond,OverallReceived,OverallSent,CPULoadSmooth,ThreadLoadSmooth,GetOnlinePlayerCount,Ping,GCMemoryUsed,ProcessMemory,PCUBuilt,PCU,GridsCount,RenderCPULoadSmooth,RenderGPULoadSmooth,HardwareCPULoad,HardwareAvailableMemory,FrameTime,LowSimQuality,FrameTimeLimit,FrameTimeCPU,FrameTimeGPU,CPULoadLimit,TrackedMemory,GCMemoryAllocated,PersistedEncounters,EncounterEntities, DRS
2024-04-04 23:31:24.987 - Thread: 1 -> STATISTICS,105.95,0,0,0,0,0,0,10859.26,2935.579,1,0,2393.623,8205.469,390091,-390091,76,73.78027,69.88061,0.1433422,49740,19.64551,0,16.66667,14.49451,13.7284,100,4519072211,2393.623,0,0,-1
2024-04-04 23:31:24.987 - Thread: 1 -> MEMORY LEGEND,Srv,Uav,Read,Debug,Index,Audio,SrvUav,Vertex,Buffers,Physics,Planets,Systems,Textures,Indirect,Constant,RwTextures,Dx11Render,MeshBuffers,FileTextures,DepthStencil,TileTextures,Voxels-Native,CustomTextures,HeightmapFaces,Mesh GPU Buffers,BitStreamBuffers,GeneratedTextures,FileArrayTextures,NativeDictionaries,CubemapDataBuffers,HeightDetailTexture,MyDeviceWriteBuffers,ShadowCascadesStatsBuffers,AI_PathFinding,EpicOnlineServices,EpicOnlineServicesWrapper
2024-04-04 23:31:24.987 - Thread: 1 -> MEMORY VALUES,1,1,0,1,44,852,84,199,399,105,0,4309,2193,0,0,334,2593,0,1489,112,0,0,56,0,37,0,0,77,758,0,0,30,0,0,0,0
2024-04-04 23:31:24.991 - Thread: 1 -> MyGuiScreenLoading MyGuiScreenBase.UnloadContent - START
2024-04-04 23:31:24.991 - Thread: 1 -> MyGuiScreenLoading MyGuiScreenBase.UnloadContent - END
2024-04-04 23:31:24.992 - Thread: 1 -> MyGuiScreenHudSpace MyGuiScreenBase.LoadContent
2024-04-04 23:31:28.576 - Thread: 1 -> Sending event to ElasticSearch: Heartbeat
2024-04-04 23:31:35.704 - Thread: 1 -> MyGuiBlueprintScreen_Reworked - OnSelectItem
2024-04-04 23:31:35.763 - Thread: 1 -> MyGuiBlueprintScreen_Reworked MyGuiScreenBase.LoadContent
2024-04-04 23:31:35.779 - Thread: 1 -> MyGuiBlueprintScreen_Reworked - OnSelectItem
2024-04-04 23:31:45.354 - Thread: 1 -> MyGuiBlueprintScreen_Reworked - OnSelectItem
2024-04-04 23:31:45.415 - Thread: 1 -> MyGuiBlueprintScreen_Reworked - CopyToClipboard
2024-04-04 23:31:45.511 - Thread: 1 -> MyGuiBlueprintScreen_Reworked - CloseScreen - IsUnloading - False
2024-04-04 23:31:45.844 - Thread: 1 -> MyGuiBlueprintScreen_Reworked MyGuiScreenBase.UnloadContent - START
2024-04-04 23:31:45.845 - Thread: 1 -> MyGuiBlueprintScreen_Reworked MyGuiScreenBase.UnloadContent - END
2024-04-04 23:31:47.751 - Thread: 13 -> Initialized large grid UNSC Vorpal Blade Palomino-class Corvette [Halo] 13340 PCU
2024-04-04 23:31:53.620 - Thread: 1 -> GC Memory: 3026.545 / 3026.545 MB
2024-04-04 23:31:56.822 - Thread: 1 -> Pasting grid request by user: [007...536]
2024-04-04 23:31:56.864 - Thread: 10 -> CreateCompressedMsg: Type: MyObjectBuilder_CubeGrid Name: 140016760012836031 EntityID: 1C6010CBE86C7B5
2024-04-04 23:31:57.671 - Thread: 10 -> Initialized large grid UNSC Vorpal Blade Palomino-class Corvette [Halo] 13340 PCU
2024-04-04 23:31:57.671 - Thread: 10 -> Status: Exists(True) InScene(True)
2024-04-04 23:31:59.913 - Thread: 1 -> MyGuiScreenCubeBuilder.ctor START
2024-04-04 23:31:59.913 - Thread: 1 -> MyGuiScreenCubeBuilder.ctor END
2024-04-04 23:31:59.913 - Thread: 1 -> MyGuiScreenCubeBuilder.ctor START
2024-04-04 23:31:59.993 - Thread: 1 -> MyGuiScreenCubeBuilder.ctor END
2024-04-04 23:32:00.045 - Thread: 1 -> MyGuiScreenCubeBuilder MyGuiScreenBase.LoadContent
2024-04-04 23:32:04.277 - Thread: 1 -> MyGuiScreenCubeBuilder MyGuiScreenBase.UnloadContent - START
2024-04-04 23:32:04.278 - Thread: 1 -> MyGuiScreenCubeBuilder MyGuiScreenBase.UnloadContent - END
2024-04-04 23:32:04.348 - Thread: 1 -> GUI Stats: Update 13.4004392222222, Draw 0.906343444444444
2024-04-04 23:32:23.625 - Thread: 1 -> GC Memory: 3175.022 / 3175.022 MB
2024-04-04 23:32:53.656 - Thread: 1 -> GC Memory: 4724.234 / 4724.234 MB
2024-04-04 23:33:13.323 - Thread: 1 -> GUI Stats: Update 0.274784777777778, Draw 1.41841022222222
2024-04-04 23:33:23.669 - Thread: 1 -> GC Memory: 2682.626 / 2682.626 MB
2024-04-04 23:33:53.113 - Thread: 1 -> STATISTICS LEGEND,time,ReceivedPerSecond,SentPerSecond,PeakReceivedPerSecond,PeakSentPerSecond,OverallReceived,OverallSent,CPULoadSmooth,ThreadLoadSmooth,GetOnlinePlayerCount,Ping,GCMemoryUsed,ProcessMemory,PCUBuilt,PCU,GridsCount,RenderCPULoadSmooth,RenderGPULoadSmooth,HardwareCPULoad,HardwareAvailableMemory,FrameTime,LowSimQuality,FrameTimeLimit,FrameTimeCPU,FrameTimeGPU,CPULoadLimit,TrackedMemory,GCMemoryAllocated,PersistedEncounters,EncounterEntities, DRS
2024-04-04 23:33:53.113 - Thread: 1 -> STATISTICS,165.9666667,0,0,0,0,0,0,261.9253,657.2256,1,0,2695.929,10632.61,403431,-403431,77,94.74934,49.873,0.3114717,49553,21.12362,1,16.66667,20.01449,10.53498,100,6724412653,2695.929,0,0,-1
2024-04-04 23:33:53.113 - Thread: 1 -> MEMORY LEGEND,Srv,Uav,Read,Debug,Index,Audio,SrvUav,Vertex,Buffers,Physics,Planets,Systems,Textures,Indirect,Constant,RwTextures,Dx11Render,MeshBuffers,FileTextures,DepthStencil,TileTextures,Voxels-Native,CustomTextures,HeightmapFaces,Mesh GPU Buffers,BitStreamBuffers,GeneratedTextures,FileArrayTextures,NativeDictionaries,CubemapDataBuffers,HeightDetailTexture,MyDeviceWriteBuffers,ShadowCascadesStatsBuffers,AI_PathFinding,EpicOnlineServices,EpicOnlineServicesWrapper
2024-04-04 23:33:53.113 - Thread: 1 -> MEMORY VALUES,1,1,0,1,45,853,84,226,429,111,0,6412,4259,0,0,334,4688,0,3448,112,0,0,56,0,39,0,106,77,758,0,0,30,0,0,0,0
2024-04-04 23:33:53.670 - Thread: 1 -> GC Memory: 2699.362 / 2699.362 MB
2024-04-04 23:34:23.698 - Thread: 1 -> GC Memory: 2705.426 / 2705.426 MB
2024-04-04 23:34:28.106 - Thread: 1 -> GUI Stats: Update 0.266012388888889, Draw 1.80762127777778
2024-04-04 23:34:37.989 - Thread: 1 -> Paint Gun error/exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at VRageRender.MyUpdateFrame.MyConcurrentTwoLevelQueue.Enqueue(MyRenderMessageBase message)
at VRageRender.MyRender11.EnqueueMessage(MyRenderMessageBase message)
at VRageRender.MyRenderProxy.UpdateColorEmissivity(UInt32 id, Int32 lod, String materialName, Color diffuseColor, Single emissivity)
at VRage.Game.Entity.MyEntity.SetEmissiveParts(String emissiveName, Color emissivePartColor, Single emissivity)
at Sandbox.Game.Entities.MyEmissiveBlock.SetEmissivity(Single emissivity)
at Sandbox.Game.GameSystems.MyGridEmissiveSystem.UpdateEmissivity()
at Sandbox.Game.Entities.MyCubeGrid.OnSkinBlock(Vector3I min, Vector3I max, MyBlockVisuals visuals, Boolean playSound)
at Sandbox.Game.Entities.MyCubeGrid.OnSkinBlock<>VRageMath_Vector3I#VRageMath_Vector3I#Sandbox_Game_Entities_MyCubeGrid<>MyBlockVisuals#System_Boolean.Invoke(MyCubeGrid& this, Vector3I& min, Vector3I& max, MyBlockVisuals& visuals, Boolean& playSound, DBNull& arg5, 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.MyReplicationSingle.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](T1 arg1, T6 arg6, Func`2 action, T2 arg2, T3 arg3, T4 arg4, T5 arg5, EndpointId endpointId, Nullable`1 position)
at Sandbox.Game.Entities.MyCubeGrid.SkinBlockRequest(Vector3I min, Vector3I max, MyBlockVisuals visuals, Boolean playSound)
at Sandbox.Game.Entities.MyCubeGrid.SkinBlockRequest<>VRageMath_Vector3I#VRageMath_Vector3I#Sandbox_Game_Entities_MyCubeGrid<>MyBlockVisuals#System_Boolean.Invoke(MyCubeGrid& this, Vector3I& min, Vector3I& max, MyBlockVisuals& visuals, Boolean& playSound, DBNull& arg5, 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.MyReplicationSingle.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](T1 arg1, T6 arg6, Func`2 action, T2 arg2, T3 arg3, T4 arg4, T5 arg5, EndpointId endpointId, Nullable`1 position)
at Sandbox.Game.Entities.MyCubeGrid.SkinBlocks(Vector3I min, Vector3I max, Nullable`1 newHSV, Nullable`1 newSkin, Boolean playSound)
at Sandbox.Game.Entities.MyCubeGrid.VRage.Game.ModAPI.IMyCubeGrid.SkinBlocks(Vector3I min, Vector3I max, Nullable`1 newHSV, String newSkin)
at Digi.PaintGun.Features.Palette.Painting.ReplaceColorInGrid(Boolean sync, IMyCubeGrid selectedGrid, BlockMaterial oldPaint, PaintMaterial paint, Boolean includeSubgrids, UInt64 originalSenderSteamId)
at Digi.PaintGun.Features.Palette.Painting.ToolReplacePaint(IMyCubeGrid grid, BlockMaterial oldPaint, PaintMaterial paint, Boolean includeSubgrids)
at Digi.PaintGun.Features.Tool.LocalToolHandler.HandleTool(Boolean trigger)
at Digi.PaintGun.Features.Tool.LocalToolHandler.HandleInputs_Painting(Boolean trigger)
at Digi.PaintGun.Features.Tool.LocalToolHandler.UpdateInput(Boolean anyKeyOrMouse, Boolean inMenu, Boolean paused)
at Digi.ComponentLib.ComponentBase`1.Digi.ComponentLib.IComponent.UpdateInput(Boolean anyKeyOrMouse, Boolean inMenu, Boolean paused)
at Digi.ComponentLib.ModBase`1.Digi.ComponentLib.IModBase.UpdateInput()
2024-04-04 23:34:37.999 - Thread: 1 -> Exception occurred: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at VRageRender.MyUpdateFrame.MyConcurrentTwoLevelQueue.Enqueue(MyRenderMessageBase message)
at VRageRender.MyRender11.EnqueueMessage(MyRenderMessageBase message)
at VRage.Game.Components.MyRenderComponentBase.SetParent(Int32 index, UInt32 cellParentCullObject, Nullable`1 childToParent)
at Sandbox.Game.Weapons.MyLargeTurretBase.UpdateOnceBeforeFrame()
at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.DispatchOnceBeforeFrame()
at Sandbox.Game.Entities.MyEntities.UpdateBeforeSimulation()
at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
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)
2024-04-04 23:34:38.000 - Thread: 1 -> Showing message
2024-04-04 23:34:39.200 - Thread: 1 ->
================================== CRASH INFO ==================================
AppVersion: 01_203_630
GameName: Space Engineers
IsOutOfMemory: False
IsGPU: False
IsNative: False
IsTask: False
IsExperimental: True
ProcessRunTime: 513
PCUCount: 403431
IsHang: False
GCMemory: 2761
GCMemoryAllocated: 2761
HWAvailableMemory: 49502
ProcessPrivateMemory: 10678
AnalyticId: SE
================================== OFNI HSARC ==================================

2024-04-04 23:34:39.200 - Thread: 1 -> Log Closed
Digi  [developer] 10 Apr, 2024 @ 6:14pm 
I couldn't quite get to 110k blocks to test so you'll have to confirm it for me =)
I did test at about 20k of emissive blocks and it didn't crash, so I went with 10k every half a second.

Mod updated, thanks for the report!
MelodiousDeity 29 Apr, 2024 @ 1:37am 
Awesome! Thanks a ton, it works like a charm on massive ships now ;)
< >
Showing 1-4 of 4 comments
Per page: 1530 50