Hello everyone,
We've been using structured concurrency successfully for the last two months, but after upgrading to Xcode 14.3, we've been experiencing crashes on iOS 15.0/15.1 that we suspect may be related to the new release.
Specifically, we've noticed that some of our code that previously worked well with structured concurrency is now causing crashes on iOS 15.0. We've tried debugging the issue but have been unable to find a solution. As crashes happen only in iOS 15.x our guess was that there possible issue with a back-deploying.
We wanted to reach out to the community to see if anyone else has experienced similar issues or if anyone has any suggestions on how to resolve the problem.
The stack traces are also not super detailed:
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000017
Crashed: com.apple.root.user-initiated-qos.cooperative
0 libdispatch.dylib 0x2a6d4 _voucher_xref_dispose + 108
1 libdispatch.dylib 0x6ed8 _dispatch_set_priority_and_voucher_slow + 272
2 libdispatch.dylib 0x16638 _dispatch_worker_thread2 + 228
3 libsystem_pthread.dylib 0x10b8 _pthread_wqthread + 228
4 libsystem_pthread.dylib 0xe94 start_wqthread + 8
EXC_BAD_ACCESS KERN_PROTECTION_FAILURE 0x000000016ddec000
Crashed: com.apple.root.user-initiated-qos.cooperative
0 libdispatch.dylib 0x15d38 _dispatch_root_queue_drain + 244
1 libdispatch.dylib 0x165f8 _dispatch_worker_thread2 + 164
2 libsystem_pthread.dylib 0x10b8 _pthread_wqthread + 228
3 libsystem_pthread.dylib 0xe94 start_wqthread + 8
Another crash that point to back deploying code is this:
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000010
Crashed: com.apple.root.user-initiated-qos.cooperative
0 libswiftCore.dylib 0x3128ac swift_task_exitThreadLocalContext + 48
1 RedditApp 0x3ef18c8 swift::AsyncTask::waitFuture(swift::AsyncTask*, swift::AsyncContext*, void (swift::AsyncContext* swift_async_context) swiftasynccall*, swift::AsyncContext*, swift::OpaqueValue*) + 782476
2 RedditApp 0x3ef1b18 swift::swift56override_swift_task_future_wait_throwing(swift::OpaqueValue*, swift::AsyncContext*, swift::AsyncTask*, void (swift::AsyncContext* swift_async_context, void* swift_context) swiftasynccall*, swift::AsyncContext*, void (swift::OpaqueValue*, swift::AsyncContext* swift_async_context, swift::AsyncTask*, void* swift_context, swift::AsyncContext*) swiftasynccall*) + 783068
3 libswift_Concurrency.dylib 0x2e910 swift::runJobInEstablishedExecutorContext(swift::Job*) + 336
4 libswift_Concurrency.dylib 0x2f694 swift_job_runImpl(swift::Job*, swift::ExecutorRef) + 68
5 libdispatch.dylib 0x48d5c _dispatch_root_queue_drain + 328
6 libdispatch.dylib 0x4951c _dispatch_worker_thread2 + 160
7 libsystem_pthread.dylib 0x1d40 _pthread_wqthread + 224
8 libsystem_pthread.dylib 0x18a8 start_wqthread + 8
Is anyone saw something similar?