Fatal Exception: NSInvalidArgumentException Application tried to present modally a view controller that is already being presented by

We never received customer report this crash, and we could not see during development phase

However we can see this crash quite often on crash analytics. I have gone through UIAlertController in code level, it always creates new one instead reusing it.

Please help me identify why this occurs?

Much appreciated

# Crashlytics - Stack trace
# Application: com.patientsafesolutions.patienttouchcomms
# Platform: apple
# Version: 4.13.1 (4.13.1.106)
# Issue: b35fbc20212ce7df4a01ac33f0ecdf6d
# Session: 2ecf1bdde30e402f9df795ea7681272b_DNE_0_v2
# Date: Thu Jun 27 2024 12:06:33 GMT-0400 (Eastern Daylight Time)

Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x83f20 __exceptionPreprocess
1  libobjc.A.dylib                0x16018 objc_exception_throw
2  UIKitCore                      0x56e154 -[UIViewController _presentViewController:withAnimationController:completion:]
3  UIKitCore                      0x8e9860 __63-[UIViewController _presentViewController:animated:completion:]_block_invoke_2
4  UIKitCore                      0x95540 +[UIView(Animation) performWithoutAnimation:]
5  UIKitCore                      0x56f858 __63-[UIViewController _presentViewController:animated:completion:]_block_invoke
6  UIKitCore                      0x311e14 -[_UIViewControllerTransitionCoordinator _applyBlocks:releaseBlocks:]
7  UIKitCore                      0x311ba4 -[_UIViewControllerTransitionContext _runAlongsideCompletions]
8  UIKitCore                      0x3119b8 -[_UIViewControllerTransitionContext completeTransition:]
9  UIKitCore                      0x9091c __UIVIEW_IS_EXECUTING_ANIMATION_COMPLETION_BLOCK__
10 UIKitCore                      0x1443b0 -[UIViewAnimationBlockDelegate _sendDeferredCompletion:]
11 libdispatch.dylib              0x213c _dispatch_call_block_and_release
12 libdispatch.dylib              0x3dd4 _dispatch_client_callout
13 libdispatch.dylib              0x125a4 _dispatch_main_queue_drain
14 libdispatch.dylib              0x121b8 _dispatch_main_queue_callback_4CF
15 CoreFoundation                 0x56710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
16 CoreFoundation                 0x53914 __CFRunLoopRun
17 CoreFoundation                 0x52cd8 CFRunLoopRunSpecific
18 GraphicsServices               0x11a8 GSEventRunModal
19 UIKitCore                      0x40a90c -[UIApplication _run]
20 UIKitCore                      0x4be9d0 UIApplicationMain
21 VoceraEdgeComms                0x6148 main + 15 (main.m:15)
22 ???                            0x1b4c3de4c (Missing)

Crashed: com.google.firebase.crashlytics.ios.exception
0  PTCore                         0xe2dc4 FIRCLSProcessRecordAllThreads + 180
1  PTCore                         0xe31a8 FIRCLSProcessRecordAllThreads + 1176
2  PTCore                         0xd96ec FIRCLSHandler + 48
3  PTCore                         0xd5204 __FIRCLSExceptionRecord_block_invoke + 92
4  libdispatch.dylib              0x3dd4 _dispatch_client_callout + 20
5  libdispatch.dylib              0x132c4 _dispatch_lane_barrier_sync_invoke_and_complete + 56
6  PTCore                         0xd499c FIRCLSExceptionRecord + 212
7  PTCore                         0xd4c94 FIRCLSExceptionRecordNSException + 536
8  PTCore                         0xd457c FIRCLSTerminateHandler() + 304
9  libc++abi.dylib                0x14068 std::__terminate(void (*)()) + 16
10 libc++abi.dylib                0x1400c std::terminate() + 108
11 libobjc.A.dylib                0x3cafc objc_terminate + 16
12 libdispatch.dylib              0x3de8 _dispatch_client_callout + 40
13 libdispatch.dylib              0x125a4 _dispatch_main_queue_drain + 988
14 libdispatch.dylib              0x121b8 _dispatch_main_queue_callback_4CF + 44
15 CoreFoundation                 0x56710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
16 CoreFoundation                 0x53914 __CFRunLoopRun + 1996
17 CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
18 GraphicsServices               0x11a8 GSEventRunModal + 164
19 UIKitCore                      0x40a90c -[UIApplication _run] + 888
20 UIKitCore                      0x4be9d0 UIApplicationMain + 340
21 VoceraEdgeComms                0x6148 main + 15 (main.m:15)
22 ???                            0x1b4c3de4c (Missing)

com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x1808 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x5008 mach_msg2_internal + 80
2  libsystem_kernel.dylib         0x4f20 mach_msg_overwrite + 436
3  libsystem_kernel.dylib         0x4d60 mach_msg + 24
4  CoreFoundation                 0x53f5c __CFRunLoopServiceMachPort + 160
5  CoreFoundation                 0x53600 __CFRunLoopRun + 1208
6  CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
7  Foundation                     0xc7e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
8  Foundation                     0xc7c9c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64
9  UIKitCore                      0x41e640 -[UIEventFetcher threadMain] + 420
10 Foundation                     0xde718 __NSThread__start__ + 732
11 libsystem_pthread.dylib        0x606c _pthread_start + 136
12 libsystem_pthread.dylib        0x10d8 thread_start + 8

com.google.firebase.crashlytics.MachExceptionServer
0  libsystem_kernel.dylib         0x1808 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x5008 mach_msg2_internal + 80
2  libsystem_kernel.dylib         0x4f20 mach_msg_overwrite + 436
3  libsystem_kernel.dylib         0x4d60 mach_msg + 24
4  PTCore                         0xdbce4 FIRCLSMachExceptionServer + 104
5  libsystem_pthread.dylib        0x606c _pthread_start + 136
6  libsystem_pthread.dylib        0x10d8 thread_start + 8

com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0x1808 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x5008 mach_msg2_internal + 80
2  libsystem_kernel.dylib         0x4f20 mach_msg_overwrite + 436
3  libsystem_kernel.dylib         0x4d60 mach_msg + 24
4  CoreFoundation                 0x53f5c __CFRunLoopServiceMachPort + 160
5  CoreFoundation                 0x53600 __CFRunLoopRun + 1208
6  CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
7  CFNetwork                      0xfdc90 _CFHostIsDomainTopLevel + 108176
8  Foundation                     0xde718 __NSThread__start__ + 732
9  libsystem_pthread.dylib        0x606c _pthread_start + 136
10 libsystem_pthread.dylib        0x10d8 thread_start + 8

com.apple.CFSocket.private
0  libsystem_kernel.dylib         0x9474 select$DARWIN_EXTSN + 8
1  libsystem_kernel.dylib         0x9474 __select + 8
2  CoreFoundation                 0xbeb7c __CFSocketManager + 640
3  libsystem_pthread.dylib        0x606c _pthread_start + 136
4  libsystem_pthread.dylib        0x10d8 thread_start + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_pthread.dylib        0x10c4 start_wqthread + 8292204738

Thread
0  libsystem_pthread.dylib        0x10c4 start_wqthread + 8292204738

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0x1590 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x4980 _pthread_wqthread + 364
2  libsystem_pthread.dylib        0x10cc start_wqthread + 8

GCDAsyncSocket-CFStream
0  libsystem_kernel.dylib         0x1808 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x5008 mach_msg2_internal + 80
2  libsystem_kernel.dylib         0x4f20 mach_msg_overwrite + 436
3  libsystem_kernel.dylib         0x4d60 mach_msg + 24
4  CoreFoundation                 0x53f5c __CFRunLoopServiceMachPort + 160
5  CoreFoundation                 0x53600 __CFRunLoopRun + 1208
6  CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
7  Foundation                     0xc7e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
8  PTComms                        0xd0de8 +[GCDAsyncSocket cfstreamThread] + 556
9  Foundation                     0xde718 __NSThread__start__ + 732
10 libsystem_pthread.dylib        0x606c _pthread_start + 136
11 libsystem_pthread.dylib        0x10d8 thread_start + 8
Fatal Exception: NSInvalidArgumentException Application tried to present modally a view controller that is already being presented by
 
 
Q