Search code examples
iosxamarin.formsxamarin.ioscrash-reports

iOS app crashes when TestFlight user performs a specific action, but I'm unable to reproduce in iPhoneSimulator


My first time developing an app, coding in Xamarin Forms. I've got the app running smoothly in Android Emulator and iPhoneSimulator.

One of my TestFlight testers reports a crash when they take a very specific action in the app (filling out a form that sends info to company server), but when I try to reproduce that action exactly in iPhoneSimulator, it performs as expected.

I don't have access to the testers physical device at the moment, but I figured out how to get the crash report from TestFlight, and I'm not experienced enough to understand what I'm seeing here. Can anyone give me any incite from this crash report, maybe a general direction to start looking for debugging? Thank you to anyone that can help!

Incident Identifier: F8F663BB-2950-40E1-BDC3-7B5BE44DDDA8
Hardware Model:      iPhone13,3
Process:             xxxxxxx.iOS [39763]
Path:                /private/var/containers/Bundle/Application/DD0FAEE6-AA85-4AA1-A6CE-4716DDBC4151/xxxxxxxxx.iOS
Identifier:          com.xxxxxxxxxx
Version:             1.0.19 (1.0.19)
AppStoreTools:       13F100
AppVariant:          1:iPhone13,3:15
Beta:                YES
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.xxxxxxxxxx [3011]

Date/Time:           2022-07-26 13:06:32.5728 -0500
Launch Time:         2022-07-22 19:42:32.9539 -0500
OS Version:          iPhone OS 15.5 (19F77)
Release Type:        User
Baseband Version:    2.54.02
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0


Kernel Triage:
VM - pmap_enter failed with resource shortage


Thread 0 name:
Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x00000001c587ab38 __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001ff5aa3bc pthread_kill + 268 (pthread.c:1668)
2   libsystem_c.dylib               0x0000000198e4344c __abort + 128 (abort.c:155)
3   libsystem_c.dylib               0x0000000198deb530 abort + 180 (abort.c:126)
4   EscapeesApp.iOS                 0x0000000103348014 xamarin_find_protocol_wrapper_type + 44630036 (runtime.m:1177)
5   EscapeesApp.iOS                 0x000000010320ee94 mono_invoke_unhandled_exception_hook + 43347604 (exception.c:1299)
6   EscapeesApp.iOS                 0x00000001031a4000 mono_handle_exception_internal + 42909696 (mini-exceptions.c:2783)
7   EscapeesApp.iOS                 0x00000001031a49d8 mono_resume_unwind + 42912216 (mini-exceptions.c:3525)
8   EscapeesApp.iOS                 0x00000001031988a8 mono_arm_resume_unwind + 42862760 (exceptions-arm64.c:423)
9   EscapeesApp.iOS                 0x0000000100a22aa8 llvm_resume_unwind_trampoline + 168
10  EscapeesApp.iOS                 0x00000001019194c4 Xamarin_iOS_Foundation_NSAsyncSynchronizationContextDispatcher_Apply + 17175748 (NSAction.cs:0)
11  EscapeesApp.iOS                 0x00000001031b5d6c mono_jit_runtime_invoke + 42982764 (mini-runtime.c:3191)
12  EscapeesApp.iOS                 0x000000010326f99c mono_runtime_invoke_checked + 43743644 (object.c:3220)
13  EscapeesApp.iOS                 0x00000001032731dc mono_runtime_invoke + 43758044 (object.c:3107)
14  EscapeesApp.iOS                 0x00000001008e128c native_to_managed_trampoline_8(objc_object*, objc_selector*, _MonoMethod**, unsigned int) + 168588 (registrar.m:450)
15  EscapeesApp.iOS                 0x00000001008e17c0 -[__MonoMac_NSAsyncSynchronizationContextDispatcher xamarinApplySelector] + 169920 (registrar.m:8429)
16  Foundation                      0x000000018f47df20 __NSThreadPerformPerform + 212 (NSThread.m:1058)
17  CoreFoundation                  0x000000018dd07414 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1972)
18  CoreFoundation                  0x000000018dd181a0 __CFRunLoopDoSource0 + 208 (CFRunLoop.c:2016)
19  CoreFoundation                  0x000000018dc516f8 __CFRunLoopDoSources0 + 368 (CFRunLoop.c:2061)
20  CoreFoundation                  0x000000018dc5705c __CFRunLoopRun + 828 (CFRunLoop.c:2951)
21  CoreFoundation                  0x000000018dc6abc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
22  GraphicsServices                0x00000001a9d9e374 GSEventRunModal + 164 (GSEvent.c:2200)
23  UIKitCore                       0x00000001905da648 -[UIApplication _run] + 1100 (UIApplication.m:3511)
24  UIKitCore                       0x000000019035bd90 UIApplicationMain + 364 (UIApplication.m:5064)
25  EscapeesApp.iOS                 0x00000001018dc128 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 344
26  EscapeesApp.iOS                 0x0000000101944bdc Xamarin_iOS_UIKit_UIApplication_Main_string___System_Type_System_Type + 17353692 (UIApplication.cs:86)
27  EscapeesApp.iOS                 0x00000001031b5d6c mono_jit_runtime_invoke + 42982764 (mini-runtime.c:3191)
28  EscapeesApp.iOS                 0x000000010326f99c mono_runtime_invoke_checked + 43743644 (object.c:3220)
29  EscapeesApp.iOS                 0x0000000103275ca4 mono_runtime_exec_main_checked + 43768996 (object.c:5288)
30  EscapeesApp.iOS                 0x0000000103194158 mono_jit_exec + 42844504 (driver.c:1328)
31  EscapeesApp.iOS                 0x00000001033508b4 xamarin_main + 44665012 (monotouch-main.m:0)
32  EscapeesApp.iOS                 0x00000001009276a0 main + 456352 (main.m:150)
33  dyld                            0x0000000103801ce4 start + 520 (dyldMain.cpp:879)

Thread 1 name:
Thread 1:
0   libsystem_kernel.dylib          0x00000001c5874f24 __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x00000001ff5ab298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   EscapeesApp.iOS                 0x0000000103312bc4 thread_func + 44411844 (sgen-thread-pool.c:196)
3   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
4   libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 2 name:
Thread 2:
0   libsystem_kernel.dylib          0x00000001c58744dc semaphore_wait_trap + 8
1   EscapeesApp.iOS                 0x000000010321229c finalizer_thread + 43360924 (gc.c:965)
2   EscapeesApp.iOS                 0x00000001032bd4f4 start_wrapper_internal + 44061940 (threads.c:1289)
3   EscapeesApp.iOS                 0x00000001032bd378 start_wrapper + 44061560 (threads.c:1310)
4   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib          0x00000001c58744a0 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001c5874ae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                  0x000000018dc52d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                  0x000000018dc571bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                  0x000000018dc6abc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   Foundation                      0x000000018f459464 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 236 (NSRunLoop.m:373)
6   Foundation                      0x000000018f49ae2c -[NSRunLoop(NSRunLoop) runUntilDate:] + 92 (NSRunLoop.m:420)
7   UIKitCore                       0x0000000190554770 -[UIEventFetcher threadMain] + 524 (UIEventFetcher.m:1167)
8   Foundation                      0x000000018f4a943c __NSThread__start__ + 808 (NSThread.m:972)
9   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
10  libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 4 name:
Thread 4:
0   libsystem_kernel.dylib          0x00000001c5874f24 __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x00000001ff5ab298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   EscapeesApp.iOS                 0x0000000103322168 mono_os_cond_timedwait + 44474728 (mono-os-mutex.c:32)
3   EscapeesApp.iOS                 0x00000001032c8c1c mono_w32handle_timedwait_signal_handle + 44108828 (w32handle.c:767)
4   EscapeesApp.iOS                 0x00000001032c8af4 mono_w32handle_wait_one + 44108532 (w32handle.c:895)
5   EscapeesApp.iOS                 0x00000001032c8d18 mono_w32handle_wait_multiple + 44109080 (w32handle.c:1002)
6   EscapeesApp.iOS                 0x00000001032b7a20 ves_icall_System_Threading_WaitHandle_Wait_internal + 44038688 (threads.c:2314)
7   EscapeesApp.iOS                 0x00000001032339c0 ves_icall_System_Threading_WaitHandle_Wait_internal_raw + 43497920 (icall-def.h:1100)
8   EscapeesApp.iOS                 0x00000001009388f8 wrapper_managed_to_native_System_Threading_WaitHandle_Wait_internal_intptr__int_bool_int + 120
9   EscapeesApp.iOS                 0x0000000100b38520 mscorlib_System_Threading_WaitHandle_WaitOneNative_System_Runtime_InteropServices_SafeHandle_uint_bool_bool + 2622752 (WaitHandle.cs:0)
10  EscapeesApp.iOS                 0x0000000100b31688 mscorlib_System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 2594440 (executioncontext.cs:911)
11  EscapeesApp.iOS                 0x00000001031b5d6c mono_jit_runtime_invoke + 42982764 (mini-runtime.c:3191)
12  EscapeesApp.iOS                 0x000000010326f99c mono_runtime_invoke_checked + 43743644 (object.c:3220)
13  EscapeesApp.iOS                 0x0000000103275338 mono_runtime_delegate_try_invoke + 43766584 (object.c:4441)
14  EscapeesApp.iOS                 0x00000001032bd5ec start_wrapper_internal + 44062188 (threads.c:1258)
15  EscapeesApp.iOS                 0x00000001032bd378 start_wrapper + 44061560 (threads.c:1310)
16  libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
17  libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 5 name:
Thread 5:
0   libsystem_kernel.dylib          0x00000001c58744a0 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001c5874ae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                  0x000000018dc52d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                  0x000000018dc571bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                  0x000000018dc6abc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   CFNetwork                       0x000000018e6e323c +[__CFN_CoreSchedulingSetRunnable _run:] + 472 (CoreSchedulingSet.mm:1372)
6   Foundation                      0x000000018f4a943c __NSThread__start__ + 808 (NSThread.m:972)
7   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 6 name:
Thread 6:
0   libsystem_kernel.dylib          0x00000001c5874f24 __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x00000001ff5ab298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   EscapeesApp.iOS                 0x0000000103322168 mono_os_cond_timedwait + 44474728 (mono-os-mutex.c:32)
3   EscapeesApp.iOS                 0x00000001032c8c1c mono_w32handle_timedwait_signal_handle + 44108828 (w32handle.c:767)
4   EscapeesApp.iOS                 0x00000001032c8af4 mono_w32handle_wait_one + 44108532 (w32handle.c:895)
5   EscapeesApp.iOS                 0x0000000103262540 ves_icall_System_Threading_Monitor_Monitor_wait + 43689280 (monitor.c:1499)
6   EscapeesApp.iOS                 0x0000000103231fa4 ves_icall_System_Threading_Monitor_Monitor_wait_raw + 43491236 (icall-def.h:999)
7   EscapeesApp.iOS                 0x0000000100937238 wrapper_managed_to_native_System_Threading_Monitor_Monitor_wait_object_int + 104
8   EscapeesApp.iOS                 0x0000000100b32c4c mscorlib_System_Threading_Monitor_ObjWait_bool_int_object + 2600012 (Monitor.cs:0)
9   EscapeesApp.iOS                 0x00000001011e8de0 System_Collections_Concurrent_BlockingCollection_1_T_REF_TryTakeWithNoTimeValidation_T_REF__int_System_Threading_CancellationToken_System_Threading_CancellationTokenSource + 9637344 (BlockingCollection.cs:701)
10  EscapeesApp.iOS                 0x000000010131afa8 System_System_Collections_Concurrent_BlockingCollection_1_T_REF_TryTake_T_REF__int_System_Threading_CancellationToken + 10891176 (BlockingCollection.cs:0)
11  EscapeesApp.iOS                 0x0000000100b31688 mscorlib_System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 2594440 (executioncontext.cs:911)
12  EscapeesApp.iOS                 0x00000001031b5d6c mono_jit_runtime_invoke + 42982764 (mini-runtime.c:3191)
13  EscapeesApp.iOS                 0x000000010326f99c mono_runtime_invoke_checked + 43743644 (object.c:3220)
14  EscapeesApp.iOS                 0x0000000103275338 mono_runtime_delegate_try_invoke + 43766584 (object.c:4441)
15  EscapeesApp.iOS                 0x00000001032bd5ec start_wrapper_internal + 44062188 (threads.c:1258)
16  EscapeesApp.iOS                 0x00000001032bd378 start_wrapper + 44061560 (threads.c:1310)
17  libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
18  libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib          0x00000001c58744a0 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001c5874ae4 mach_msg + 76 (mach_msg.c:119)
2   CoreFoundation                  0x000000018dc52d30 __CFRunLoopServiceMachPort + 372 (CFRunLoop.c:2646)
3   CoreFoundation                  0x000000018dc571bc __CFRunLoopRun + 1180 (CFRunLoop.c:3000)
4   CoreFoundation                  0x000000018dc6abc8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
5   AudioSession                    0x0000000197276f04 CADeprecated::GenericRunLoopThread::Entry(void*) + 164 (GenericRunLoopThread.h:95)
6   AudioSession                    0x00000001972808f0 CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 92 (CAPThread.cpp:324)
7   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 8:
0   libsystem_pthread.dylib         0x00000001ff5a3e54 start_wqthread + 0

Thread 9:
0   libsystem_pthread.dylib         0x00000001ff5a3e54 start_wqthread + 0

Thread 10 name:
Thread 10:
0   libsystem_kernel.dylib          0x00000001c5874f24 __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x00000001ff5ab298 _pthread_cond_wait + 1236 (pthread_cond.c:636)
2   EscapeesApp.iOS                 0x0000000103322140 mono_os_cond_timedwait + 44474688 (mono-os-mutex.c:75)
3   EscapeesApp.iOS                 0x000000010332aea8 mono_thread_info_sleep + 44510888 (mono-threads.c:1673)
4   EscapeesApp.iOS                 0x00000001032b16a0 monitor_thread + 44013216 (threadpool-worker-default.c:728)
5   EscapeesApp.iOS                 0x00000001032bd4f4 start_wrapper_internal + 44061940 (threads.c:1289)
6   EscapeesApp.iOS                 0x00000001032bd378 start_wrapper + 44061560 (threads.c:1310)
7   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
8   libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 11 name:
Thread 11:
0   libsystem_kernel.dylib          0x00000001c58744f4 semaphore_timedwait_trap + 8
1   EscapeesApp.iOS                 0x00000001032b1f58 worker_thread + 44015448 (threadpool-worker-default.c:490)
2   EscapeesApp.iOS                 0x00000001032bd4f4 start_wrapper_internal + 44061940 (threads.c:1289)
3   EscapeesApp.iOS                 0x00000001032bd378 start_wrapper + 44061560 (threads.c:1310)
4   libsystem_pthread.dylib         0x00000001ff5a49ac _pthread_start + 148 (pthread.c:891)
5   libsystem_pthread.dylib         0x00000001ff5a3e68 thread_start + 8

Thread 12:
0   libsystem_pthread.dylib         0x00000001ff5a3e54 start_wqthread + 0


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x0000000000001000   x7: 0x0000000000000700
    x8: 0xb009a92947516722   x9: 0xb009a92844d422a2  x10: 0x00000000000003e8  x11: 0x0000000000000000
   x12: 0x00000001050bf400  x13: 0x0000000106141863  x14: 0x00000000000003e0  x15: 0x0000000080000000
   x16: 0x0000000000000148  x17: 0x0000000103854580  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x0000000103854660  x22: 0x0000000000000000  x23: 0x0000000106815c00
   x24: 0x0000000106141860  x25: 0x000000016f544e90  x26: 0x0000000000000002  x27: 0x0000000103629540
   x28: 0x0000000000ffffff   fp: 0x000000016f544090   lr: 0x00000001ff5aa3bc
    sp: 0x000000016f544070   pc: 0x00000001c587ab38 cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
0x1008b8000 - 0x10343ffff xxxxxxxxx.iOS arm64  <855006c5821034f3845cafea1438c54d> /private/var/containers/Bundle/Application/DD0FAEE6-AA85-4AA1-A6CE-4716DDBC4151/xxxxxxxxxxxxx.iOS
0x1037e8000 - 0x10383ffff dyld arm64e  <7c9c7851823738a7b1eb9cd2deb4b746> /usr/lib/dyld
0x18dc4c000 - 0x18e0a1fff CoreFoundation arm64e  <5198fb5756453b34a49ff32b52256cf3> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x18e46b000 - 0x18e92cfff CFNetwork arm64e  <7072273c58d23dc29e98a6ed768544d8> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x18f440000 - 0x18f74afff Foundation arm64e  <ac6ad2f3c7b138aa858857036a663180> /System/Library/Frameworks/Foundation.framework/Foundation
0x1900c6000 - 0x191961fff UIKitCore arm64e  <3ed35565456d33cbb5546c567fa81585> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x197270000 - 0x19729afff AudioSession arm64e  <517338a283153b61b47f5cb914d4fcec> /System/Library/PrivateFrameworks/AudioSession.framework/AudioSession
0x198dcb000 - 0x198e4afff libsystem_c.dylib arm64e  <9bd1e19940a33e4a8a78271281c0cf0d> /usr/lib/system/libsystem_c.dylib
0x1a9d9d000 - 0x1a9da5fff GraphicsServices arm64e  <260f066ec5de3844967e483985448f21> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x1c5873000 - 0x1c58a8fff libsystem_kernel.dylib arm64e  <1db00c916ad8384085030c6fbffa8e0b> /usr/lib/system/libsystem_kernel.dylib
0x1ff5a3000 - 0x1ff5aefff libsystem_pthread.dylib arm64e  <1026e3a4d3c03b0da552f185d6772a29> /usr/lib/system/libsystem_pthread.dylib

EOF

Solution

  • Take a look at App Center Diagnostics from Microsoft. It's free to use and very easy to integrate in your app.

    With that up and running, you'll be able to see any crashes that are reported via the App Center dashboard with a managed stack trace to help pinpoint the problem.

    Sometimes though the crash occurs in non-managed code (either due to a bug in iOS or Xamarin itself), in which case you still end up with a crash report similiar to what you posted in your question so it's not a silver buller to solve all crashes, but it can certainly help.