StarCoreSE / SCModRepository

Starcore's Mod Repo
https://www.starcore.tv/
GNU General Public License v3.0
2 stars 17 forks source link

crash related to repair module ResourceSink #1432

Closed InvalidArgument3 closed 1 month ago

InvalidArgument3 commented 1 month ago
20:12:03.0349 [FATAL]  Initializer: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.EntityComponents.MyResourceSinkComponent.Update()
   at Sandbox.Game.Entities.MyConveyorSorter.ComponentStack_IsFunctionalChanged()
   at System.Action.Invoke()
   at System.DelegateExtensions.InvokeIfNotNull(Action handler)
   at Sandbox.Game.Entities.MyComponentStack.set_Integrity(Single value)
   at Sandbox.Game.Entities.MyComponentStack.IncreaseMountLevelInternal(Single mountAmount, MyConstructionStockpile stockpile)
   at Sandbox.Game.Entities.MyComponentStack.IncreaseMountLevel(Single mountAmount, MyConstructionStockpile stockpile)
   at Sandbox.Game.Entities.Cube.MySlimBlock.IncreaseMountLevel(Single welderMountAmount, Int64 welderOwnerIdentId, MyInventoryBase outputInventory, Single maxAllowedBoneMovement, Boolean isHelping, MyOwnershipShareModeEnum sharing, Boolean handWelded, Boolean testingMode)
   at Sandbox.Game.Entities.Cube.MySlimBlock.VRage.Game.ModAPI.IMySlimBlock.IncreaseMountLevel(Single welderMountAmount, Int64 welderOwnerPlayerId, IMyInventory outputInventory, Single maxAllowedBoneMovement, Boolean isHelping, MyOwnershipShareModeEnum share)
   at StarCore.RepairModule.RepairModule.RepairTarget(IMySlimBlock block)
   at StarCore.RepairModule.RepairModule.UpdateAfterSimulation()
   at VRage.Game.Components.MyGameLogicComponent.VRage.Game.Entity.EntityComponents.Interfaces.IMyGameLogicComponent.UpdateAfterSimulation(Boolean entityUpdate)
   at VRage.Game.Entity.MyGameLogic.<>c.<UpdateAfterSimulation>b__9_0(MyGameLogicComponent c)
   at VRage.Collections.MyDistributedUpdater`2.Iterate(Action`1 p)
   at VRage.Game.Entity.MyGameLogic.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 Torch.VRageGame.DoStart() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 326
   at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 133
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.EntityComponents.MyResourceSinkComponent.Update()
   at Sandbox.Game.Entities.MyConveyorSorter.ComponentStack_IsFunctionalChanged()
   at System.Action.Invoke()
   at System.DelegateExtensions.InvokeIfNotNull(Action handler)
   at Sandbox.Game.Entities.MyComponentStack.set_Integrity(Single value)
   at Sandbox.Game.Entities.MyComponentStack.IncreaseMountLevelInternal(Single mountAmount, MyConstructionStockpile stockpile)
   at Sandbox.Game.Entities.MyComponentStack.IncreaseMountLevel(Single mountAmount, MyConstructionStockpile stockpile)
   at Sandbox.Game.Entities.Cube.MySlimBlock.IncreaseMountLevel(Single welderMountAmount, Int64 welderOwnerIdentId, MyInventoryBase outputInventory, Single maxAllowedBoneMovement, Boolean isHelping, MyOwnershipShareModeEnum sharing, Boolean handWelded, Boolean testingMode)
   at Sandbox.Game.Entities.Cube.MySlimBlock.VRage.Game.ModAPI.IMySlimBlock.IncreaseMountLevel(Single welderMountAmount, Int64 welderOwnerPlayerId, IMyInventory outputInventory, Single maxAllowedBoneMovement, Boolean isHelping, MyOwnershipShareModeEnum share)
   at StarCore.RepairModule.RepairModule.RepairTarget(IMySlimBlock block)
   at StarCore.RepairModule.RepairModule.UpdateAfterSimulation()
   at VRage.Game.Components.MyGameLogicComponent.VRage.Game.Entity.EntityComponents.Interfaces.IMyGameLogicComponent.UpdateAfterSimulation(Boolean entityUpdate)
   at VRage.Game.Entity.MyGameLogic.<>c.<UpdateAfterSimulation>b__9_0(MyGameLogicComponent c)
   at VRage.Collections.MyDistributedUpdater`2.Iterate(Action`1 p)
   at VRage.Game.Entity.MyGameLogic.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 Torch.VRageGame.DoStart() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 326
   at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 133
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
CommodoreChet commented 1 month ago

Related to IncreaseMountLevel, Potentially when a damaged block is repaired to a functional level and it tries to draw power