viktor-ferenczi / performance-improvements

Plugin to improve the performance of Space Engineers client and servers.
MIT License
25 stars 1 forks source link

MyGridConveyorSystemPath.ReachablePrefix crash #65

Open draconb opened 4 months ago

draconb commented 4 months ago

07:29:15.7595 [ERROR] Torch: Frozen thread dump Main thread Common prefix: at System.Threading.SpinWait.SpinOnce() at Shared.Patches.MyGridConveyorSystemPatch.ReachablePrefix(IMyConveyorEndpoint from, IMyConveyorEndpoint to, Boolean& __result, ValueTuple2& state) at Sandbox.Game.GameSystems.MyGridConveyorSystem.Reachable_Patch2(IMyConveyorEndpoint from, IMyConveyorEndpoint to) at Sandbox.Game.EntityComponents.MyResourceDistributorComponent.SetEntityGroup(MyDefinitionId& typeId, IMyEntity entity) at Sandbox.Game.EntityComponents.MyResourceDistributorComponent.RecreatePhysicalDistributionGroups(MyDefinitionId& typeId, HashSet1[] allSinksByPriority, HashSet1[] allSourcesByPriority, List1 allSinkSources) at Sandbox.Game.EntityComponents.MyResourceDistributorComponent.RecomputeResourceDistribution(MyDefinitionId& typeId, Boolean updateChanges) at Sandbox.Game.EntityComponents.MyResourceDistributorComponent.UpdateBeforeSimulation() at Sandbox.Game.Entities.Cube.MyCubeGridSystems.OnAddedToGroup(MyGridLogicalGroupData group) at Sandbox.Game.Entities.MyCubeGrid.OnAddedToGroup_Patch1(MyCubeGrid this, MyGridLogicalGroupData group) at Sandbox.Game.Entities.MyGridLogicalGroupData.OnNodeAdded[TGroupData](MyCubeGrid entity, TGroupData prevGroup) at VRage.Groups.MyGroups2.Node.set_m_group(Group value) at VRage.Groups.MyGroups`2.AddNode(TNode nodeToAdd) at Sandbox.Game.Entities.MyCubeGrid.OnAddedToScene_Patch1(MyCubeGrid this, Object source) at Sandbox.Game.Entities.MyEntities.Add(MyEntity entity, Boolean insertIntoScene) at Sandbox.ModAPI.MyEntitiesHelper_ModAPI.VRage.ModAPI.IMyEntities.AddEntity(IMyEntity entity, Boolean insertIntoScene) at QuantumHangar.ParallelSpawner.Increment(IMyEntity entity) in C:\Users\Garrett\source\repos\QuantumHangar\Quantumhangar\Utils\ParallelSpawner.cs:line 577 at Sandbox.Game.Entities.MyEntities.InitEntityData.OnEntityInitialized() at Sandbox.MySandboxGame.ProcessInvoke(Boolean isClosing) at Sandbox.MySandboxGame.Update() at Patched_Sandbox.Engine.Platform.GameUpdateInternal_0(Object ) at Patched_Sandbox.Engine.Platform.GameRunSingleFrame_0(Object ) at Patched_Sandbox.Engine.Platform.FixedLoop+<>c__DisplayClass11_0b0_0(Object ) 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 126 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()

Suffix 0 at System.Threading.Thread.SleepInternal(Int32 millisecondsTimeout)

Suffix 1 at System.Threading.Thread.SleepInternal(Int32 millisecondsTimeout)

Suffix 2 at System.Threading.Thread.SleepInternal(Int32 millisecondsTimeout)`

Note, I've also seen it say it suppressed a crash during hangaring as well

07:00:30.8703 [WARN] PerformanceImprovements: Safely suppressed a crash in MyGridConveyorSystemPatch.ReachablePrefix (from=74631422392328920, to=74955731908018149) 07:00:30.8703 [WARN] PerformanceImprovements: Safely suppressed a crash in MyGridConveyorSystemPatch.ReachablePrefix (from=74631422392328920, to=90046692058138058)

And fixship

11:40:16.3841 [INFO] Torch.Commands.CommandManager: Player Michalkol111 ran command '!fixship' 11:40:16.4050 [WARN] PerformanceImprovements: Safely suppressed a crash in MyGridConveyorSystemPatch.ReachablePrefix (from=122562619966401865, to=139631275175105176)

In other places as well, a few times the server did crash shortly after (minute or so) with MyShipConnector errors however in a few of those cases.

viktor-ferenczi commented 2 months ago

What is the CPU of the server? Intel 13rd or 14th gen?

draconb commented 2 months ago

Xeon E2288g or similar

viktor-ferenczi commented 2 months ago

Is FixConveyor enabled in the plugin's config? (It is disabled by default.)