1

I have a native B2B application distributed via an MDM to several locations across the US, the units are on 24/7 and are public terminals for people to use. The application is also locked into place with Guided Access.

In the past few weeks we have been having issues where the application will freeze, and I've been banging my head against the wall trying to figure out why. It is mostly happening on Cellular iPads, but not exclusively. There's no specific place in the application where it freezes either, so I'm unsure if there could be anything in particular blocking the main thread.

I have been unable to make it freeze in house, it's only happening in the field. And have tried everything to get it to freeze, by automating hundreds of actions, changing the network limiter to see if there's a call in the background thats not handled correctly. I have run through instruments to see if the iPad is running out of memory, but I'd assume that would cause the application to crash instead of freeze.

I have added more logging, as well as the New Relic mobile SDK to try and catch something, but I don't see anything out of the ordinary.

It was working just fine and then these iPads auto updated to 14.4-14.6.

Does anyone have any ideas on what the cause could be or if those iPadOS versions are buggy? Any suggestions would be super helpful, this is driving me insane.

UPDATE:

I've gotten it to freeze, here is where it goes when I pause

Backtrace:

 * 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) 

enter image description here

Mark
  • 148
  • 3
  • 14

0 Answers0