Open ShadowLotus232 opened 1 month ago
ADDENDUM:
different kind of deserialize I think
OnDeserialize failed Exception=System.NullReferenceException (see below) object=Map - Space Station - NAVSHPYD Shuji component=Conquest.Stations.SpaceStation sceneId=0 length=61. Possible Reasons:
* Do Conquest.Stations.SpaceStation's OnSerialize and OnDeserialize calls write the same amount of data(61 bytes)?
* Was there an exception in Conquest.Stations.SpaceStation's OnSerialize/OnDeserialize code?
* Are the server and client the exact same project?
* Maybe this OnDeserialize call was meant for another GameObject? The sceneIds can easily get out of sync if the Hierarchy was modified only in the client OR the server. Try rebuilding both.
Exception System.NullReferenceException
at (wrapper managed-to-native) UnityEngine.GameObject.SetActive(UnityEngine.GameObject,bool)
at Conquest.UI.GroundCombat.StationGarrisonDisplay.HandleShipDocked (System.Int32 pier, System.Int32 berth, Conquest.Units.ShipUnit ship) [0x00009] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\UI\GroundCombat\StationGarrisonDisplay.cs:102
at Conquest.Stations.SpaceStation.HandleDockedChanged (System.Int32 row, System.Int32 col, Conquest.Units.ShipUnit oldItem, Conquest.Units.ShipUnit newItem) [0x0002d] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Stations\SpaceStation.cs:991
at Networking.BaseNetBehaviourSyncArray2D`1[TScript].HandleChanges (System.Int32 row, System.Int32 col, Networking.NetScriptAddress oldItem, Networking.NetScriptAddress newItem) [0x0003b] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Networking\NetBehaviourSyncArray2D.cs:174
at Networking.SyncArray2D`1[T].OnDeserializeDelta (Mirror.NetworkReader reader) [0x00060] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Networking\SyncArray2D.cs:192
at Networking.BaseNetBehaviourSyncArray2D`1[TScript].OnDeserializeDelta (Mirror.NetworkReader reader) [0x00000] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Networking\NetBehaviourSyncArray2D.cs:144
at Mirror.NetworkBehaviour.DeSerializeObjectsDelta (Mirror.NetworkReader reader) [0x0002c] in D:\Projects\Unity\Nebulous Conquest\Assets\Mirror\Runtime\NetworkBehaviour.cs:681
at Mirror.NetworkBehaviour.OnDeserialize (Mirror.NetworkReader reader, System.Boolean initialState) [0x00013] in D:\Projects\Unity\Nebulous Conquest\Assets\Mirror\Runtime\NetworkBehaviour.cs:600
at Mirror.NetworkIdentity.OnDeserializeSafely (Mirror.NetworkBehaviour comp, Mirror.NetworkReader reader, System.Boolean initialState) [0x00019] in D:\Projects\Unity\Nebulous Conquest\Assets\Mirror\Runtime\NetworkIdentity.cs:992
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogError (object)
Mirror.NetworkIdentity:OnDeserializeSafely (Mirror.NetworkBehaviour,Mirror.NetworkReader,bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkIdentity.cs:997)
Mirror.NetworkIdentity:OnDeserializeAllSafely (Mirror.NetworkReader,bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkIdentity.cs:1038)
Mirror.NetworkClient:OnEntityStateMessage (Mirror.EntityStateMessage) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:1253)
Mirror.NetworkClient/<>c__DisplayClass46_0`1<Mirror.EntityStateMessage>:<RegisterHandler>g__HandlerWrapped|0 (Mirror.NetworkConnection,Mirror.EntityStateMessage) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:454)
Mirror.MessagePacking/<>c__DisplayClass6_0`2<Mirror.EntityStateMessage, Mirror.NetworkConnection>:<WrapHandler>b__0 (Mirror.NetworkConnection,Mirror.NetworkReader,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/MessagePacking.cs:118)
Mirror.NetworkClient:UnpackAndInvoke (Mirror.NetworkReader,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:274)
Mirror.NetworkClient:OnTransportData (System.ArraySegment`1<byte>,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:342)
Mirror.FizzySteam.NextClient/<>c__DisplayClass26_0:<CreateClient>b__2 (byte[],int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/NextClient.cs:41)
Mirror.FizzySteam.NextClient:OnMessageReceived (intptr,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/NextClient.cs:115)
FizzyConnectionManager:OnMessage (intptr,int,long,long,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/FizzyConnectionManager.cs:10)
Steamworks.ConnectionManager:ReceiveMessage (intptr)
Steamworks.ConnectionManager:Receive (int)
Mirror.FizzySteam.NextClient:ReceiveData () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/NextClient.cs:175)
Mirror.FizzySteam.FizzyFacepunch:ClientEarlyUpdate () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/FizzyFacepunch.cs:59)
Mirror.NetworkClient:NetworkEarlyUpdate () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:1345)
Mirror.NetworkLoop:NetworkEarlyUpdate () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkLoop.cs:186)
(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkIdentity.cs Line: 997)
OnDeserialize was expected to read 61 instead of 26 bytes for object:Map - Space Station - NAVSHPYD Shuji component=Conquest.Stations.SpaceStation sceneId=0. Make sure that OnSerialize and OnDeserialize write/read the same amount of data in all cases.
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogWarning (object)
Mirror.NetworkIdentity:OnDeserializeSafely (Mirror.NetworkBehaviour,Mirror.NetworkReader,bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkIdentity.cs:1011)
Mirror.NetworkIdentity:OnDeserializeAllSafely (Mirror.NetworkReader,bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkIdentity.cs:1038)
Mirror.NetworkClient:OnEntityStateMessage (Mirror.EntityStateMessage) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:1253)
Mirror.NetworkClient/<>c__DisplayClass46_0`1<Mirror.EntityStateMessage>:<RegisterHandler>g__HandlerWrapped|0 (Mirror.NetworkConnection,Mirror.EntityStateMessage) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:454)
Mirror.MessagePacking/<>c__DisplayClass6_0`2<Mirror.EntityStateMessage, Mirror.NetworkConnection>:<WrapHandler>b__0 (Mirror.NetworkConnection,Mirror.NetworkReader,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/MessagePacking.cs:118)
Mirror.NetworkClient:UnpackAndInvoke (Mirror.NetworkReader,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:274)
Mirror.NetworkClient:OnTransportData (System.ArraySegment`1<byte>,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:342)
Mirror.FizzySteam.NextClient/<>c__DisplayClass26_0:<CreateClient>b__2 (byte[],int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/NextClient.cs:41)
Mirror.FizzySteam.NextClient:OnMessageReceived (intptr,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/NextClient.cs:115)
FizzyConnectionManager:OnMessage (intptr,int,long,long,int) (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/FizzyConnectionManager.cs:10)
Steamworks.ConnectionManager:ReceiveMessage (intptr)
Steamworks.ConnectionManager:Receive (int)
Mirror.FizzySteam.NextClient:ReceiveData () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/NextClient.cs:175)
Mirror.FizzySteam.FizzyFacepunch:ClientEarlyUpdate () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/Transport/FizzyFacepunch/FizzyFacepunch.cs:59)
Mirror.NetworkClient:NetworkEarlyUpdate () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkClient.cs:1345)
Mirror.NetworkLoop:NetworkEarlyUpdate () (at D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkLoop.cs:186)
(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Mirror/Runtime/NetworkIdentity.cs Line: 1011)
full log Game 34 - deserialize different.txt
Describe the bug Very noticeable uptick in deserialization error frequency
To Reproduce Steps to reproduce the behavior:
Expected behavior No deserialization error, and objects to update correctly
Additional context All errors experienced had to do with TF/TG changes not making it from host to client
Bugs from 3 different players, all concerning two TFs that were definitely altered in some way by the host. the changes were not reflected on the side of clients who received errors.
Attachments full logs from 3 players (some contain other, unrelated errors, sorry) Game 34 - deserialize TF.log Game 34 - deserialize 2.log Game 34 - deserialize 3.log