Standalone build crashes when calling NetworkClient:SpawnPrefab
Describe the bug
When a client connects to a server on a standalone build the game crashes entirely when calling NetworkClient:SpawnPrefab. See below stack trace.
Something inside Unity's code at UnityEngine.Object:Internal_InstantiateSingle_Injected appears to be the cause.
[IMPORTANT] How can we reproduce the issue, step by step: I will follow up with repro steps if I can discover what leads to this.
Expected behavior
Game should not crash when calling NetworkClient:SpawnPrefab.
Desktop (please complete the following information):
- OS: Windows
- Build target: standalone
- Unity version: 2021.3.7f1
- Mirror branch: master
Additional context
According to Unity the "Attempt to access invalid address" isn't the direct issue:
"ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.'" basically means that our crash handler failed to locate where the code crashed. See: https://forum.unity.com/threads/u5-3-error-symgetsymfromaddr64-getlasterror-attempt-to-access-invalid-address.413565/
Related Stack Trace
The file 'none' is corrupted! Remove it and launch unity again!
[Position out of bounds!]
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.Object:Internal_InstantiateSingle (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
UnityEngine.Object:Instantiate (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
UnityEngine.Object:Instantiate<UnityEngine.GameObject> (UnityEngine.GameObject,UnityEngine.Vector3,UnityEngine.Quaternion)
Mirror.NetworkClient:SpawnPrefab (Mirror.SpawnMessage) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:1113)
Mirror.NetworkClient:FindOrSpawnObject (Mirror.SpawnMessage,Mirror.NetworkIdentity&) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:1067)
Mirror.NetworkClient:OnSpawn (Mirror.SpawnMessage) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:1303)
Mirror.NetworkClient/<>c__DisplayClass47_0`1<Mirror.SpawnMessage>:<RegisterHandler>g__HandlerWrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:473)
Mirror.MessagePacking/<>c__DisplayClass7_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>g__Wrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/MessagePacking.cs:144)
Mirror.MessagePacking/<>c__DisplayClass6_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>b__0 (Mirror.NetworkConnection,Mirror.NetworkReader,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/MessagePacking.cs:126)
Mirror.NetworkClient:UnpackAndInvoke (Mirror.NetworkReader,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:288)
Mirror.NetworkClient:OnTransportData (System.ArraySegment`1<byte>,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:356)
IgnoranceTransport.Ignorance:ProcessClientPackets () (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/Transports/Ignorance/Ignorance.cs:621)
IgnoranceTransport.Ignorance:ClientPump () (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/Transports/Ignorance/Ignorance.cs:444)
IgnoranceTransport.Ignorance:FixedUpdate () (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/Transports/Ignorance/Ignorance.cs:642)
Crash Stack Trace
0x00007FFBECB00272 (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFBECB001AB)
0x00007FFBECB001AB (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFBEC5A0105)
0x00007FFBEC5A0105 (UnityPlayer) (function-name not available)
0x0000028F8E7BBBF7 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.Object:Internal_InstantiateSingle_Injected (UnityEngine.Object,UnityEngine.Vector3&,UnityEngine.Quaternion&)
0x0000028F8E7BBA63 (Mono JIT Code) UnityEngine.Object:Internal_InstantiateSingle (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
0x0000028F8E7BB7A3 (Mono JIT Code) UnityEngine.Object:Instantiate (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
0x0000028F8E7BB413 (Mono JIT Code) UnityEngine.Object:Instantiate<T_REF> (T_REF,UnityEngine.Vector3,UnityEngine.Quaternion)
0x0000028F8E7B0893 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:1113] Mirror.NetworkClient:SpawnPrefab (Mirror.SpawnMessage)
0x0000028F8E6D154B (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:1067] Mirror.NetworkClient:FindOrSpawnObject (Mirror.SpawnMessage,Mirror.NetworkIdentity&)
0x0000028F8E6D07BB (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:1303] Mirror.NetworkClient:OnSpawn (Mirror.SpawnMessage)
0x0000028F8E6D0DB3 (Mono JIT Code) (wrapper delegate-invoke) System.Action`1<Mirror.SpawnMessage>:invoke_void_T (Mirror.SpawnMessage)
0x0000028F8E6D05FB (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:473] Mirror.NetworkClient/<>c__DisplayClass47_0`1<Mirror.SpawnMessage>:<RegisterHandler>g__HandlerWrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage)
0x0000028F8E6D0462 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\MessagePacking.cs:144] Mirror.MessagePacking/<>c__DisplayClass7_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>g__Wrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage,int)
0x0000028F8E6CCBCB (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\MessagePacking.cs:126] Mirror.MessagePacking/<>c__DisplayClass6_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>b__0 (Mirror.NetworkConnection,Mirror.NetworkReader,int)
0x0000028F8E6B73C6 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:288] Mirror.NetworkClient:UnpackAndInvoke (Mirror.NetworkReader,int)
0x0000028F8E6B51C3 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:356] Mirror.NetworkClient:OnTransportData (System.ArraySegment`1<byte>,int)
0x0000028F8E6B5A58 (Mono JIT Code) (wrapper delegate-invoke) System.Action`2<System.ArraySegment`1<byte>, int>:invoke_void_T1_T2 (System.ArraySegment`1<byte>,int)
0x0000028F8E67D358 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\Transports\Ignorance\Ignorance.cs:621] IgnoranceTransport.Ignorance:ProcessClientPackets ()
0x0000028F56FDAA2B (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\Transports\Ignorance\Ignorance.cs:444] IgnoranceTransport.Ignorance:ClientPump ()
0x0000028F56FDA32B (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\Transports\Ignorance\Ignorance.cs:642] IgnoranceTransport.Ignorance:FixedUpdate ()
0x0000028F1F96F1D8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)