I'm trying to debug a crash for which I do not know the cause. Unfortunately, all I have is a stack trace I have retrieved from Crashlytics, and there is little evidence I can find of my app causing this to happen, so unfortunately I cannot provide any concrete code examples, I'm posting here for the sheer hope that someone has run into this before.
I'm seeing in all of the associated crash stack traces I've collected via Crashlytics that it's crashing on a thread titled "com.apple.avkit.seekQueue". The output looks as thus:
Crashed: com.apple.avkit.seekQueue
0 libobjc.A.dylib 0x18c3e17f4 objc_object::release() + 8
1 libsystem_blocks.dylib 0x18c86fa68 _Block_release + 160
2 libdispatch.dylib 0x18c81a9a0 _dispatch_client_callout + 16
3 libdispatch.dylib 0x18c828ad4 _dispatch_queue_serial_drain + 928
4 libdispatch.dylib 0x18c81e2cc _dispatch_queue_invoke + 884
5 libdispatch.dylib 0x18c828fa8 _dispatch_queue_override_invoke + 344
6 libdispatch.dylib 0x18c82aa50 _dispatch_root_queue_drain + 540
7 libdispatch.dylib 0x18c82a7d0 _dispatch_worker_thread3 + 124
8 libsystem_pthread.dylib 0x18ca23100 _pthread_wqthread + 1096
9 libsystem_pthread.dylib 0x18ca22cac start_wqthread + 4
The exception I see thanks to Crashlytics is EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000020. From this I can only presume that there is an AVPlayer doing something to a deallocated or restricted memory address, but the stack trace doesn't reveal any other entry points into my app other than main.m in the main thread.
FWIW, Crashlytics also recommends the following:
The stack trace indicates that heap corruption may have caused your app to crash. Memory corruption can occur pretty easily from freeing a dangling pointer, a thread race, or bad pointer arithmetic. The important thing to keep in mind is that the resulting crash may happen long after the initial corruption. As a result, the stack trace for this crash might not provide any clues to the location of the bug in your code.
Having said all that, does anyone have any insight as to what might be causing this, how I can debug this, or even if it might be an issue with AVKit?