New Intermittent NullReference seen in automated multiplayer tests

Brief description

New Intermittent NullReference seen in automated multiplayer tests

Details and error message(s)

System.NullReferenceException: Object reference not set to an instance of an object at Coherence.Toolkit.TransformBindingSerializer.Serialize (Coherence.Toolkit.CustomBinding customBinding, Coherence.Entity.ICoherenceComponentData componentData)

09.19.48.094796 : Warning: 09:19:48.093 (coherence) CoherenceSync: : We can't serialize the custom binding 'position'. Please read the exception below.  UnityEngine.Debug:LogWarning (object,UnityEngine.Object)
Coherence.Log.UnityLogger:BuildAndPrintLog (Coherence.Log.LogLevel,string,System.Text.StringBuilder,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/UnityLogger.cs:109)
Coherence.Log.Logger:Log (Coherence.Log.LogLevel,string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/Logger.cs:110)
Coherence.Log.Logger:Warning (string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/Logger.cs:70)
Coherence.Log.UnityLogger:Warning (string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/UnityLogger.cs:60)
Coherence.Toolkit.CoherenceSync:SerializeBinding (Coherence.Toolkit.CustomBinding,System.Type) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:1960)
Coherence.Toolkit.CoherenceSync:GetLatestReflectedChanges () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:1665)
Coherence.Toolkit.CoherenceSync:CreateEntity () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:879)
Coherence.Toolkit.CoherenceSync:HandleConnected (Coherence.Toolkit.CoherenceMonoBridge) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:849)
Coherence.Toolkit.CoherenceMonoBridge:HandleConnected (Coherence.Connection.ClientID) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:1156)
Coherence.Core.ClientCore:OnConnect (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:230)
Coherence.Connection.Connection:HandleConnection (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:345)
Coherence.Brisk.Brisk:ConnectionSuccess () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:286)
Coherence.Brisk.Brisk:OnConnectResponse (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:241)
Coherence.Brisk.Brisk:ProcessSignal (Coherence.Brisk.Models.ISignal) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:158)
Coherence.Connection.Connection:ProcessReceivePacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:327)
Coherence.Connection.Connection:HandlePacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:302)
Coherence.Connection.UdpTransport:ProcessPacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/UdpTransport.cs:128)
Coherence.Connection.UdpTransport:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/UdpTransport.cs:110)
Coherence.Connection.Connection:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:224)
Coherence.Core.ClientCore:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:337)
Coherence.Toolkit.CoherenceMonoBridge:ReceiveFromNetworkAndUpdateTime () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:556)
Coherence.Toolkit.CoherenceMonoBridge:FixedUpdate () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:542)

09.19.48.099226 : Error: 09:19:48.098 (coherence) CoherenceSync: : System.NullReferenceException: Object reference not set to an instance of an object
  at Coherence.Toolkit.TransformBindingSerializer.Serialize (Coherence.Toolkit.CustomBinding customBinding, Coherence.Entity.ICoherenceComponentData componentData) [0x0008e] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CustomBindingRuntimeSerializers/TransformBindingSerializer.cs:22 
  at Coherence.Toolkit.CoherenceSync.SerializeBinding (Coherence.Toolkit.CustomBinding customBinding, System.Type coherenceType) [0x0004b] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:1955   UnityEngine.Debug:LogError (object)
Coherence.Log.UnityLogger:BuildAndPrintLog (Coherence.Log.LogLevel,string,System.Text.StringBuilder,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/UnityLogger.cs:124)
Coherence.Log.Logger:Log (Coherence.Log.LogLevel,string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/Logger.cs:110)
Coherence.Log.Logger:Error (string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/Logger.cs:78)
Coherence.Log.UnityLogger:Error (string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/UnityLogger.cs:66)
Coherence.Toolkit.CoherenceSync:SerializeBinding (Coherence.Toolkit.CustomBinding,System.Type) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:1961)
Coherence.Toolkit.CoherenceSync:GetLatestReflectedChanges () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:1665)
Coherence.Toolkit.CoherenceSync:CreateEntity () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:879)
Coherence.Toolkit.CoherenceSync:HandleConnected (Coherence.Toolkit.CoherenceMonoBridge) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:849)
Coherence.Toolkit.CoherenceMonoBridge:HandleConnected (Coherence.Connection.ClientID) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:1156)
Coherence.Core.ClientCore:OnConnect (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:230)
Coherence.Connection.Connection:HandleConnection (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:345)
Coherence.Brisk.Brisk:ConnectionSuccess () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:286)
Coherence.Brisk.Brisk:OnConnectResponse (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:241)
Coherence.Brisk.Brisk:ProcessSignal (Coherence.Brisk.Models.ISignal) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:158)
Coherence.Connection.Connection:ProcessReceivePacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:327)
Coherence.Connection.Connection:HandlePacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:302)
Coherence.Connection.UdpTransport:ProcessPacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/UdpTransport.cs:128)
Coherence.Connection.UdpTransport:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/UdpTransport.cs:110)
Coherence.Connection.Connection:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:224)
Coherence.Core.ClientCore:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:337)
Coherence.Toolkit.CoherenceMonoBridge:ReceiveFromNetworkAndUpdateTime () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:556)
Coherence.Toolkit.CoherenceMonoBridge:FixedUpdate () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:542)

09.19.48.109718 : Error: 09:19:48.109 (coherence) ClientCore: : OnConnected exception in handler: System.NullReferenceException: Object reference not set to an instance of an object
  at Coherence.Entity.EntityData.New (Coherence.Entity.ICoherenceComponentData[] data, System.UInt32[] mask) [0x0002a] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Entity/EntityUpdate.cs:254 
  at Coherence.Core.OutConnection.CreateEntity (Coherence.Entity.SerializeEntityID id, Coherence.Entity.ICoherenceComponentData[] data, System.UInt32[] mask, Coherence.SimulationFrame.AbsoluteSimulationFrame clientSimulationFrame) [0x00001] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/OutConnection.cs:134 
  at Coherence.Core.ClientCore.CreateEntity (Coherence.Entity.ICoherenceComponentData[] data, System.Boolean orphan) [0x00028] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:362 
  at Coherence.Toolkit.CoherenceSync.CreateEntity () [0x0007e] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:883 
  at Coherence.Toolkit.CoherenceSync.HandleConnected (Coherence.Toolkit.CoherenceMonoBridge _) [0x0004c] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceSync.cs:849 
  at (wrapper delegate-invoke) System.Action`1[Coherence.Toolkit.CoherenceMonoBridge].invoke_void_T(Coherence.Toolkit.CoherenceMonoBridge)
  at Coherence.Toolkit.CoherenceMonoBridge.HandleConnected (Coherence.Connection.ClientID clientID) [0x00008] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:1156 
  at (wrapper delegate-invoke) System.Action`1[Coherence.Connection.ClientID].invoke_void_T(Coherence.Connection.ClientID)
  at Coherence.Core.ClientCore.OnConnect (Coherence.Brisk.Models.ConnectResponse connectResponse) [0x00026] in /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:230   UnityEngine.Debug:LogError (object)
Coherence.Log.UnityLogger:BuildAndPrintLog (Coherence.Log.LogLevel,string,System.Text.StringBuilder,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/UnityLogger.cs:124)
Coherence.Log.Logger:Log (Coherence.Log.LogLevel,string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/Logger.cs:110)
Coherence.Log.Logger:Error (string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/Logger.cs:78)
Coherence.Log.UnityLogger:Error (string,System.ValueTuple`2<string, object>[]) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Log/UnityLogger.cs:66)
Coherence.Core.ClientCore:OnConnect (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:234)
Coherence.Connection.Connection:HandleConnection (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:345)
Coherence.Brisk.Brisk:ConnectionSuccess () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:286)
Coherence.Brisk.Brisk:OnConnectResponse (Coherence.Brisk.Models.ConnectResponse) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:241)
Coherence.Brisk.Brisk:ProcessSignal (Coherence.Brisk.Models.ISignal) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Brisk/Brisk.cs:158)
Coherence.Connection.Connection:ProcessReceivePacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:327)
Coherence.Connection.Connection:HandlePacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:302)
Coherence.Connection.UdpTransport:ProcessPacket (Coherence.Brook.IInOctetStream) (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/UdpTransport.cs:128)
Coherence.Connection.UdpTransport:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/UdpTransport.cs:110)
Coherence.Connection.Connection:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Connection/Connection.cs:224)
Coherence.Core.ClientCore:UpdateReceiving () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Core/ClientCore.cs:337)
Coherence.Toolkit.CoherenceMonoBridge:ReceiveFromNetworkAndUpdateTime () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:556)
Coherence.Toolkit.CoherenceMonoBridge:FixedUpdate () (at /builds/bossians/production/project/Library/PackageCache/io.coherence.sdk@0.9.2/Coherence.Toolkit/CoherenceMonoBridge.cs:542)

Expected behaviour

Screenshots

If applicable, add screenshots to help explain the problem.

How to reproduce

Rate: (Choose one, or describe it yourself)
Once / Sometimes / Every time

Steps:
(intermittent but error was seen once after these steps)
Given_Clients_In_A_Room_When_Owner_Gracefully_Disconnect_Then_All_Clients_Quit

  1. client creates room and joins
  2. 3 other clients join same room
  3. All four clients saw above error

Environment

SDK: v0.9.2
Engine:
Unity: 2022.1.8.f1
OS/Platform: Ubuntu 18.04 /docker

seen 3 more times over the weekend

Thanks for reporting that @Kirsten_Miller, we’ll take a look!

1 Like

ace let me know if you want client logs, can send them privately

Hey :slight_smile: any update with this? Still seeing this error intemittently

Hi @Kirsten_Miller there’s some work being done on other things that may very well resolve this too. Keep you updated!

Just checked in with the team. We haven’t forgotten about this; it looks like it’s dependent on another issue we’re fixing. Will update again soon!