This object is in archive! 

Disconnection when placing Block or color on Dedi server

Vincent Meserve shared this bug 4 years ago
Solved

This happens randomly and cannot be fixed until server is restarted, so far this has happened with 2 colors.

He's the clip from the Log


18:10:27.9905 [ERROR] Keen: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

Replies (9)

photo
1

Hello,


Could you please provide us with more information regarding the issue you reported including a save of your world? Do you use any mods? To report a bug into our system it is necessary to have reliable steps to reproduce in order for programmers to fix it.


Any additional information would be greatly appreciated!


Thank you.


Kind Regards

Keen Software House: QA Department

photo
1

18:42:18.0737 [ERROR] Keen: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

photo
1

18:34:55.7014 [ERROR] Keen: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

photo
1

Same issue here on a dedibox we run (ZF Floaty Gusset).


The problem seems to arise on multiplayer servers and the DLC skins/blocks. When you try to place/paint something from the DLC on a grid you do not own but have access to placing something, the server often (but not always) kicks the client out with this error.

12:07:51.8050 [ERROR]  Keen: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)   at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)   at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)   at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)   at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)   at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)   at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)   at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)   at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)   at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)   at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)   at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)   at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)   at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)   at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)   at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)   at VRage.Network.MyReplicationServer.OnEvent(MyPacketDataBitStreamBase data, CallSite site, Object obj, IMyNetObject sendAs, Nullable`1 position, EndpointId source)   at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)   at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)   at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)   at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)   at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)   at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)12:07:51.8207 [INFO]   Keen: User left Birdy

photo
1

Small note, we've had 3 different users report this now and the server console all throws above error in this situation.

Server info: Windows server 2016, latest version of Torch (v1.3.1.127) and latest SE version, running experimental mode. In case relevant, mods and plugins used in Torch listed in screenshots.

photo
1

Hello, Engineers!

As I see, this thread is rather old now. Can I please ask if any of you are still experiencing it even nowadays and on current game version (v198)?

Thanks for either confirming or disproving it.

If yes, is the situation still the very same, or did the behavior changed anyhow through the time?

If not, the issue would be most likely fixed in any of the many game fixes and updates in the past. In that case, I will probably close this thread, as there is no more action needed from our side.

Kind Regards

Keen Software House: QA Department

photo
1

Hello there!

Yes, I'm still experiencing this right now, sadly. :(

Log:

00:51:49.8731 [ERROR] Keen: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at Patched_VRage.Network.MyReplicationServerOnEvent_0(Object site, MyPacketDataBitStreamBase obj, CallSite sendAs, Object position, IMyNetObject source, Nullable`1 , EndpointId )

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at Sandbox.Game.World.MyPlayer.SetBuildColorSlots(List`1 newColors)

at Sandbox.Game.Multiplayer.MyPlayerCollection.OnPlayerColorsChangedRequest(Int32 serialId, List`1 newColors)

at VRage.Network.CallSite`7.Invoke(BitStream stream, Object obj, Boolean validate)

at VRage.Network.MyReplicationLayer.Invoke(CallSite callSite, BitStream stream, Object obj, EndpointId source, MyClientStateBase clientState, Boolean validate)

at Patched_VRage.Network.MyReplicationServerOnEvent_0(Object site, MyPacketDataBitStreamBase obj, CallSite sendAs, Object position, IMyNetObject source, Nullable`1 , EndpointId )

at VRage.Network.MyReplicationLayer.OnEvent(MyPacketDataBitStreamBase data, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender, Nullable`1 position)

at VRage.Network.MyReplicationLayer.ProcessEvent(MyPacketDataBitStreamBase data, EndpointId sender)

at VRage.Network.MyReplicationLayer.OnEvent(MyPacket packet)

at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(MyPacket p)

at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(MyPacket p)

at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler)

photo
1

Hello, Engineers!

It´s already quite long time from when this issue was originally posted as well as from the last comment.

Are you still experiencing it? Or was it fixed in the meantime.

Thanks in advance for confirming me current situation.

Kind Regards

Keen Software House: QA Department

photo
1

No. Seems this was very shortly an issue with DLC-based blocks. But I've not seen the issue in our last few iterations of servers since.

photo
1

Hello, Mag,

thanks you for confirming.

As no one else said that they are still experiencing it, I will close this thread now.

If any of you will experience this behavior again, please open new thread with providing all the necessary information.

Kind Regards

Keen Software House: QA Department

Replies have been locked on this page!