This object is in archive! 

Server is Crashing for 7 time on inventory by sorter.

Yuri shared this bug 3 years ago
Won't Fix

Hi,

One of our servers is crashing on this for the 7 time.

I suspect it's sorter block with some LOOP with sorting some components that rotate in conveyor loop and after some time catch the crash.


Please inspect why this can be, and please add some Null check in list

========

2021/03/14 16:42:29.251 [FATAL] Initializer: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.

at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)

at System.Collections.Generic.List`1.Enumerator.MoveNextRare()

at Sandbox.Game.Replication.StateGroups.MyEntityInventoryStateGroup.CalculateInventoryDiff(InventoryClientData& clientData)

at Sandbox.Game.Replication.StateGroups.MyEntityInventoryStateGroup.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 VRage.Network.MyReplicationServer.SendUpdate()

at Sandbox.Engine.Multiplayer.MyMultiplayerBase.Tick()

at Patched_Sandbox.Engine.Multiplayer.MyDedicatedServerBaseTick_0(Object )

at Patched_Sandbox.Game.World.MySessionUpdate_0(Object , MyTimeSpan )

at Sandbox.MySandboxGame.Update()

at Patched_Sandbox.Engine.Platform.GameUpdateInternal_0(Object )

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()

=========


Thank you!

Replies (4)

photo
1

Hello, Yuri,

thanks for letting us know. Currently we had successfully reproduced and listed in our system two issues regarding sorter looping and injecting "null" parameter. Although, non of this issues led to game or server crash.

You think it might be possible to send us the world save, where the crash is happening, so we can check on our own, please? That would be definitely good as starting point for us. Plus any more info you can share as well.

Thanks in advance.

Kind Regards

Keen Software House: QA Department

photo
1

Hi, we have narrowed this crash to code mistake in Isys Inventory script, for inventory sorting,

When grid had also sorters and sorting script, with bug that was fixed by script developer!

This crash was called, so it's still possible to create such crash with script and attack any server that allow scripting.

Please add null checks in both of this functions, to prevent possible crash.


Thank you.

photo
1

Hello, Yuri,

thanks for further investigation. You think it is possible to send me BP of any grid that is resulting in server crash?

If I get it right, it´s combination of those two scripts on the grid and both running at the same time, right? By sorting script you mean any custom script injected though programmable block (which?), or just sorter whitelist/blacklist usage?

Thanks in advance for providing the BP so I can reproduce it on our side as well.

Kind Regards

Keen Software House: QA Department

photo
1

Hello, Engineer!


Because there is no new comment from you, and we are unable to reproduce the issue on our own, I will close this thread now as outdated.


If you or any other player will experience this issue again, please make a new thread and provide all needed info there.


Thank you for understanding.


Kind Regards


Keen Software House: QA Department

Replies have been locked on this page!