Search Unity

Non-merged crash reports

Discussion in 'Unity Cloud Diagnostics' started by stopiccot_tds, Jul 10, 2019.

  1. stopiccot_tds

    stopiccot_tds

    Joined:
    Oct 1, 2016
    Posts:
    111
    We have tons of instances of the same crash in our Cloud Diagnostics panel.
    Instance per user. It's very inconvenient. Seems like it's started after we updated from Unity 2018.2 to Unity 2018.4. Can it be that the new Logs feature is the reason? In case I have same crash/exception but different last 10 logs, should instances be merged?
     

    Attached Files:

  2. Ryan-Unity

    Ryan-Unity

    Joined:
    Mar 23, 2016
    Posts:
    1,993
    Hi @stopiccot_onthespot! That is frustrating that you're seeing seemingly each instance of a crash as its own report. Crash and exception reports are only merged into the same report if their stack traces are exactly the same. I'm not familiar with the Logs feature you mentioned. Is this a Unity feature or plugin that you're referring to? Is this creating slight differences in your stack traces so that they get marked as a unique report each time?
     
  3. stopiccot_tds

    stopiccot_tds

    Joined:
    Oct 1, 2016
    Posts:
    111
    @ryanc-unity by Logs I mean the new feature added in Unity 2018.3. Logs tab next to Stack trace and metadata
     
  4. stopiccot_tds

    stopiccot_tds

    Joined:
    Oct 1, 2016
    Posts:
    111
    I've checked some reports. Managed stack traces are the same. Native stack trace for crashing thread is always:
    Code (CSharp):
    1. Native StackTrace:
    2.  
    3. Thread 0 (crashed)
    4. 0   appname                            0x0000000100bd308c CrashedCheckBelowForHintsWhy
    5. 1   appname                            0x000000010187181c UnhandledExceptionHandler_CUSTOM_iOSNativeUnhandledExceptionHandler(Il2CppString*, Il2CppString*, Il2CppString*)
    6. 2   appname                            0x0000000100c5ed34 RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017_RuntimeObject_RuntimeObject(void (*)(), MethodInfo const*, void*, void**)
    7. 3   appname                            0x0000000101d92b5c il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)
    8. 4   appname                            0x0000000101d93490 il2cpp::vm::Runtime::CallUnhandledExceptionDelegate(Il2CppDomain*, Il2CppDelegate*, Il2CppException*)
    9. 5   appname                            0x0000000101d9341c il2cpp::vm::Runtime::UnhandledException(Il2CppException*)
    10. 6   appname                            0x000000010182c9ec ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
    11. 7   appname                            0x0000000101835354 Coroutine::InvokeMoveNext(ScriptingExceptionPtr*)
    12. 8   appname                            0x0000000101834f6c Coroutine::Run(bool*)
    13. 9   appname                            0x00000001016d7ef0 DelayedCallManager::Update(int)
    14. 10  appname                            0x0000000101796158 ExecutePlayerLoop(NativePlayerLoopSystem*)
    15. 11  appname                            0x000000010179618c ExecutePlayerLoop(NativePlayerLoopSystem*)
    16. 12  appname                            0x000000010179636c PlayerLoop()
    17. 13  appname                            0x00000001019ac8f0 UnityPlayerLoopImpl(bool)
    18. 14  appname                            0x0000000100bc9b10 UnityRepaint
    19. 15  appname                            0x0000000100bd9078 -[UnityAppController(ViewHandling) showGameUI]
    20. 16  appname                            0x0000000100bd6884 -[UnityAppController startUnity:]
    21. 17  Foundation                         0x00000001dcbe1430 __NSFireDelayedPerform
    22. 18  CoreFoundation                     0x00000001dc0ff650 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
    23. 19  CoreFoundation                     0x00000001dc0ff380 __CFRunLoopDoTimer
    24. 20  CoreFoundation                     0x00000001dc0febb4 __CFRunLoopDoTimers
    25. 21  CoreFoundation                     0x00000001dc0f9b04 __CFRunLoopRun
    26. 22  CoreFoundation                     0x00000001dc0f90b0 CFRunLoopRunSpecific
    27. 23  GraphicsServices                   0x00000001de2f979c GSEventRunModal
    28. 24  UIKitCore                          0x000000020892f978 UIApplicationMain
    29. 25  appname                            0x0000000100bc1d94 main
    30. 26  libdyld.dylib                      0x00000001dbbbe8e0 start
    The only thing I noticed is that rarely native stack trace is "corrupted" with Mono JIT entries like this:
    Code (CSharp):
    1. Native StackTrace:
    2.  
    3. Thread 0 (crashed)
    4. 0   solitaire                          0x0000000102bd308c CrashedCheckBelowForHintsWhy
    5. 1   solitaire                          0x000000010387181c UnhandledExceptionHandler_CUSTOM_iOSNativeUnhandledExceptionHandler(Il2CppString*, Il2CppString*, Il2CppString*)
    6. 2   solitaire                          0x0000000102c5ed34 RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017_RuntimeObject_RuntimeObject(void (*)(), MethodInfo const*, void*, void**)
    7. 3   solitaire                          0x0000000103d92b5c il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)
    8. 4   solitaire                          0x0000000103d93490 il2cpp::vm::Runtime::CallUnhandledExceptionDelegate(Il2CppDomain*, Il2CppDelegate*, Il2CppException*)
    9. 5   solitaire                          0x0000000103d9341c il2cpp::vm::Runtime::UnhandledException(Il2CppException*)
    10. 6   solitaire                          0x000000010382c9ec ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
    11. 7   solitaire                          0x0000000103835354 Coroutine::InvokeMoveNext(ScriptingExceptionPtr*)
    12. 8   solitaire                          0x0000000103834f6c Coroutine::Run(bool*)
    13. 9   solitaire                          0x00000001036d7ef0 DelayedCallManager::Update(int)
    14. 10  solitaire                          0x0000000103796158 ExecutePlayerLoop(NativePlayerLoopSystem*)
    15. 11  solitaire                          0x000000010379618c ExecutePlayerLoop(NativePlayerLoopSystem*)
    16. 12  solitaire                          0x000000010379636c PlayerLoop()
    17. 13  solitaire                          0x00000001039ac8f0 UnityPlayerLoopImpl(bool)
    18. 14  solitaire                          0x0000000102bc9b10 UnityRepaint
    19. 15  solitaire                          0x0000000102bd9078 -[UnityAppController(ViewHandling) showGameUI]
    20. 16  solitaire                          0x0000000102bd6884 -[UnityAppController startUnity:]
    21. 17  Foundation                         0x0000000192a3a0f0 __NSFireDelayedPerform
    22. 18  (Mono)                                                Mono JIT frame
    23. 19  (Mono)                                                Mono JIT frame
    24. 20  (Mono)                                                Mono JIT frame
    25. 21  (Mono)                                                Mono JIT frame
    26. 22  (Mono)                                                Mono JIT frame
    27. 23  (Mono)                                                Mono JIT frame
    28. 24  (Mono)                                                Mono JIT frame
    29. 25  (Mono)                                                Mono JIT frame
    30. 26  libdyld.dylib                      0x00000001919f4fd8 start
    Seems like a Unity bug to me cause how can you have Mono JIT and il2cpp mentioning in the same stack trace?
     
  5. Ryan-Unity

    Ryan-Unity

    Joined:
    Mar 23, 2016
    Posts:
    1,993
    Are the managed exceptions being grouped together correctly or are they also appearing one at a time?

    This looks like it might be related to the bug that we have with devices running the arm64e architecture that causes Xcode symbols to be missing in some reports. The fix in 2018.4 should be present in 2018.4.5. When that version comes out, please upgrade to it when you can. That should resolve the issue of the missing symbols.