View Issue Details

IDProjectCategoryView StatusLast Update
0000037Medieval EngineersBugpublic2020-10-13 00:18
Reportershad Assigned Toequinox  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status resolvedResolutionfixed 
OSWindows Server 2016OS Version1607 
Product Version0.7.2 
Target Version0.7.3.33D4BBFixed in Version0.7.3.33D4BB 
Summary0000037: [DS] Exception in MyNetworkReader: System.InvalidOperationException: Error serializing MyBuildServerResponse.BlockIds
Description
2020-08-24 07:14:23.554|Main Thread> Error: Caught exception in MyNetworkReader: System.InvalidOperationException: Error serializing MyBuildServerResponse.BlockIds, member contains null, but it's not allowed, consider adding attribute [Nullable] ---> VRage.Serialization.MySerializeException: Exception of type 'VRage.Serialization.MySerializeException' was thrown.
   at VRage.Serialization.MySerializationHelpers.WriteNullable[T](BitStream stream, T& value, Boolean isNullable, MySerializer`1 serializer)
   at VRage.Serialization.MySerializationHelpers.Write[TMember](BitStream stream, TMember& value, MySerializer`1 serializer, MySerializeInfo info)
   at VRage.Serialization.MyMemberSerializer`2.Write(BitStream stream, TOwner& obj, MySerializeInfo info)
   --- End of inner exception stack trace ---
   at VRage.Serialization.MyMemberSerializer`2.Write(BitStream stream, TOwner& obj, MySerializeInfo info)
   at VRage.Serialization.MySerializerObject`1.Write(BitStream stream, T& value, MySerializeInfo info)
   at VRage.Serialization.MySerializationHelpers.Write[TMember](BitStream stream, TMember& value, MySerializer`1 serializer, MySerializeInfo info)
   at VRage.Network.CallSite.<>c__DisplayClass27_0`7.<CreateSerializer>b__0(T1 inst, BitStream stream, T2& arg2, T3& arg3, T4& arg4, T5& arg5, T6& arg6, T7& arg7)
   at VRage.Network.MyReplicationLayer.DispatchEvent[T1,T2,T3,T4,T5,T6,T7,T8](CallSite callSite, EndpointId recipient, Single unreliablePriority, T1& arg1, T2& arg2, T3& arg3, T4& arg4, T5& arg5, T6& arg6, T7& arg7, T8& arg8)
   at VRage.Network.MyReplicationLayerBase.RaiseEvent[T1,T2,T3](T1 arg1, T3 arg3, Func`2 action, T2 arg2, EndpointId endpointId, Single unreliablePriority)
   at Medieval.GameSystems.Building.MyGridPlacer.Server_BuildRequest(MyBuildServerRequest buildRequest)
   at lambda_method(Closure , MyGridPlacer , MyBuildServerRequest , DBNull , DBNull , DBNull , DBNull , DBNull )
   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.ProcessEvent(BitStream stream, CallSite site, Object obj, IMyNetObject sendAs, EndpointId source)
   at VRage.Network.MyReplicationLayer.ProcessEvent(BitStream stream, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender)
   at VRage.Network.MyReplicationLayer.ProcessEvent(BitStream stream, EndpointId sender)
   at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(Byte[] data, Int32 dataSize, UInt64 sender, TimeSpan timestamp, TimeSpan receivedTimestamp)
   at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(Byte[] data, Int32 dataSize, UInt64 sender, TimeSpan timestamp, TimeSpan receivedTime)
   at Sandbox.Engine.Networking.MyReceiveQueue.ProcessMessages(NetworkMessageDelegate handler, TimeSpan delay)
   at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler, TimeSpan delay)
   at Sandbox.Engine.Networking.MyNetworkReader.Process(TimeSpan lag)
2020-08-24 07:14:23.567|Main Thread> Error: Caught exception in MyNetworkReader: System.InvalidOperationException: Error serializing MyBuildServerResponse.BlockIds, member contains null, but it's not allowed, consider adding attribute [Nullable] ---> VRage.Serialization.MySerializeException: Exception of type 'VRage.Serialization.MySerializeException' was thrown.
   at VRage.Serialization.MySerializationHelpers.WriteNullable[T](BitStream stream, T& value, Boolean isNullable, MySerializer`1 serializer)
   at VRage.Serialization.MySerializationHelpers.Write[TMember](BitStream stream, TMember& value, MySerializer`1 serializer, MySerializeInfo info)
   at VRage.Serialization.MyMemberSerializer`2.Write(BitStream stream, TOwner& obj, MySerializeInfo info)
   --- End of inner exception stack trace ---
   at VRage.Serialization.MyMemberSerializer`2.Write(BitStream stream, TOwner& obj, MySerializeInfo info)
   at VRage.Serialization.MySerializerObject`1.Write(BitStream stream, T& value, MySerializeInfo info)
   at VRage.Serialization.MySerializationHelpers.Write[TMember](BitStream stream, TMember& value, MySerializer`1 serializer, MySerializeInfo info)
   at VRage.Network.CallSite.<>c__DisplayClass27_0`7.<CreateSerializer>b__0(T1 inst, BitStream stream, T2& arg2, T3& arg3, T4& arg4, T5& arg5, T6& arg6, T7& arg7)
   at VRage.Network.MyReplicationLayer.DispatchEvent[T1,T2,T3,T4,T5,T6,T7,T8](CallSite callSite, EndpointId recipient, Single unreliablePriority, T1& arg1, T2& arg2, T3& arg3, T4& arg4, T5& arg5, T6& arg6, T7& arg7, T8& arg8)
   at VRage.Network.MyReplicationLayerBase.RaiseEvent[T1,T2,T3](T1 arg1, T3 arg3, Func`2 action, T2 arg2, EndpointId endpointId, Single unreliablePriority)
   at Medieval.GameSystems.Building.MyGridPlacer.Server_BuildRequest(MyBuildServerRequest buildRequest)
   at lambda_method(Closure , MyGridPlacer , MyBuildServerRequest , DBNull , DBNull , DBNull , DBNull , DBNull )
   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.ProcessEvent(BitStream stream, CallSite site, Object obj, IMyNetObject sendAs, EndpointId source)
   at VRage.Network.MyReplicationLayer.ProcessEvent(BitStream stream, NetworkId networkId, NetworkId blockedNetId, UInt32 eventId, EndpointId sender)
   at VRage.Network.MyReplicationLayer.ProcessEvent(BitStream stream, EndpointId sender)
   at Sandbox.Engine.Multiplayer.MyTransportLayer.ProcessMessage(Byte[] data, Int32 dataSize, UInt64 sender, TimeSpan timestamp, TimeSpan receivedTimestamp)
   at Sandbox.Engine.Multiplayer.MyTransportLayer.HandleMessage(Byte[] data, Int32 dataSize, UInt64 sender, TimeSpan timestamp, TimeSpan receivedTime)
   at Sandbox.Engine.Networking.MyReceiveQueue.ProcessMessages(NetworkMessageDelegate handler, TimeSpan delay)
   at Sandbox.Engine.Networking.MyReceiveQueue.Process(NetworkMessageDelegate handler, TimeSpan delay)
   at Sandbox.Engine.Networking.MyNetworkReader.Process(TimeSpan lag)
TagsNo tags attached.

Activities

shad

2020-09-24 14:30

reporter   #~0000014

The exception happens in between and does not cause the server to crash.
Though, the process of this session just died at some point.
The session was running for several days.

Issue History

Date Modified Username Field Change
2020-09-24 14:27 shad New Issue
2020-09-24 14:30 shad Note Added: 0000014
2020-09-26 15:43 equinox Description Updated
2020-09-26 15:43 equinox Assigned To => equinox
2020-09-26 15:43 equinox Status new => assigned
2020-09-26 15:44 equinox Product Version 0.7.2 => 0.7.3.33D4BB
2020-09-26 15:47 equinox Product Version 0.7.3.33D4BB => 0.7.2
2020-09-26 15:47 equinox Target Version => 0.7.3.33D4BB
2020-10-13 00:18 equinox Status assigned => resolved
2020-10-13 00:18 equinox Resolution open => fixed
2020-10-13 00:18 equinox Fixed in Version => 0.7.3.33D4BB