This object is in archive! 

Crash during turret removal, parallel thread error, related to pressurization

John Shepard shared this bug 6 years ago
Won't Fix

19:21:43.5229 [FATAL]  Initializer: ParallelTasks.TaskException: An exception(s) was thrown while executing a task.
   at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)
   at ParallelTasks.Task.WaitOrExecute(Boolean blocking)
   at Sandbox.Game.Weapons.MyLargeTurretBase.Closing()
   at VRage.Game.Entity.MyEntity.Close()
   at VRage.Game.Entity.MyEntity.Delete()
   at VRage.Game.Components.MyHierarchyComponentBase.Delete()
   at VRage.Game.Entity.MyEntity.Delete()
   at Sandbox.Game.Entities.MyEntities.DeleteRememberedEntities()
   at Sandbox.Game.Entities.MyEntities.UpdateAfterSimulation()
   at Sandbox.Game.World.MySector.UpdateAfterSimulation()
   at UpdateComponents_0(Object )
   at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
   at Sandbox.MySandboxGame.Update()
   at Sandbox.Engine.Platform.Game.UpdateInternal()
   at RunSingleFrame_0(Object )
   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 Torch.VRageGame.DoStart()
   at Torch.VRageGame.Run()
   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()
Task exception, inner exception 0:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.GameSystems.MyGridGasSystem.PressurizePostProcess()
   at Sandbox.Game.GameSystems.MyGridGasSystem.PressurizeProcessQueue(Int32 count, Boolean useCount)
   at ParallelTasks.DelegateWork.DoWork(WorkData workData)
   at ParallelTasks.WorkItem.DoWork(Int32 expectedID)
ParallelTasks.TaskException: An exception(s) was thrown while executing a task.
   at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)
   at ParallelTasks.Task.WaitOrExecute(Boolean blocking)
   at Sandbox.Game.Weapons.MyLargeTurretBase.Closing()
   at VRage.Game.Entity.MyEntity.Close()
   at VRage.Game.Entity.MyEntity.Delete()
   at VRage.Game.Components.MyHierarchyComponentBase.Delete()
   at VRage.Game.Entity.MyEntity.Delete()
   at Sandbox.Game.Entities.MyEntities.DeleteRememberedEntities()
   at Sandbox.Game.Entities.MyEntities.UpdateAfterSimulation()
   at Sandbox.Game.World.MySector.UpdateAfterSimulation()
   at UpdateComponents_0(Object )
   at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
   at Sandbox.MySandboxGame.Update()
   at Sandbox.Engine.Platform.Game.UpdateInternal()
   at RunSingleFrame_0(Object )
   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 Torch.VRageGame.DoStart()
   at Torch.VRageGame.Run()
   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()
Task exception, inner exception 0:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.GameSystems.MyGridGasSystem.PressurizePostProcess()
   at Sandbox.Game.GameSystems.MyGridGasSystem.PressurizeProcessQueue(Int32 count, Boolean useCount)
   at ParallelTasks.DelegateWork.DoWork(WorkData workData)
   at ParallelTasks.WorkItem.DoWork(Int32 expectedID)
19:21:43.5229 [INFO]   Initializer: Generating minidump at C:\TorchServer\Instance\Minidump.dmp
Grid appears to have been removed during garbage collection. Was not removed by an admin by copy/paste commands.

Replies (8)

photo
1

Immediately after I restarted teh server, it crashed again, forcing me to turn off pressurization. Here's the stacktrace:

19:40:07.1902 [FATAL]  Initializer: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Array.Clear(Array array, Int32 index, Int32 length)
   at System.Collections.Generic.Queue`1.Clear()
   at Sandbox.Game.GameSystems.MyGridGasSystem.PressurizeInitialize()
   at Sandbox.Game.GameSystems.MyGridGasSystem.UpdateBeforeSimulation()
   at Sandbox.Game.Entities.Cube.MyCubeGridSystems.UpdateBeforeSimulation()
   at Sandbox.Game.Entities.MyCubeGrid.UpdateBeforeSimulation()
   at <UpdateBeforeSimulation>b__7_0(MyEntity )
   at VRage.Collections.MyDistributedUpdater`2.Iterate(Action`1 p)
   at Sandbox.Game.Entities.MyEntities.UpdateBeforeSimulation()
   at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
   at UpdateComponents_0(Object )
   at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
   at Sandbox.MySandboxGame.Update()
   at Sandbox.Engine.Platform.Game.UpdateInternal()
   at RunSingleFrame_0(Object )
   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 Torch.VRageGame.DoStart()
   at Torch.VRageGame.Run()
   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.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Array.Clear(Array array, Int32 index, Int32 length)
   at System.Collections.Generic.Queue`1.Clear()
   at Sandbox.Game.GameSystems.MyGridGasSystem.PressurizeInitialize()
   at Sandbox.Game.GameSystems.MyGridGasSystem.UpdateBeforeSimulation()
   at Sandbox.Game.Entities.Cube.MyCubeGridSystems.UpdateBeforeSimulation()
   at Sandbox.Game.Entities.MyCubeGrid.UpdateBeforeSimulation()
   at <UpdateBeforeSimulation>b__7_0(MyEntity )
   at VRage.Collections.MyDistributedUpdater`2.Iterate(Action`1 p)
   at Sandbox.Game.Entities.MyEntities.UpdateBeforeSimulation()
   at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
   at UpdateComponents_0(Object )
   at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
   at Sandbox.MySandboxGame.Update()
   at Sandbox.Engine.Platform.Game.UpdateInternal()
   at RunSingleFrame_0(Object )
   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 Torch.VRageGame.DoStart()
   at Torch.VRageGame.Run()
   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()
19:40:07.1902 [INFO]   Initializer: Generating minidump at C:\TorchServer\Instance\Minidump.dmp

photo
1

Hello,

can you share the world? It would help to have it.

Thank you.

Kind RegardsKeen Software House: QA Department

photo
1

There's a lot of grids. Sorry I couldn't narrow it down more. https://www.dropbox.com/s/gqqzieozyinso6v/WorldSaveKeen2018-09-03.rar?dl=0

photo
1

So I tried the world and it seems the issue is caused by some mod or by Torch. If I run the world from default configurator without any mods, it starts without a single exception. I didn't reproduce the exceptions even with all mods active.

I would suggest to try to identify the mod which is causing it and contact its author.

If you are able to reproduce it even without any mods, let us know. In the meanwhile I will send the log for further investigation.

Kind Regards

Keen Software House: QA Department

photo
1

Thanks for taking the time to do that. I'll forward this to any mod authors who deal with pressurization (which I think is only Darkstar with his Defense Shields mod) to see if I can get some more information.

photo
1

This is DarkStar. I am not sure how my mod could be causing this particular crash as my mod does not use MyGridGasSystem. I use IMyOxygenProvider to manipulate O2 within the shield.

photo
1

John can you reproduce this error if you disable the Air-tightness option in the server config file?

photo
1

Hello, there seems to be no activity here for 2 years, closing this one as won't fix.


Keen QA

Replies have been locked on this page!