TORCH and SERVER crashed together.
The issue got triggered on small voxel terrain pieces when you try hand drill them. I'm assuming it was a desync issue where I had aimed over voxel terrain to mine it (using right click), and after I had mine it the server received another event to mine it but it no longer existed. My latency was 290-310ms (AUS -> US) on a private hosted server.
at System.MulticastDelegate.ThrowNullThisInDelegateToInstance()
at Sandbox.Game.Weapons.MyHandDrill.<>c.<IsDrillingAnObjectChanged>b__158_0(MyCharacter x)
at VRage.Network.MyEventTable.TryGet[T](Object associatedObject, Func`2 getter, T arg, CallSite& site)
at VRage.Network.MyReplicationLayerBase.TryGetStaticCallSite[T](Func`2 callSiteGetter, CallSite& site)
at VRage.Network.MyReplicationLayerBase.GetCallSite[T](Func`2 callSiteGetter, T arg)
at VRage.Network.MyReplicationLayerBase.RaiseEvent[T1,T2,T3](T1 arg1, T3 arg3, Func`2 action, T2 arg2, EndpointId endpointId, Nullable`1 position)
at Sandbox.Engine.Multiplayer.MyMultiplayer.RaiseEvent[T1,T2](T1 arg1, Func`2 action, T2 arg2, EndpointId targetEndpoint)
at Sandbox.Game.Weapons.MyHandDrill.IsDrillingAnObjectChanged(Boolean value)
at Sandbox.Game.Weapons.MyHandDrill.DrillingPerformedCallback(Boolean success)
at Sandbox.Game.Weapons.MyDrillBase.OnDrillResults(Dictionary`2 materials, Vector3D hitPosition, Boolean collectOre, Action`1 OnDrillingPerformed)
at Sandbox.Game.Weapons.MyDrillBase.<>c__DisplayClass109_0.<TryDrillVoxels>b__0(Single x, MyVoxelMaterialDefinition y, Dictionary`2 z)
at Sandbox.Game.Entities.MyVoxelBase.<>c__DisplayClass137_0.<CutOutShapeWithPropertiesAsync>b__1()
at ParallelTasks.Parallel.RunCallbacks()
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 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()
System.ArgumentException: Delegate to an instance method cannot have null 'this'.
at System.MulticastDelegate.ThrowNullThisInDelegateToInstance()
at Sandbox.Game.Weapons.MyHandDrill.<>c.<IsDrillingAnObjectChanged>b__158_0(MyCharacter x)
at VRage.Network.MyEventTable.TryGet[T](Object associatedObject, Func`2 getter, T arg, CallSite& site)
at VRage.Network.MyReplicationLayerBase.TryGetStaticCallSite[T](Func`2 callSiteGetter, CallSite& site)
at VRage.Network.MyReplicationLayerBase.GetCallSite[T](Func`2 callSiteGetter, T arg)
at VRage.Network.MyReplicationLayerBase.RaiseEvent[T1,T2,T3](T1 arg1, T3 arg3, Func`2 action, T2 arg2, EndpointId endpointId, Nullable`1 position)
at Sandbox.Engine.Multiplayer.MyMultiplayer.RaiseEvent[T1,T2](T1 arg1, Func`2 action, T2 arg2, EndpointId targetEndpoint)
at Sandbox.Game.Weapons.MyHandDrill.IsDrillingAnObjectChanged(Boolean value)
at Sandbox.Game.Weapons.MyHandDrill.DrillingPerformedCallback(Boolean success)
at Sandbox.Game.Weapons.MyDrillBase.OnDrillResults(Dictionary`2 materials, Vector3D hitPosition, Boolean collectOre, Action`1 OnDrillingPerformed)
at Sandbox.Game.Weapons.MyDrillBase.<>c__DisplayClass109_0.<TryDrillVoxels>b__0(Single x, MyVoxelMaterialDefinition y, Dictionary`2 z)
at Sandbox.Game.Entities.MyVoxelBase.<>c__DisplayClass137_0.<CutOutShapeWithPropertiesAsync>b__1()
at ParallelTasks.Parallel.RunCallbacks()
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 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()```
Torch Version: 1.3.1.304-master SE Version: 1.205.26
Expected Behavior
No crashing
Observed Behavior
TORCH and SERVER crashed together.
Steps to Reproduce
The issue got triggered on small voxel terrain pieces when you try hand drill them. I'm assuming it was a desync issue where I had aimed over voxel terrain to mine it (using right click), and after I had mine it the server received another event to mine it but it no longer existed. My latency was 290-310ms (AUS -> US) on a private hosted server.
Other Information