App deadlocks on iPadOS 14.4-14.6

We have a B2B app that is distributed to several places in the US, the application is a POS and is on 24/7. Recently it has started deadlocking in the field at various of our locations in random places through out the app. We noticed the deadlocking happens on iPadOS versions 14.4-14.6 (we haven't tested 14.7 yet) and I've been trying everything I can to find out why.

I've only gotten it to freeze in one spot of the app a few times. But still unsure of the cause, the steps I did to make it freeze don't work every time so it's a bit hard to recreate, but it seems to happen during poor cell connection when 2 requests are sent a few second after each other.

 * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00000001c87e6908 libsystem_kernel.dylib`mach_msg_trap + 8
    frame #1: 0x00000001c87e5d0c libsystem_kernel.dylib`mach_msg + 72
    frame #2: 0x000000019d05be00 CoreFoundation`__CFRunLoopServiceMachPort + 368
    frame #3: 0x000000019d056200 CoreFoundation`__CFRunLoopRun + 1184
    frame #4: 0x000000019d055818 CoreFoundation`CFRunLoopRunSpecific + 572
    frame #5: 0x00000001b375b570 GraphicsServices`GSEventRunModal + 160
    frame #6: 0x000000019f9810e8 UIKitCore`-[UIApplication _run] + 1052
    frame #7: 0x000000019f986664 UIKitCore`UIApplicationMain + 164
    frame #8: 0x0000000102b8e538 Application`main(argc=<unavailable>, argv=<unavailable>) at main.m:14:16 [opt]
    frame #9: 0x000000019cd34140 libdyld.dylib`start + 4
 
* thread #3, name = 'gputools.smt_poll.0x2838a1e20'
  * frame #0: 0x00000001c880ab54 libsystem_kernel.dylib`__semwait_signal + 8
    frame #1: 0x00000001a5cfead4 libsystem_c.dylib`nanosleep + 212
    frame #2: 0x00000001a5cfe9ac libsystem_c.dylib`usleep + 64
    frame #3: 0x000000010993e5cc GPUToolsCore`smt_poll_thread_entry(void*) + 144
    frame #4: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #4, name = 'gputools.smt_poll.0x28389eec0'
  * frame #0: 0x00000001c880ab54 libsystem_kernel.dylib`__semwait_signal + 8
    frame #1: 0x00000001a5cfead4 libsystem_c.dylib`nanosleep + 212
    frame #2: 0x00000001a5cfe9ac libsystem_c.dylib`usleep + 64
    frame #3: 0x0000000103c36fe8 libMTLCapture.dylib`___lldb_unnamed_symbol2228$$libMTLCapture.dylib + 104
    frame #4: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #9, name = 'com.apple.uikit.eventfetch-thread'
  * frame #0: 0x00000001c87e6908 libsystem_kernel.dylib`mach_msg_trap + 8
    frame #1: 0x00000001c87e5d0c libsystem_kernel.dylib`mach_msg + 72
    frame #2: 0x000000019d05be00 CoreFoundation`__CFRunLoopServiceMachPort + 368
    frame #3: 0x000000019d056200 CoreFoundation`__CFRunLoopRun + 1184
    frame #4: 0x000000019d055818 CoreFoundation`CFRunLoopRunSpecific + 572
    frame #5: 0x000000019e2b2094 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 228
    frame #6: 0x000000019e2b1f74 Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 88
    frame #7: 0x000000019fa2dc28 UIKitCore`-[UIEventFetcher threadMain] + 504
    frame #8: 0x000000019e40edb0 Foundation`__NSThread__start__ + 848
    frame #9: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #11
  * frame #0: 0x00000001c880a580 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x00000001e4a31308 libsystem_pthread.dylib`_pthread_cond_wait$VARIANT$mp + 1236
    frame #2: 0x00000001b0eb1a20 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24
    frame #3: 0x00000001054ec4d0 NewRelic`___lldb_unnamed_symbol3677$$NewRelic + 240
    frame #4: 0x00000001054eca60 NewRelic`___lldb_unnamed_symbol3699$$NewRelic + 28
    frame #5: 0x00000001054ecc08 NewRelic`___lldb_unnamed_symbol3702$$NewRelic + 72
    frame #6: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #12
  * frame #0: 0x00000001c880a580 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x00000001e4a31308 libsystem_pthread.dylib`_pthread_cond_wait$VARIANT$mp + 1236
    frame #2: 0x00000001b0eb1a20 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24
    frame #3: 0x00000001054ec4d0 NewRelic`___lldb_unnamed_symbol3677$$NewRelic + 240
    frame #4: 0x00000001054eca60 NewRelic`___lldb_unnamed_symbol3699$$NewRelic + 28
    frame #5: 0x00000001054ecc08 NewRelic`___lldb_unnamed_symbol3702$$NewRelic + 72
    frame #6: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #13
  * frame #0: 0x00000001c880a580 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x00000001e4a31308 libsystem_pthread.dylib`_pthread_cond_wait$VARIANT$mp + 1236
    frame #2: 0x00000001b0eb1a20 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24
    frame #3: 0x00000001054ec4d0 NewRelic`___lldb_unnamed_symbol3677$$NewRelic + 240
    frame #4: 0x00000001054eca60 NewRelic`___lldb_unnamed_symbol3699$$NewRelic + 28
    frame #5: 0x00000001054ecc08 NewRelic`___lldb_unnamed_symbol3702$$NewRelic + 72
    frame #6: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #14, name = 'AVAudioSession Notify Thread'
  * frame #0: 0x00000001c87e6908 libsystem_kernel.dylib`mach_msg_trap + 8
    frame #1: 0x00000001c87e5d0c libsystem_kernel.dylib`mach_msg + 72
    frame #2: 0x000000019d05be00 CoreFoundation`__CFRunLoopServiceMachPort + 368
    frame #3: 0x000000019d056200 CoreFoundation`__CFRunLoopRun + 1184
    frame #4: 0x000000019d055818 CoreFoundation`CFRunLoopRunSpecific + 572
    frame #5: 0x00000001a44dff18 AudioSession`GenericRunLoopThread::Entry(void*) + 156
    frame #6: 0x00000001a44e1e84 AudioSession`CAPThread::Entry(CAPThread*) + 88
    frame #7: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #15
  * frame #0: 0x00000001c87e6908 libsystem_kernel.dylib`mach_msg_trap + 8
    frame #1: 0x00000001c87e5d0c libsystem_kernel.dylib`mach_msg + 72
    frame #2: 0x000000019d05be00 CoreFoundation`__CFRunLoopServiceMachPort + 368
    frame #3: 0x000000019d056200 CoreFoundation`__CFRunLoopRun + 1184
    frame #4: 0x000000019d055818 CoreFoundation`CFRunLoopRunSpecific + 572
    frame #5: 0x000000019e2b2094 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 228
    frame #6: 0x0000000102f73758 Application`-[CH3_GenericChannelController keepThreadAlive](self=0x0000000280f89ad0, _cmd=<unavailable>) at CH3_GenericChannelController.mm:288:37 [opt]
    frame #7: 0x000000019e40edb0 Foundation`__NSThread__start__ + 848
    frame #8: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288
 
* thread #16 * frame #0: 0x00000001c87e6908 libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x00000001c87e5d0c libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x000000019d05be00 CoreFoundation`__CFRunLoopServiceMachPort + 368 frame #3: 0x000000019d056200 CoreFoundation`__CFRunLoopRun + 1184 frame #4: 0x000000019d055818 CoreFoundation`CFRunLoopRunSpecific + 572 frame #5: 0x000000019e2b2094 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 228 frame #6: 0x0000000102f73758 Application`-[CH3_GenericChannelController keepThreadAlive](self=0x0000000280f89ad0, _cmd=<unavailable>) at CH3_GenericChannelController.mm:288:37 [opt] frame #7: 0x000000019e40edb0 Foundation`__NSThread__start__ + 848 frame #8: 0x00000001e4a37c74 libsystem_pthread.dylib`_pthread_start + 288 * thread #48 * frame #0: 0x00000001e4a3c864 libsystem_pthread.dylib`start_wqthread * thread #77 * frame #0: 0x00000001e4a3c864 libsystem_pthread.dylib`start_wqthread * thread #83 * frame #0: 0x00000001e4a3c864 libsystem_pthread.dylib`start_wqthread * thread #84 * frame #0: 0x00000001e4a3c864 libsystem_pthread.dylib`start_wqthread (lldb)
App deadlocks on iPadOS 14.4-14.6
 
 
Q