Space Engineers

Space Engineers

Advanced Welding - detaching and reattaching blocks!
BookBurner 26 Jun, 2022 @ 10:30pm
Merging grids with a weld pad sometimes causes dedicated server crashes (torch)
player grid + nobody MES spawned grid

22:41:47.4024 [FATAL] Initializer: System.NullReferenceException: Object reference not set to an instance of an object.
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroupBase.UpdateParenting(ParentingSetup parentingSetup, Int64 currentParentId)
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.UpdateEntitySupport()
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.Serialize(BitStream stream, MyClientInfo forClient, MyTimeSpan serverTimestamp, MyTimeSpan lastClientTimestamp, Byte packetId, Int32 maxBitPosition, HashSet`1 cachedData)
at VRage.Network.MyClient.Serialize(IMyStateGroup group, BitStream sendStream, MyTimeSpan timeStamp, Int32 messageBitSize, Boolean streaming)
at VRage.Network.MyClient.SendStateSync(MyStateDataEntry stateGroupEntry, Int32 mtuBytes, MyPacketDataBitStreamBase& data, MyTimeSpan serverTimeStamp)
at VRage.Network.MyReplicationServer.FilterStateSync(MyClient client)
at Patched_VRage.Network.MyReplicationServerSendUpdate_0(Object )
at Sandbox.Engine.Multiplayer.MyMultiplayerBase.Tick()
at Patched_Sandbox.Engine.Multiplayer.MyDedicatedServerBaseTick_0(Object )
at Patched_Sandbox.Game.World.MySessionUpdate_1(Object , MyTimeSpan )
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_0<Run>b__0_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 316
at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 130
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.Replication.StateGroups.MyEntityPhysicsStateGroupBase.UpdateParenting(ParentingSetup parentingSetup, Int64 currentParentId)
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.UpdateEntitySupport()
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.Serialize(BitStream stream, MyClientInfo forClient, MyTimeSpan serverTimestamp, MyTimeSpan lastClientTimestamp, Byte packetId, Int32 maxBitPosition, HashSet`1 cachedData)
at VRage.Network.MyClient.Serialize(IMyStateGroup group, BitStream sendStream, MyTimeSpan timeStamp, Int32 messageBitSize, Boolean streaming)
at VRage.Network.MyClient.SendStateSync(MyStateDataEntry stateGroupEntry, Int32 mtuBytes, MyPacketDataBitStreamBase& data, MyTimeSpan serverTimeStamp)
at VRage.Network.MyReplicationServer.FilterStateSync(MyClient client)
at Patched_VRage.Network.MyReplicationServerSendUpdate_0(Object )
at Sandbox.Engine.Multiplayer.MyMultiplayerBase.Tick()
at Patched_Sandbox.Engine.Multiplayer.MyDedicatedServerBaseTick_0(Object )
at Patched_Sandbox.Game.World.MySessionUpdate_1(Object , MyTimeSpan )
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_0<Run>b__0_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 316
at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 130
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()

same player tried to do the same thing twice

22:51:01.6766 [FATAL] Initializer: System.NullReferenceException: Object reference not set to an instance of an object.
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroupBase.UpdateParenting(ParentingSetup parentingSetup, Int64 currentParentId)
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.UpdateEntitySupport()
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.Serialize(BitStream stream, MyClientInfo forClient, MyTimeSpan serverTimestamp, MyTimeSpan lastClientTimestamp, Byte packetId, Int32 maxBitPosition, HashSet`1 cachedData)
at VRage.Network.MyClient.Serialize(IMyStateGroup group, BitStream sendStream, MyTimeSpan timeStamp, Int32 messageBitSize, Boolean streaming)
at VRage.Network.MyClient.SendStateSync(MyStateDataEntry stateGroupEntry, Int32 mtuBytes, MyPacketDataBitStreamBase& data, MyTimeSpan serverTimeStamp)
at VRage.Network.MyReplicationServer.FilterStateSync(MyClient client)
at Patched_VRage.Network.MyReplicationServerSendUpdate_0(Object )
at Sandbox.Engine.Multiplayer.MyMultiplayerBase.Tick()
at Patched_Sandbox.Engine.Multiplayer.MyDedicatedServerBaseTick_0(Object )
at Patched_Sandbox.Game.World.MySessionUpdate_1(Object , MyTimeSpan )
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_0<Run>b__0_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 316
at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 130
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.Replication.StateGroups.MyEntityPhysicsStateGroupBase.UpdateParenting(ParentingSetup parentingSetup, Int64 currentParentId)
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.UpdateEntitySupport()
at Sandbox.Game.Replication.StateGroups.MyEntityPhysicsStateGroup.Serialize(BitStream stream, MyClientInfo forClient, MyTimeSpan serverTimestamp, MyTimeSpan lastClientTimestamp, Byte packetId, Int32 maxBitPosition, HashSet`1 cachedData)
at VRage.Network.MyClient.Serialize(IMyStateGroup group, BitStream sendStream, MyTimeSpan timeStamp, Int32 messageBitSize, Boolean streaming)
at VRage.Network.MyClient.SendStateSync(MyStateDataEntry stateGroupEntry, Int32 mtuBytes, MyPacketDataBitStreamBase& data, MyTimeSpan serverTimeStamp)
at VRage.Network.MyReplicationServer.FilterStateSync(MyClient client)
at Patched_VRage.Network.MyReplicationServerSendUpdate_0(Object )
at Sandbox.Engine.Multiplayer.MyMultiplayerBase.Tick()
at Patched_Sandbox.Engine.Multiplayer.MyDedicatedServerBaseTick_0(Object )
at Patched_Sandbox.Game.World.MySessionUpdate_1(Object , MyTimeSpan )
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_0<Run>b__0_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 316
at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 130
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()

I am still trying to gather more information, such as if he used one or multiple weld pads etc.
< >
Showing 1-10 of 10 comments
BookBurner 26 Jun, 2022 @ 10:35pm 
Additional information: (I will update this as I gather more)

- he tried to merge whole ships, not just a single block
- used single weldpad on each side
- first case happened when the player tried to weld his ship to an anchor (static grid) connected to the asteroid
- second case happened when the player tried to weld his ship to another nobody grid ship (our NPC wreckages)
Last edited by BookBurner; 26 Jun, 2022 @ 11:16pm
Digi  [developer] 27 Jun, 2022 @ 2:52pm 
Does this only happen if you use multiple weldpads at the same time?

EDIT:
Also any locked landing gears or connectors involved?

If you still have the world right before it crashed, I could really use it to replicate :} feel free to remove the other grids in the world that are not near it (everything within 1km should be kept).
Last edited by Digi; 27 Jun, 2022 @ 3:13pm
BookBurner 28 Jun, 2022 @ 12:42am 
I have to go to the server backups to check if I have such a backup save. We usually leave behind only daily backups after few days.

But I will try to get the grid backup from that time. To see if there was something else connected to his ship or not.
BookBurner 28 Jun, 2022 @ 12:42am 
I will also try to replicate it locally on the mirror torch environment.
BookBurner 8 Jul, 2022 @ 11:38am 
I don't have the backup save from that time, but I think I have a replication scenario. It happens when players are lazy and don't build a tug to move the detached blocks around.

In all three cases it happened what players did was they had the thing they wanted to attach static (say shield emitter, battery, jump etc.) and they maneuvered with the whole ship into it. When they switched it around and the ship was static and they meneuvered the block with a tug, it never happened.
martinhocking 4 Aug, 2022 @ 5:44am 
I think I can confirm 80% of that happening, I try to merge to drop pods together as one and the server crashed, one drop pod was stuck to the ground with landing gear. I am also going to try to have both hovering when merging:steamhappy:
howardxu23 18 Apr, 2023 @ 11:12am 
I can confirm as well, merging grids together with the weld pad on torch delicated servers causes crash here as well
was trying to weld a drone to a static grid that is attached to a planet and server crashed as well
I do have the save file, but unsure where it should go
Last edited by howardxu23; 18 Apr, 2023 @ 11:40am
Digi  [developer] 18 Apr, 2023 @ 12:23pm 
Upload it to whatever file sharing service you want, including steam workshop :P
Or if you don't want it public, feel free to add me on steam or discord ( Digi#9441 ).
howardxu23 19 Apr, 2023 @ 7:32am 
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2964447384
right got it up Digi
welding it in singleplayer/local does not actually do anything
Last edited by howardxu23; 19 Apr, 2023 @ 7:35am
TheBarbarian_EL 28 Feb, 2024 @ 9:16am 
I apologize for resurrecting this thread if the issue has been resolved already.

We've experienced this issue as well on our dedicated server. In our case:

1) build light armor column coming out of asteroid
2) Place weld pad on column
3) Place weld pad on spawn ship
4) Pilot spawn ship to the static grid column and weld
5) Server crashes

Once the server comes back online it has rolled back (typically) to before that join. I did not try Towing the ship to the place to join it. I'm going to be firing up a new server and plan to re-deploy this as part of the system as I love the detach and weld mechanics. I'm also hoping to pair it with the mod that only gives scrap when you weld stuff down.

Thank you if the problem is already fixed or for any information on how to avoid the crash. Thank you for your time and development of this generally great mod!
< >
Showing 1-10 of 10 comments
Per page: 1530 50