Fixing Native Crash — I have plenty of them, what's wrong?

Hello all,

I have Unity Cloud Diagnostics setup and working, I — unfortunately — sometine get crash report.
My question is, let say I have those (it’s only an example screenshot, I have some with very high number of crash)


Not much handy title, but let’s dig and open one.

I now have three tabs, stack trace, metadata and logs.
The only one where I can have crash info is in stack trace, let’s see:

Native StackTrace:

Thread 0
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   mono-2.0-bdwgc                     0x00007ffaf9385e8f mono_win32_wait_for_single_object_ex
3   mono-2.0-bdwgc                     0x00007ffaf947328d mono_coop_sem_timedwait
4   mono-2.0-bdwgc                     0x00007ffaf94734e3 mono_domain_finalize
5   mono-2.0-bdwgc                     0x00007ffaf948a98c mini_cleanup
6   UnityPlayer                        0x00007ffadf72b3f8 ?CleanupMono@@YAXXZ
7   UnityPlayer                        0x00007ffadf6148db ?PlayerCleanup@@YA_N_N@Z
8   UnityPlayer                        0x00007ffadf3bbbb6 ?DoQuit@@YA_N_N@Z
9   UnityPlayer                        0x00007ffadf3bf873 ?PlayerMainWndProc@@YA_JPEAUHWND__@@I_K_J@Z
10  USER32                             0x00007ffb33046df1 ?UserCallWinProcCheckWow@@YA_JPEAU_ACTIVATION_CONTEXT@@P6A_JPEAUtagWND@@I_K_J@ZPEAUHWND__@@W4_WM_VALUE@@23PEAXH@Z
11  USER32                             0x00007ffb33046acc DispatchClientMessage
12  USER32                             0x00007ffb3304ff03 _fnDWORD
13  ntdll                              0x00007ffb3329e6d4 KiUserCallbackDispatcherContinue
14  win32u                             0x00007ffb2f831164 NtUserMessageCall
15  USER32                             0x00007ffb330447a6 ?RealDefWindowProcWorker@@YA_JPEAUtagWND@@I_K_JK@Z
16  USER32                             0x00007ffb33043f82 ?RealDefWindowProcW@@YA_JPEAUHWND__@@I_K_J@Z
17  uxtheme                            0x00007ffb2d6e5d8a <system symbols missing>
18  uxtheme                            0x00007ffb2d6ef4c2 <system symbols missing>
19  uxtheme                            0x00007ffb2d6e4bb4 <system symbols missing>
20  uxtheme                            0x00007ffb2d6e3661 <system symbols missing>
21  USER32                             0x00007ffb330444c4 DefWindowProcW
22  UnityPlayer                        0x00007ffadf3bfc77 ?PlayerMainWndProc@@YA_JPEAUHWND__@@I_K_J@Z
23  USER32                             0x00007ffb33046df1 ?UserCallWinProcCheckWow@@YA_JPEAU_ACTIVATION_CONTEXT@@P6A_JPEAUtagWND@@I_K_J@ZPEAUHWND__@@W4_WM_VALUE@@23PEAXH@Z
24  USER32                             0x00007ffb330467c3 DispatchMessageWorker
25  UnityPlayer                        0x00007ffadf3ab8e2 ?TranslateAndDispatchFilteredMessage@@YA_NAEBUtagMSG@@@Z
26  UnityPlayer                        0x00007ffadf3bdd28 MainMessageLoop
27  UnityPlayer                        0x00007ffadf3c1dcc ?UnityMainImpl@@YAHPEAUHINSTANCE__@@0PEA_WH@Z
28  UnityPlayer                        0x00007ffadf3c58bb UnityMain
29  ChessBattle                        0x00007ff6e09411f2 _scrt_common_main_seh
30  KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
31  ntdll                              0x00007ffb33273691 RtlUserThreadStart
32  ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 1 (crashed)
0   ntdll                              0x00007ffb3329b4f4 ZwWaitForMultipleObjects
1   KERNELBASE                         0x00007ffb2fd15fe9 WaitForMultipleObjectsEx
2   KERNELBASE                         0x00007ffb2fd15ede WaitForMultipleObjects
3   UnityPlayer                        0x00007ffadf38dc8d ?HandleCrash@ExternalCrashHandler@winutils@@AEAAXKKPEBDPEAU_CONTEXT@@PEAU_EXCEPTION_RECORD@@_N@Z
4   UnityPlayer                        0x00007ffadf38dd32 ?HandleCrash@ExternalCrashHandler@winutils@@QEAA_NKKPEAU_EXCEPTION_POINTERS@@@Z
5   UnityPlayer                        0x00007ffadf39a0d8 ?ProcessInternalCrash@winutils@@YAHPEAU_EXCEPTION_POINTERS@@_N@Z
6   KERNELBASE                         0x00007ffb2fdbb980 UnhandledExceptionFilter
7   ntdll                              0x00007ffb332a31a7 RtlUserThreadStart$filt$0
8   ntdll                              0x00007ffb3328b5f6 _C_specific_handler
9   ntdll                              0x00007ffb3329f7fd RtlpExecuteHandlerForException
10  ntdll                              0x00007ffb3320d856 RtlDispatchException
11  ntdll                              0x00007ffb3329e72e KiUserExceptionDispatch
12  UnityPlayer                        0x00007ffadfc5250d ?FindActiveTransformWithPath@@YAPEAVTransform@@PEBD@Z
13  UnityPlayer                        0x00007ffadf7b6b47 ?GameObject_CUSTOM_Find@@YAPEAVScriptingBackendNativeObjectPtrOpaque@@PEAVScriptingBackendNativeStringPtrOpaque@@@Z
14  (<unknown>)                        0x000001cd575163da <system symbols missing>
15  (<unknown>)                        0x000001cd57cf54e0 <system symbols missing>
16  (<unknown>)                        0x000001cd558d3940 <system symbols missing>
17  (<unknown>)                        0x000001cd57cf54e0 <system symbols missing>
18  (<unknown>)                        0x000001cb8c3edb50 <system symbols missing>
19  (<unknown>)                        0x000001cb8c3ea9e0 <system symbols missing>
20  (<unknown>)                        0x0000005b0b6ff480 <system symbols missing>
21  (<unknown>)                        0x0000005b0b6ff410 <system symbols missing>
22  (<unknown>)                        0x000001cd558d3940 <system symbols missing>
23  (<unknown>)                        0x000001cd57460580 <system symbols missing>
24  (<unknown>)                        0x000001cb8dc62d20 <system symbols missing>
25  (<unknown>)                        0x000001cb8dc62d20 <system symbols missing>

Thread 2
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5d65659 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 3
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5603793 <system symbols missing>
3   nvwgf2umx                          0x00007ffad56029c0 <system symbols missing>
4   nvwgf2umx                          0x00007ffad55f9ced <system symbols missing>
5   nvwgf2umx                          0x00007ffad5e5a46a <system symbols missing>
6   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
7   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
8   ntdll                              0x00007ffb33273691 RtlUserThreadStart
9   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 4
0   ntdll                              0x00007ffb3329e2f4 NtWaitForWorkViaWorkerFactory
1   ntdll                              0x00007ffb33226866 TppWorkerThread
2   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
3   ntdll                              0x00007ffb33273691 RtlUserThreadStart
4   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 5
0   ntdll                              0x00007ffb3329e2f4 NtWaitForWorkViaWorkerFactory
1   ntdll                              0x00007ffb33226866 TppWorkerThread
2   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
3   ntdll                              0x00007ffb33273691 RtlUserThreadStart
4   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 6
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 7
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 8
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 9
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 10
0   ntdll                              0x00007ffb3329b4f4 ZwWaitForMultipleObjects
1   KERNELBASE                         0x00007ffb2fd15fe9 WaitForMultipleObjectsEx
2   CoreMessaging                      0x00007ffb2d14357c ?Callback_WaitAny@WaitArray@Dispatch@CoreUI@Microsoft@@QEAA?AUWaitStatus@234@PEAUWin32Handle@Support@34@IIUWaitFlags@34@_NAEAIAEAUIntPtr@System@@@Z
3   CoreMessaging                      0x00007ffb2d143a17 ?Callback_DoWait@WaitArray@Dispatch@CoreUI@Microsoft@@QEAA?AUMessagingResults@Messaging@34@IPEAUWin32Handle@Support@34@IUWaitFlags@34@_NPEAVWakeRecord@234@@Z
4   CoreMessaging                      0x00007ffb2d145588 ?Callback_DoGeneralWait@WaitController@Dispatch@CoreUI@Microsoft@@QEAAXIPEAUWin32Handle@Support@34@IUWaitFlags@34@V?$StrongRef@VWakeRecord@Dispatch@CoreUI@Microsoft@@@Cn@@V?$StrongRef@VWakeRecordHandler@Dispatch@CoreUI@Microsoft@@@9@_N@Z
5   CoreMessaging                      0x00007ffb2d14520e ?Callback_OnDispatch@WaitController@Dispatch@CoreUI@Microsoft@@UEAAXXZ
6   CoreMessaging                      0x00007ffb2d14288f ?Callback_RunCoreLoop@EventLoop@Dispatch@CoreUI@Microsoft@@QEAA?AUDispatcher__LoopExitState@234@URunMode@234@_NAEA_N@Z
7   CoreMessaging                      0x00007ffb2d142f08 ?Callback_Run@EventLoop@Dispatch@CoreUI@Microsoft@@QEAAXURunMode@234@@Z
8   CoreMessaging                      0x00007ffb2d16e8d5 ?Run@Microsoft__CoreUI__IExportMessageSession_Impl@MessageSession$R@Messaging@CoreUI@Microsoft@@UEAAXPEAVObject@System@@@Z
9   CoreMessaging                      0x00007ffb2d13636b ?Run@IExportMessageSession$X__ExportAdapter@CoreUI@Microsoft@@UEAAJXZ
10  inputhost                          0x00007ffb1fff9b51 ?ThreadProc@MessagingThread@@AEAAXXZ
11  inputhost                          0x00007ffb1fff99b9 <lambda_834b7eed2d0bb50b8ed5604b3a0434b8>::<lambda_invoker_cdecl>
12  KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
13  ntdll                              0x00007ffb33273691 RtlUserThreadStart
14  ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 11
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 12
0   ntdll                              0x00007ffb3329b4f4 ZwWaitForMultipleObjects
1   KERNELBASE                         0x00007ffb2fd15fe9 WaitForMultipleObjectsEx
2   KERNELBASE                         0x00007ffb2fd15ede WaitForMultipleObjects
3   nvwgf2umx                          0x00007ffad5e20197 <system symbols missing>
4   nvwgf2umx                          0x00007ffad5e5a46a <system symbols missing>
5   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
6   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
7   ntdll                              0x00007ffb33273691 RtlUserThreadStart
8   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 13
0   ntdll                              0x00007ffb3329aac4 NtRemoveIoCompletion
1   mswsock                            0x00007ffb2ed0f4c8 SockAsyncThread
2   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
3   ntdll                              0x00007ffb33273691 RtlUserThreadStart
4   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 14
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 15
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 16
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 17
0   ntdll                              0x00007ffb3329aa24 ZwWaitForSingleObject
1   KERNELBASE                         0x00007ffb2fd091d2 WaitForSingleObjectEx
2   nvwgf2umx                          0x00007ffad5750136 <system symbols missing>
3   nvwgf2umx                          0x00007ffad650552c <system symbols missing>
4   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
5   ntdll                              0x00007ffb33273691 RtlUserThreadStart
6   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 18
0   ntdll                              0x00007ffb3329e2f4 NtWaitForWorkViaWorkerFactory
1   ntdll                              0x00007ffb33226866 TppWorkerThread
2   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
3   ntdll                              0x00007ffb33273691 RtlUserThreadStart
4   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Thread 19
0   ntdll                              0x00007ffb3329e2f4 NtWaitForWorkViaWorkerFactory
1   ntdll                              0x00007ffb33226866 TppWorkerThread
2   KERNEL32                           0x00007ffb31db4034 BaseThreadInitThunk
3   ntdll                              0x00007ffb33273691 RtlUserThreadStart
4   ntdll                              0x00007ffb33273691 RtlUserThreadStart

Should I understand that?
It does not looks like useful info for me,
all those crashs give some similar stack traces, where it nevers refer to some code I wrote.

How I can fix those crashs, they happen A LOT and I need to fix that!
All my user when playing encounter at least a crash like this :frowning:

Those crashes you get are often difficult to fix.
Unless you get 50+ of them, focus on exceptions.
For example:

Problem

NullReferenceException: A null value was found where an object instance was required.


Managed Stack Trace:

SwitchToggle.set_toggleState (EToggleState value)
SwitchToggleGroup.set_toggleNum (Int32 value)
MissionView.Display (Boolean isDaily, MissionData data)
ApiDispatcher.Receive (DUF.Engine.ApiData data, UnityEngine.Networking.UnityWebRequest request)
HttpClient+<RequestCoroutine>c__Iterator0.MoveNext ()
SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)

Those will be bugs in your code and your focus should be on them.

Native crashes are often caused by the libraries or engine so it will be difficult to fix.

Is there a way to find out what can cause those crashs?
I have plenty of them, some with very high numbers (I’m still talking about Native Crash)
most of my user encounter at least a crash in their playtest…

Any idea?