EXC_CRASH from NSManagedObjectContext executeFetchRequest

Hello,

I have an iOS app for which I've received a number of similar crash reports over the last few months. Despite a lot of effort, I haven't been able to replicate the crash myself and I'm finding it difficult to diagnose.

The main view of the app loads a list of items from Core Data using @FetchRequest and looking at the logs it appears to me that this is the most likely source of the crash as the call stack includes SwiftUI 0x19c78c368 FetchRequest.update() + 472 (FetchRequest.swift:406). It also appears as if this happens on launch as the crash times and launch times are always very similar.

I've attempted lots of things to try and replicate the crash, such as launching the app a lot of times, creating lots of items so that the fetch request has a lot of data to retrieve, performing any other database related actions in the app immediately after launch to try and drive out any concurrency issues and simulating degraded thermal and network conditions for the device.

I've included a sample crash report, I'd be very grateful if anyone has any suggestions for diagnosing the issue.

Incident Identifier: 2707B100-3729-42C4-B455-AFEFEB04727C
Distributor ID:      com.apple.AppStore
Hardware Model:      iPhone14,7
Process:             FitKick [11745]
Path:                /private/var/containers/Bundle/Application/7D154E45-53DF-4DA5-819C-25AB9E092C5B/FitKick.app/FitKick
Identifier:          com.sportsoft.fitkick
Version:             2.10 (5)
AppStoreTools:       15F31e
AppVariant:          1:iPhone14,7:16
Code Type:           ARM-64 (Native)
Role:                Non UI
Parent Process:      launchd [1]
Coalition:           com.sportsoft.fitkick [3728]

Date/Time:           2024-07-22 20:03:08.3984 +0100
Launch Time:         2024-07-22 20:03:07.5817 +0100
OS Version:          iPhone OS 17.5.1 (21F90)
Release Type:        User
Baseband Version:    2.60.02
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: FitKick [11745]

Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                	0x197248f20 __exceptionPreprocess + 164 (NSException.m:249)
1   libobjc.A.dylib               	0x18f0de018 objc_exception_throw + 60 (objc-exception.mm:356)
2   CoreData                      	0x19f342d88 -[NSManagedObjectContext executeFetchRequest:error:] + 832 (NSManagedObjectContext.m:0)
3   CoreData                      	0x19f3e8b18 __43-[NSFetchedResultsController performFetch:]_block_invoke + 324 (NSFetchedResultsController.m:469)
4   CoreData                      	0x19f3390dc developerSubmittedBlockToNSManagedObjectContextPerform + 156 (NSManagedObjectContext.m:3985)
5   CoreData                      	0x19f3af0ec -[NSManagedObjectContext performBlockAndWait:] + 208 (NSManagedObjectContext.m:4096)
6   CoreData                      	0x19f3ae600 -[NSFetchedResultsController _recursivePerformBlockAndWait:withContext:] + 152 (NSFetchedResultsController.m:548)
7   CoreData                      	0x19f3ae20c -[NSFetchedResultsController performFetch:] + 252 (NSFetchedResultsController.m:524)
8   SwiftUI                       	0x19ba636e8 FetchController.update(in:) + 1308 (FetchCommon.swift:72)
9   SwiftUI                       	0x19c78bf08 FetchRequest.update(_:) + 648 (FetchRequest.swift:418)
10  SwiftUI                       	0x19c78c368 FetchRequest.update() + 472 (FetchRequest.swift:406)
11  SwiftUI                       	0x19b1ebb70 EmbeddedDynamicPropertyBox.update(property:phase:) + 48 (DynamicProperty.swift:117)
12  SwiftUI                       	0x19b1e7504 static BoxVTable.update(ptr:property:phase:) + 396 (DynamicPropertyBuffer.swift:294)
13  SwiftUI                       	0x19b1e7320 _DynamicPropertyBuffer.update(container:phase:) + 104 (DynamicPropertyBuffer.swift:215)
14  SwiftUI                       	0x19b1e7294 closure #1 in closure #1 in DynamicBody.updateValue() + 104 (DynamicProperty.swift:447)
15  SwiftUI                       	0x19b1e7224 partial apply for closure #1 in closure #1 in DynamicBody.updateValue() + 28 (:0)
16  libswiftCore.dylib            	0x195b38068 withUnsafeMutablePointer(to:_:) + 28 (LifetimeManager.swift:82)
17  SwiftUI                       	0x19b261688 closure #1 in DynamicBody.updateValue() + 408 (DynamicProperty.swift:446)
18  SwiftUI                       	0x19b25f3bc DynamicBody.updateValue() + 712 (DynamicProperty.swift:445)
19  SwiftUI                       	0x19b211b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init<a>(_:) + 32 (:0)
20  AttributeGraph                	0x1bfe69010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
21  AttributeGraph                	0x1bfe68bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
22  AttributeGraph                	0x1bfe62cc0 AG::Graph::input_value_ref_slow(AG::data::ptr, AG::AttributeID, unsigned int, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 720 (ag-graph.cc:1429)
23  AttributeGraph                	0x1bfe62854 AGGraphGetValue + 228 (AGGraph.mm:701)
24  SwiftUI                       	0x19b220810 SubscriptionView.Subscriber.view.getter + 72 (SubscriptionView.swift:0)
25  SwiftUI                       	0x19b220568 SubscriptionView.Subscriber.updateValue() + 484 (SubscriptionView.swift:65)
26  SwiftUI                       	0x19b211b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init</a><a>(_:) + 32 (:0)
27  AttributeGraph                	0x1bfe69010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
28  AttributeGraph                	0x1bfe68bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
29  AttributeGraph                	0x1bfe687d8 AG::Subgraph::update(unsigned int) + 848 (ag-subgraph.cc:752)
30  SwiftUI                       	0x19b27b6f8 ViewGraph.updateOutputs() + 260 (ViewGraph.swift:611)
31  SwiftUI                       	0x19b27a88c closure #2 in closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 1268 (ViewRendererHost.swift:243)
32  SwiftUI                       	0x19b27964c closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 660 (ViewRendererHost.swift:235)
33  SwiftUI                       	0x19b277d7c ViewRendererHost.render(interval:updateDisplayList:) + 408 (:0)
34  SwiftUI                       	0x19b1690c4 closure #1 in _UIHostingView.requestImmediateUpdate() + 72 (_UIHostingView.swift:701)
35  SwiftUI                       	0x19b169050 thunk for @escaping @callee_guaranteed () -> () + 36 (:-1)
36  libdispatch.dylib             	0x19f0ec13c _dispatch_call_block_and_release + 32 (init.c:1530)
37  libdispatch.dylib             	0x19f0eddd4 _dispatch_client_callout + 20 (object.m:576)
38  libdispatch.dylib             	0x19f0fc5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
39  libdispatch.dylib             	0x19f0fc1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
40  CoreFoundation                	0x19721b710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
41  CoreFoundation                	0x197218914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
42  CoreFoundation                	0x197217cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
43  GraphicsServices              	0x1dc0c81a8 GSEventRunModal + 164 (GSEvent.c:2196)
44  UIKitCore                     	0x19985090c -[UIApplication _run] + 888 (UIApplication.m:3713)
45  UIKitCore                     	0x1999049d0 UIApplicationMain + 340 (UIApplication.m:5303)
46  SwiftUI                       	0x19b408148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
47  SwiftUI                       	0x19b3b4714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
48  SwiftUI                       	0x19b3c04d0 static App.main() + 132 (App.swift:114)
49  FitKick                       	0x1008eaeac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
50  FitKick                       	0x1008eaeac main + 64
51  dyld                          	0x1ba8c9e4c start + 2240 (dyldMain.cpp:1298)

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001e030342c __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001f40a2c0c pthread_kill + 268 (pthread.c:1721)
2   libsystem_c.dylib             	0x000000019f1a6ba0 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001f3fc0ca4 abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001f3fb0e5c demangling_terminate_handler() + 348 (cxa_default_handlers.cpp:77)
5   libobjc.A.dylib               	0x000000018f0f9e2c _objc_terminate() + 144 (objc-exception.mm:496)
6   libc++abi.dylib               	0x00000001f3fc0068 std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001f3fc000c std::terminate() + 108 (cxa_handlers.cpp:88)
8   libdispatch.dylib             	0x000000019f0edde8 _dispatch_client_callout + 40 (object.m:579)
9   libdispatch.dylib             	0x000000019f0fc5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
10  libdispatch.dylib             	0x000000019f0fc1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
11  CoreFoundation                	0x000000019721b710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
12  CoreFoundation                	0x0000000197218914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
13  CoreFoundation                	0x0000000197217cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
14  GraphicsServices              	0x00000001dc0c81a8 GSEventRunModal + 164 (GSEvent.c:2196)
15  UIKitCore                     	0x000000019985090c -[UIApplication _run] + 888 (UIApplication.m:3713)
16  UIKitCore                     	0x00000001999049d0 UIApplicationMain + 340 (UIApplication.m:5303)
17  SwiftUI                       	0x000000019b408148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
18  SwiftUI                       	0x000000019b3b4714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
19  SwiftUI                       	0x000000019b3c04d0 static App.main() + 132 (App.swift:114)
20  FitKick                       	0x00000001008eaeac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
21  FitKick                       	0x00000001008eaeac main + 64
22  dyld                          	0x00000001ba8c9e4c start + 2240 (dyldMain.cpp:1298)

Thread 1 name:
Thread 1:
0   dyld                          	0x00000001ba893c50 bool SwiftHashTable::equal(SwiftTypeProtocolConformanceLocationKey const&, SwiftTypeProtocolConformanceLocationKey ... + 0 (OptimizerSwift.cpp:221)
1   dyld                          	0x00000001ba893b2c unsigned int SwiftHashTable::getIndex(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 156 (OptimizerSwift.h:335)
2   dyld                          	0x00000001ba893a4c unsigned int SwiftHashTable::getPotentialTarget(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const... + 24 (OptimizerSwift.h:306)
3   dyld                          	0x00000001ba8938c8 dyld4::APIs::_dyld_find_protocol_conformance(void const*, void const*, void const*) const + 172 (DyldAPIs.cpp:2649)
4   libswiftCore.dylib            	0x0000000195ee3f74 swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 1828 (ProtocolConformance.cpp:1011)
5   libswiftCore.dylib            	0x0000000195ee2b48 swift_conformsToProtocolCommon + 136 (CompatibilityOverrideRuntime.def:179)
6   libswiftCore.dylib            	0x0000000195e869f0 swift::_conformsToProtocol(swift::OpaqueValue const*, swift::TargetMetadata const*, swift::TargetProtocolDescriptorRef, swift::TargetWitnessTable>, __swift::__runtime::llvm::SmallVectorImpl&, std::__1::... + 7484 (ProtocolConformance.cpp:1607)
8   libswiftCore.dylib            	0x0000000195edf818 swift::TargetProtocolConformanceDescriptor::getWitnessTable(swift::TargetMetadata const*) const + 304 (ProtocolConformance.cpp:333)
9   libswiftCore.dylib            	0x0000000195ee44fc swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 3244 (ProtocolConformance.cpp:1052)
10  libswiftCore.dylib            	0x0000000195ee28b4 swift_conformsToProtocol + 156 (CompatibilityOverrideRuntime.def:169)
11  AttributeGraph                	0x00000001bfe659a8 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 184 (ag-value.cc:1140)
12  AttributeGraph                	0x00000001bfe657cc AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
13  AttributeGraph                	0x00000001bfe65358 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
14  AttributeGraph                	0x00000001bfe65220 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
15  AttributeGraph                	0x00000001bfe64c54 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
16  AttributeGraph                	0x00000001bfe7175c AG::(anonymous namespace)::TypeDescriptorCache::drain_queue(void*) + 348 (ag-value.cc:1700)
17  libdispatch.dylib             	0x000000019f0eddd4 _dispatch_client_callout + 20 (object.m:576)
18  libdispatch.dylib             	0x000000019f0ffa6c _dispatch_root_queue_drain + 864 (queue.c:7136)
19  libdispatch.dylib             	0x000000019f10009c _dispatch_worker_thread2 + 156 (queue.c:7204)
20  libsystem_pthread.dylib       	0x00000001f409f8f8 _pthread_wqthread + 228 (pthread.c:2709)
21  libsystem_pthread.dylib       	0x00000001f409c0cc start_wqthread + 8 (:-1)

Thread 2:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 3:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 4:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 5:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 6:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib        	0x00000001e02f8808 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001e02fc008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001e02fbf20 mach_msg_overwrite + 436 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001e02fbd60 mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x0000000197218f5c __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2624)
5   CoreFoundation                	0x0000000197218600 __CFRunLoopRun + 1208 (CFRunLoop.c:3007)
6   CoreFoundation                	0x0000000197217cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
7   Foundation                    	0x0000000196138e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8   Foundation                    	0x0000000196138c9c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9   UIKitCore                     	0x0000000199864640 -[UIEventFetcher threadMain] + 420 (UIEventFetcher.m:1207)
10  Foundation                    	0x000000019614f718 __NSThread__start__ + 732 (NSThread.m:991)
11  libsystem_pthread.dylib       	0x00000001f40a106c _pthread_start + 136 (pthread.c:931)
12  libsystem_pthread.dylib       	0x00000001f409c0d8 thread_start + 8 (:-1)

Thread 8:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 9 name:
Thread 9:
0   libsystem_kernel.dylib        	0x00000001e02fdab8 read + 8 (:-1)
1   Foundation                    	0x00000001960e3430 _NSReadFromFileDescriptorWithProgress + 196 (NSPlatform.m:603)
2   Foundation                    	0x00000001960e3204 _NSReadBytesFromFileWithExtendedAttributes + 804 (NSPlatform.m:867)
3   Foundation                    	0x00000001960e2e00 -[NSData(NSData) initWithContentsOfFile:options:maxLength:error:] + 132 (NSData.m:885)
4   Foundation                    	0x0000000196159d34 +[NSData(NSData) dataWithContentsOfURL:options:error:] + 52 (NSData.m:812)
5   WatchConnectivity             	0x000000021923d398 __40-[WCContentIndex loadContentIfNecessary]_block_invoke + 72 (WCContentIndex.m:68)
6   Foundation                    	0x000000019611cfdc -[NSFileCoordinator _invokeAccessor:thenCompletionHandler:] + 92 (NSFileCoordinator.m:433)
7   Foundation                    	0x000000019611fdd0 __73-[NSFileCoordinator coordinateReadingItemAtURL:options:error:byAccessor:]_block_invoke + 124 (NSFileCoordinator.m:466)
8   Foundation                    	0x000000019611fd2c __85-[NSFileCoordinator(NSPrivate) _coordinateReadingItemAtURL:options:error:byAccessor:]_block_invoke.197 + 152 (NSFileCoordinator.m:1045)
9   Foundation                    	0x000000019611ee20 -[NSFileCoordinator(NSPrivate) _withAccessArbiter:invokeAccessor:orDont:andRelinquishAccessClaim:] + 540 (NSFileCoordinator.m:970)
10  Foundation                    	0x000000019611c538 -[NSFileCoordinator(NSPrivate) _coordinateReadingItemAtURL:options:error:byAccessor:] + 816 (NSFileCoordinator.m:1040)
11  Foundation                    	0x000000019611c1e0 -[NSFileCoordinator coordinateReadingItemAtURL:options:error:byAccessor:] + 112 (NSFileCoordinator.m:463)
12  WatchConnectivity             	0x000000021923d18c -[WCContentIndex loadContentIfNecessary] + 592 (WCContentIndex.m:66)
13  WatchConnectivity             	0x000000021923ced0 -[WCContentIndex initWithContainingFolder:] + 160 (WCContentIndex.m:34)
14  WatchConnectivity             	0x0000000219246974 -[WCFileStorage enumerateUserInfoResultsWithBlock:] + 168 (WCFileStorage.m:466)
15  WatchConnectivity             	0x00000002192393c0 __47-[WCSession handleUserInfoResultWithPairingID:]_block_invoke_2 + 272 (WCSession.m:1437)
16  Foundation                    	0x000000019608dbe0 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24 (NSOperation.m:1545)
17  Foundation                    	0x000000019608daa0 -[NSBlockOperation main] + 104 (NSOperation.m:1564)
18  Foundation                    	0x000000019608d8a0 __NSOPERATION_IS_INVOKING_MAIN__ + 16 (NSOperation.m:2189)
19  Foundation                    	0x000000019608bb40 -[NSOperation start] + 648 (NSOperation.m:1406)
20  Foundation                    	0x0000000196110558 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 16 (NSOperation.m:2220)
21  Foundation                    	0x00000001961101a4 __NSOQSchedule_f + 172 (NSOperation.m:2231)
22  libdispatch.dylib             	0x000000019f0ec13c _dispatch_call_block_and_release + 32 (init.c:1530)
23  libdispatch.dylib             	0x000000019f0eddd4 _dispatch_client_callout + 20 (object.m:576)
24  libdispatch.dylib             	0x000000019f0f12d8 _dispatch_continuation_pop + 600 (queue.c:321)
25  libdispatch.dylib             	0x000000019f0f08f4 _dispatch_async_redirect_invoke + 584 (queue.c:845)
26  libdispatch.dylib             	0x000000019f0ff894 _dispatch_root_queue_drain + 392 (queue.c:7136)
27  libdispatch.dylib             	0x000000019f10009c _dispatch_worker_thread2 + 156 (queue.c:7204)
28  libsystem_pthread.dylib       	0x00000001f409f8f8 _pthread_wqthread + 228 (pthread.c:2709)
29  libsystem_pthread.dylib       	0x00000001f409c0cc start_wqthread + 8 (:-1)

Thread 10:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)


Thread 0 crashed with ARM Thread State (64-bit):
	x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
	x4: 0x00000001f3fc52c3   x5: 0x000000016f6264b0   x6: 0x000000000000006e   x7: 0x0000000000000000
	x8: 0x6eeac413c36b9bed   x9: 0x6eeac4123498652d  x10: 0x0000000000000200  x11: 0x000000016f625fe0
   x12: 0x0000000000000000  x13: 0x00000000001ff800  x14: 0x0000000000000010  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001f7f3fec0  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001f7f3ffa0  x22: 0x00000003030a2440  x23: 0x0000000000000114
   x24: 0x0000000000000000  x25: 0x00000001f7f3ffa0  x26: 0x00000003030a2440  x27: 0x000000000000000f
   x28: 0x0000000000000000   fp: 0x000000016f626420   lr: 0x00000001f40a2c0c
	sp: 0x000000016f626400   pc: 0x00000001e030342c cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
		0x1007d8000 -         0x100a97fff FitKick arm64  <1d623e5443393fe4bab96880b9a6909a> /private/var/containers/Bundle/Application/7D154E45-53DF-4DA5-819C-25AB9E092C5B/FitKick.app/FitKick
		0x102bec000 -         0x102bf7fff libobjc-trampolines.dylib arm64e  <2e2c05f8377a30899ad91926d284dd03> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
		0x18f0c8000 -         0x18f115f43 libobjc.A.dylib arm64e  <53115e1fe35330d99e8a4e6e73489f05> /usr/lib/libobjc.A.dylib
		0x195aec000 -         0x19603bfff libswiftCore.dylib arm64e   /usr/lib/swift/libswiftCore.dylib
		0x196071000 -         0x196be6fff Foundation arm64e  <3d3a12e3f5e9361fb00a4a5e8861aa55> /System/Library/Frameworks/Foundation.framework/Foundation
		0x1971c5000 -         0x1976f2fff CoreFoundation arm64e  <00e76a98210c3cb5930bf236807ff24c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
		0x199446000 -         0x19af66fff UIKitCore arm64e  <1741fa374e53371e8daed611aab0043d> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
		0x19b014000 -         0x19cdb2fff SwiftUI arm64e   /System/Library/Frameworks/SwiftUI.framework/SwiftUI
		0x19f0ea000 -         0x19f130fff libdispatch.dylib arm64e  <81d355df266a3010bab8113b76a206c1> /usr/lib/system/libdispatch.dylib
		0x19f131000 -         0x19f1aeff3 libsystem_c.dylib arm64e   /usr/lib/system/libsystem_c.dylib
		0x19f312000 -         0x19f68ffff CoreData arm64e  <9abf1b4453423a7997a4463b6dc9047c> /System/Library/Frameworks/CoreData.framework/CoreData
		0x1ba88d000 -         0x1ba919ef7 dyld arm64e  <71846eacee653697bf7d790b6a07dcdb> /usr/lib/dyld
		0x1bfe60000 -         0x1bfea4fff AttributeGraph arm64e   /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
		0x1dc0c7000 -         0x1dc0cffff GraphicsServices arm64e   /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
		0x1e02f7000 -         0x1e0330fef libsystem_kernel.dylib arm64e  <13b5134e819c3baab3004856112114cb> /usr/lib/system/libsystem_kernel.dylib
		0x1f3fac000 -         0x1f3fc7ffb libc++abi.dylib arm64e   /usr/lib/libc++abi.dylib
		0x1f409b000 -         0x1f40a7ff3 libsystem_pthread.dylib arm64e  <1196b6c3333d3450818ff3663484b8eb> /usr/lib/system/libsystem_pthread.dylib
		0x219223000 -         0x219260fff WatchConnectivity arm64e  <1ab4ddd692383965b744819f2916c8cc> /System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity

EOF</a>

are you doing anything with core data in background threads?

The main view of the app loads a list of items from Core Data using @FetchRequest and looking at the logs it appears to me that this is the most likely source of the crash as the call stack includes SwiftUI 0x19c78c368 FetchRequest.update() + 472 (FetchRequest.swift:406). It also appears as if this happens on launch as the crash times and launch times are always very similar.

This is just guesswork, but I do have two ideas.

A) Did you see and follow this warning:

"Always declare properties that have a fetch request wrapper as private. This lets the compiler help you avoid accidentally setting the property from the memberwise initializer of the enclosing view."

The documentation doesn't say this explicitly, but I think what they're warning about there is that it's posible to end up in a situation where the process of updating your interface based on a fetch request can end up accidentally modifying that data it's trying to display, which basically ends up rentering CoreData. I think this still trigger a crash in the same way calling "performBlockAndWait" inside a "performBlockAndWait" call would.

B) On the reproduction side, this is worth thinking about more:

"It also appears as if this happens on launch as the crash times and launch times are always very similar."

The work you're doing isn't what I'd associate with a "basic" app launch, so I suspect that this might be tied to some form of state restoration. Testing wise, I'd focus on putting your app into interesting/unusual state, not just "brute force" testing. Also, under "Settings.app-> Developer", there is a switch labeled "State Restoration Testing-> Fast App Termination" which could be very helpful here. Turning that on means that system will terminate your app whenever it suspends, forcing your app to restore state every time it comes to the foreground. That will let you test this code path while avoiding the disruption force quitting could cause.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Thanks for the help.

A) Did you see and follow this warning:

"Always declare properties that have a fetch request wrapper as private. This lets the compiler help you avoid accidentally setting the property from the memberwise initializer of the enclosing view."

The documentation doesn't say this explicitly, but I think what they're warning about there is that it's posible to end up in a situation where the process of updating your interface based on a fetch request can end up accidentally modifying that data it's trying to display, which basically ends up rentering CoreData. I think this still trigger a crash in the same way calling "performBlockAndWait" inside a "performBlockAndWait" call would.

On A), this is actually something I did relatively recently but unfortunately the crash is still being reported in the current version with this change in place. It did change the call stack in the crash reports slightly but nothing which added any additional context to help diagnose the issue.

B) On the reproduction side, this is worth thinking about more:

"It also appears as if this happens on launch as the crash times and launch times are always very similar." The work you're doing isn't what I'd associate with a "basic" app launch, so I suspect that this might be tied to some form of state restoration. Testing wise, I'd focus on putting your app into interesting/unusual state, not just "brute force" testing. Also, under "Settings.app-> Developer", there is a switch labeled "State Restoration Testing-> Fast App Termination" which could be very helpful here. Turning that on means that system will terminate your app whenever it suspends, forcing your app to restore state every time it comes to the foreground. That will let you test this code path while avoiding the disruption force quitting could cause.

For B), thanks for pointing me towards the 'Fast App Termination' setting, it's not something I was aware of and I've been using it today to try and trigger the crash. Unfortunately without success.

Looking further into the reports, it looks like although the majority of them occur on launch there are instances where it happens when the app has been suspended and opened again and even when the app is opened in the background (in response to a Watch Connectivity message). So it seems like it's something which isn't just limited to the app launching.

Unfortunately I'm still a bit stuck as I can't think of any other way to try and replicate the issue. At the moment the next thing I can think to try is to change @FetchRequest to use an NSFetchRequest and see if that shows anything different in future reports.

Looking further into the reports, it looks like although the majority of them occur on launch there are instances where it happens when the app has been suspended and opened again and even when the app is opened in the background (in response to a Watch Connectivity message). So it seems like it's something which isn't just limited to the app launching.

Are you sure this isn't about launching into the background? The log you sent showed WatchConnectivity activity, but it had also been running for a very short period of time AND the app was not in the foreground.

Triggering this bug may actually require three things:

  1. Your app to be in a particular configuration, section of the UI, etc.

  2. Needs to have been terminated so that it's state is restored on launch.

  3. Your app needs to be launched into the background, possibly even by WatchConnectivity.

The log you sent had a very short run time:

Date/Time: 2024-07-22 20:03:08.3984 +0100
Launch Time: 2024-07-22 20:03:07.5817 +0100

And was launched into the background:

Role: Non UI

Is that true of all logs? If not, what's different about the "exceptions"? What about logs that don't show WatchConnectivity?

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Are you sure this isn't about launching into the background? The log you sent showed WatchConnectivity activity, but it had also been running for a very short period of time AND the app was not in the foreground.

...

Is that true of all logs? If not, what's different about the "exceptions"? What about logs that don't show WatchConnectivity?

The logs seem to cover four scenarios, which are pretty much all the ways that the app supports opening.

I've attached sample crash logs for each scenario. The call stack of the crash is pretty much the same for all of them.

Foreground/Suspended

App is suspended and opened by the user. Launch time and crash time are different and other threads can show CoreData or WatchConnectivity usage as the app initialises both when it opens.

Foreground/Launch

App is launched by the user. Launch time and crash time are similar and other threads can show CoreData or WatchConnectivity usage as the app initialises both when it opens. Other threads almost always show CoreData usage from NSCloudKitMirroringDelegate _performSetupRequest.

Background/Suspended

App is suspended and opened in the background as a result of WatchConnectivity. Launch time and crash time are different and other threads only seem to show WatchConnectivity usage.

Background/Launch

App launched in the background as a result of WatchConnectivity. Launch time and crash time are similar and other threads only seem to show WatchConnectivity usage.

Incident Identifier: 59BF01B4-4A49-4B38-90CC-4ECBCDF6CAB9
Distributor ID:      com.apple.AppStore
Hardware Model:      iPhone15,4
Process:             FitKick [21427]
Path:                /private/var/containers/Bundle/Application/A1B1F3C2-DAFE-432B-A9CB-E9FDAF5B4D67/FitKick.app/FitKick
Identifier:          com.sportsoft.fitkick
Version:             2.10 (5)
AppStoreTools:       15F31e
AppVariant:          1:iPhone15,4:17
Code Type:           ARM-64 (Native)
Role:                Non UI
Parent Process:      launchd [1]
Coalition:           com.sportsoft.fitkick [4946]

Date/Time:           2024-07-01 21:41:03.0785 +0300
Launch Time:         2024-06-26 22:06:31.8587 +0300
OS Version:          iPhone OS 17.5.1 (21F90)
Release Type:        User
Baseband Version:    1.60.02
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: FitKick [21427]

Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                	0x19c2f8f20 __exceptionPreprocess + 164 (NSException.m:249)
1   libobjc.A.dylib               	0x194182018 objc_exception_throw + 60 (objc-exception.mm:356)
2   CoreData                      	0x1a43f2d88 -[NSManagedObjectContext executeFetchRequest:error:] + 832 (NSManagedObjectContext.m:0)
3   CoreData                      	0x1a4498b18 __43-[NSFetchedResultsController performFetch:]_block_invoke + 324 (NSFetchedResultsController.m:469)
4   CoreData                      	0x1a43e90dc developerSubmittedBlockToNSManagedObjectContextPerform + 156 (NSManagedObjectContext.m:3985)
5   CoreData                      	0x1a445f0ec -[NSManagedObjectContext performBlockAndWait:] + 208 (NSManagedObjectContext.m:4096)
6   CoreData                      	0x1a445e600 -[NSFetchedResultsController _recursivePerformBlockAndWait:withContext:] + 152 (NSFetchedResultsController.m:548)
7   CoreData                      	0x1a445e20c -[NSFetchedResultsController performFetch:] + 252 (NSFetchedResultsController.m:524)
8   SwiftUI                       	0x1a0b136e8 FetchController.update(in:) + 1308 (FetchCommon.swift:72)
9   SwiftUI                       	0x1a183bf08 FetchRequest.update(_:) + 648 (FetchRequest.swift:418)
10  SwiftUI                       	0x1a183c368 FetchRequest.update() + 472 (FetchRequest.swift:406)
11  SwiftUI                       	0x1a029bb70 EmbeddedDynamicPropertyBox.update(property:phase:) + 48 (DynamicProperty.swift:117)
12  SwiftUI                       	0x1a0297504 static BoxVTable.update(ptr:property:phase:) + 396 (DynamicPropertyBuffer.swift:294)
13  SwiftUI                       	0x1a0297320 _DynamicPropertyBuffer.update(container:phase:) + 104 (DynamicPropertyBuffer.swift:215)
14  SwiftUI                       	0x1a0297294 closure #1 in closure #1 in DynamicBody.updateValue() + 104 (DynamicProperty.swift:447)
15  SwiftUI                       	0x1a0297224 partial apply for closure #1 in closure #1 in DynamicBody.updateValue() + 28 (:0)
16  libswiftCore.dylib            	0x19abe8068 withUnsafeMutablePointer(to:_:) + 28 (LifetimeManager.swift:82)
17  SwiftUI                       	0x1a0311688 closure #1 in DynamicBody.updateValue() + 408 (DynamicProperty.swift:446)
18  SwiftUI                       	0x1a030f3bc DynamicBody.updateValue() + 712 (DynamicProperty.swift:445)
19  SwiftUI                       	0x1a02c1b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init<a>(_:) + 32 (:0)
20  AttributeGraph                	0x1c4f19010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
21  AttributeGraph                	0x1c4f18bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
22  AttributeGraph                	0x1c4f12cc0 AG::Graph::input_value_ref_slow(AG::data::ptr, AG::AttributeID, unsigned int, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 720 (ag-graph.cc:1429)
23  AttributeGraph                	0x1c4f12854 AGGraphGetValue + 228 (AGGraph.mm:701)
24  SwiftUI                       	0x1a02d0810 SubscriptionView.Subscriber.view.getter + 72 (SubscriptionView.swift:0)
25  SwiftUI                       	0x1a02d0568 SubscriptionView.Subscriber.updateValue() + 484 (SubscriptionView.swift:65)
26  SwiftUI                       	0x1a02c1b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init</a><a>(_:) + 32 (:0)
27  AttributeGraph                	0x1c4f19010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
28  AttributeGraph                	0x1c4f18bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
29  AttributeGraph                	0x1c4f187d8 AG::Subgraph::update(unsigned int) + 848 (ag-subgraph.cc:752)
30  SwiftUI                       	0x1a032b6f8 ViewGraph.updateOutputs() + 260 (ViewGraph.swift:611)
31  SwiftUI                       	0x1a032a88c closure #2 in closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 1268 (ViewRendererHost.swift:243)
32  SwiftUI                       	0x1a032964c closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 660 (ViewRendererHost.swift:235)
33  SwiftUI                       	0x1a0327d7c ViewRendererHost.render(interval:updateDisplayList:) + 408 (:0)
34  SwiftUI                       	0x1a02190c4 closure #1 in _UIHostingView.requestImmediateUpdate() + 72 (_UIHostingView.swift:701)
35  SwiftUI                       	0x1a0219050 thunk for @escaping @callee_guaranteed () -> () + 36 (:-1)
36  libdispatch.dylib             	0x1a419c13c _dispatch_call_block_and_release + 32 (init.c:1530)
37  libdispatch.dylib             	0x1a419ddd4 _dispatch_client_callout + 20 (object.m:576)
38  libdispatch.dylib             	0x1a41ac5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
39  libdispatch.dylib             	0x1a41ac1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
40  CoreFoundation                	0x19c2cb710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
41  CoreFoundation                	0x19c2c8914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
42  CoreFoundation                	0x19c2c7cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
43  GraphicsServices              	0x1e11781a8 GSEventRunModal + 164 (GSEvent.c:2196)
44  UIKitCore                     	0x19e90090c -[UIApplication _run] + 888 (UIApplication.m:3713)
45  UIKitCore                     	0x19e9b49d0 UIApplicationMain + 340 (UIApplication.m:5303)
46  SwiftUI                       	0x1a04b8148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
47  SwiftUI                       	0x1a0464714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
48  SwiftUI                       	0x1a04704d0 static App.main() + 132 (App.swift:114)
49  FitKick                       	0x1048f6eac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
50  FitKick                       	0x1048f6eac main + 64
51  dyld                          	0x1bf979e4c start + 2240 (dyldMain.cpp:1298)

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001e53b342c __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001f9152c0c pthread_kill + 268 (pthread.c:1721)
2   libsystem_c.dylib             	0x00000001a4256ba0 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001f9070ca4 abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001f9060e5c demangling_terminate_handler() + 348 (cxa_default_handlers.cpp:77)
5   libobjc.A.dylib               	0x000000019419de2c _objc_terminate() + 144 (objc-exception.mm:496)
6   libc++abi.dylib               	0x00000001f9070068 std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001f907000c std::terminate() + 108 (cxa_handlers.cpp:88)
8   libdispatch.dylib             	0x00000001a419dde8 _dispatch_client_callout + 40 (object.m:579)
9   libdispatch.dylib             	0x00000001a41ac5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
10  libdispatch.dylib             	0x00000001a41ac1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
11  CoreFoundation                	0x000000019c2cb710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
12  CoreFoundation                	0x000000019c2c8914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
13  CoreFoundation                	0x000000019c2c7cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
14  GraphicsServices              	0x00000001e11781a8 GSEventRunModal + 164 (GSEvent.c:2196)
15  UIKitCore                     	0x000000019e90090c -[UIApplication _run] + 888 (UIApplication.m:3713)
16  UIKitCore                     	0x000000019e9b49d0 UIApplicationMain + 340 (UIApplication.m:5303)
17  SwiftUI                       	0x00000001a04b8148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
18  SwiftUI                       	0x00000001a0464714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
19  SwiftUI                       	0x00000001a04704d0 static App.main() + 132 (App.swift:114)
20  FitKick                       	0x00000001048f6eac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
21  FitKick                       	0x00000001048f6eac main + 64
22  dyld                          	0x00000001bf979e4c start + 2240 (dyldMain.cpp:1298)

Thread 1:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 2:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 3 name:
Thread 3:
0   dyld                          	0x00000001bf9675bc bool SwiftHashTable::equal(SwiftForeignTypeProtocolConformanceLocationKey const&, SwiftForeignTypeProto... + 12 (OptimizerSwift.cpp:306)
1   dyld                          	0x00000001bf9674f4 unsigned int SwiftHashTable::getIndex(SwiftForeignTypeProtocolConformanceLookupKey const&, unsigned cha... + 156 (OptimizerSwift.h:335)
2   dyld                          	0x00000001bf967414 unsigned int SwiftHashTable::getPotentialTarget(SwiftForeignTypeProtocolConformanceLookupKey const&, un... + 24 (OptimizerSwift.h:306)
3   dyld                          	0x00000001bf967330 dyld4::APIs::_dyld_find_foreign_type_protocol_conformance(void const*, char const*, unsigned long) const + 160 (DyldAPIs.cpp:2732)
4   libswiftCore.dylib            	0x000000019af93d8c swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 1340 (ProtocolConformance.cpp:1011)
5   libswiftCore.dylib            	0x000000019af92b48 swift_conformsToProtocolCommon + 136 (CompatibilityOverrideRuntime.def:179)
6   libswiftCore.dylib            	0x000000019af369f0 swift::_conformsToProtocol(swift::OpaqueValue const*, swift::TargetMetadata const*, swift::TargetProtocolDescriptorRef, swift::TargetWitnessTable>, __swift::__runtime::llvm::SmallVectorImpl&, std::__1::... + 7484 (ProtocolConformance.cpp:1607)
8   libswiftCore.dylib            	0x000000019af8f818 swift::TargetProtocolConformanceDescriptor::getWitnessTable(swift::TargetMetadata const*) const + 304 (ProtocolConformance.cpp:333)
9   libswiftCore.dylib            	0x000000019af944fc swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 3244 (ProtocolConformance.cpp:1052)
10  libswiftCore.dylib            	0x000000019af928b4 swift_conformsToProtocol + 156 (CompatibilityOverrideRuntime.def:169)
11  AttributeGraph                	0x00000001c4f14ac8 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 184 (ag-value.cc:1543)
12  AttributeGraph                	0x00000001c4f14140 AG::(anonymous namespace)::TypeDescriptorCache::fetch(AG::swift::metadata const*, unsigned int, AG::LayoutDescriptor::HeapMode, int) + 344 (ag-value.cc:1651)
13  AttributeGraph                	0x00000001c4f15928 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 56 (ag-value.cc:1121)
14  AttributeGraph                	0x00000001c4f157cc AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
15  AttributeGraph                	0x00000001c4f15358 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
16  AttributeGraph                	0x00000001c4f15220 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
17  AttributeGraph                	0x00000001c4f14c54 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
18  AttributeGraph                	0x00000001c4f14140 AG::(anonymous namespace)::TypeDescriptorCache::fetch(AG::swift::metadata const*, unsigned int, AG::LayoutDescriptor::HeapMode, int) + 344 (ag-value.cc:1651)
19  AttributeGraph                	0x00000001c4f15928 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 56 (ag-value.cc:1121)
20  AttributeGraph                	0x00000001c4f157cc AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
21  AttributeGraph                	0x00000001c4f15358 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
22  AttributeGraph                	0x00000001c4f15220 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
23  AttributeGraph                	0x00000001c4f14c54 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
24  AttributeGraph                	0x00000001c4f14140 AG::(anonymous namespace)::TypeDescriptorCache::fetch(AG::swift::metadata const*, unsigned int, AG::LayoutDescriptor::HeapMode, int) + 344 (ag-value.cc:1651)
25  AttributeGraph                	0x00000001c4f15928 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 56 (ag-value.cc:1121)
26  AttributeGraph                	0x00000001c4f157cc AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
27  AttributeGraph                	0x00000001c4f15358 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
28  AttributeGraph                	0x00000001c4f15220 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
29  AttributeGraph                	0x00000001c4f14c54 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
30  AttributeGraph                	0x00000001c4f2175c AG::(anonymous namespace)::TypeDescriptorCache::drain_queue(void*) + 348 (ag-value.cc:1700)
31  libdispatch.dylib             	0x00000001a419ddd4 _dispatch_client_callout + 20 (object.m:576)
32  libdispatch.dylib             	0x00000001a41afa6c _dispatch_root_queue_drain + 864 (queue.c:7136)
33  libdispatch.dylib             	0x00000001a41b009c _dispatch_worker_thread2 + 156 (queue.c:7204)
34  libsystem_pthread.dylib       	0x00000001f914f8f8 _pthread_wqthread + 228 (pthread.c:2709)
35  libsystem_pthread.dylib       	0x00000001f914c0cc start_wqthread + 8 (:-1)

Thread 4:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 5:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 6:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib        	0x00000001e53a8808 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001e53ac008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001e53abf20 mach_msg_overwrite + 436 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001e53abd60 mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000019c2c8f5c __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2624)
5   CoreFoundation                	0x000000019c2c8600 __CFRunLoopRun + 1208 (CFRunLoop.c:3007)
6   CoreFoundation                	0x000000019c2c7cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
7   Foundation                    	0x000000019b1e8e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8   Foundation                    	0x000000019b1e8c9c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9   UIKitCore                     	0x000000019e914640 -[UIEventFetcher threadMain] + 420 (UIEventFetcher.m:1207)
10  Foundation                    	0x000000019b1ff718 __NSThread__start__ + 732 (NSThread.m:991)
11  libsystem_pthread.dylib       	0x00000001f915106c _pthread_start + 136 (pthread.c:931)
12  libsystem_pthread.dylib       	0x00000001f914c0d8 thread_start + 8 (:-1)

Thread 8:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 9:
0   libsystem_pthread.dylib       	0x00000001f914c0c4 start_wqthread + 0 (:-1)

Thread 10 name:
Thread 10:
0   libsystem_kernel.dylib        	0x00000001e53adab8 read + 8 (:-1)
1   Foundation                    	0x000000019b193430 _NSReadFromFileDescriptorWithProgress + 196 (NSPlatform.m:603)
2   Foundation                    	0x000000019b193204 _NSReadBytesFromFileWithExtendedAttributes + 804 (NSPlatform.m:867)
3   Foundation                    	0x000000019b192e00 -[NSData(NSData) initWithContentsOfFile:options:maxLength:error:] + 132 (NSData.m:885)
4   Foundation                    	0x000000019b209d34 +[NSData(NSData) dataWithContentsOfURL:options:error:] + 52 (NSData.m:812)
5   WatchConnectivity             	0x000000021e2ed398 __40-[WCContentIndex loadContentIfNecessary]_block_invoke + 72 (WCContentIndex.m:68)
6   Foundation                    	0x000000019b1ccfdc -[NSFileCoordinator _invokeAccessor:thenCompletionHandler:] + 92 (NSFileCoordinator.m:433)
7   Foundation                    	0x000000019b1cfdd0 __73-[NSFileCoordinator coordinateReadingItemAtURL:options:error:byAccessor:]_block_invoke + 124 (NSFileCoordinator.m:466)
8   Foundation                    	0x000000019b1cfd2c __85-[NSFileCoordinator(NSPrivate) _coordinateReadingItemAtURL:options:error:byAccessor:]_block_invoke.197 + 152 (NSFileCoordinator.m:1045)
9   Foundation                    	0x000000019b1cee20 -[NSFileCoordinator(NSPrivate) _withAccessArbiter:invokeAccessor:orDont:andRelinquishAccessClaim:] + 540 (NSFileCoordinator.m:970)
10  Foundation                    	0x000000019b1cc538 -[NSFileCoordinator(NSPrivate) _coordinateReadingItemAtURL:options:error:byAccessor:] + 816 (NSFileCoordinator.m:1040)
11  Foundation                    	0x000000019b1cc1e0 -[NSFileCoordinator coordinateReadingItemAtURL:options:error:byAccessor:] + 112 (NSFileCoordinator.m:463)
12  WatchConnectivity             	0x000000021e2ed18c -[WCContentIndex loadContentIfNecessary] + 592 (WCContentIndex.m:66)
13  WatchConnectivity             	0x000000021e2eced0 -[WCContentIndex initWithContainingFolder:] + 160 (WCContentIndex.m:34)
14  WatchConnectivity             	0x000000021e2f6974 -[WCFileStorage enumerateUserInfoResultsWithBlock:] + 168 (WCFileStorage.m:466)
15  WatchConnectivity             	0x000000021e2e93c0 __47-[WCSession handleUserInfoResultWithPairingID:]_block_invoke_2 + 272 (WCSession.m:1437)
16  Foundation                    	0x000000019b13dbe0 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24 (NSOperation.m:1545)
17  Foundation                    	0x000000019b13daa0 -[NSBlockOperation main] + 104 (NSOperation.m:1564)
18  Foundation                    	0x000000019b13d8a0 __NSOPERATION_IS_INVOKING_MAIN__ + 16 (NSOperation.m:2189)
19  Foundation                    	0x000000019b13bb40 -[NSOperation start] + 648 (NSOperation.m:1406)
20  Foundation                    	0x000000019b1c0558 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 16 (NSOperation.m:2220)
21  Foundation                    	0x000000019b1c01a4 __NSOQSchedule_f + 172 (NSOperation.m:2231)
22  libdispatch.dylib             	0x00000001a419c13c _dispatch_call_block_and_release + 32 (init.c:1530)
23  libdispatch.dylib             	0x00000001a419ddd4 _dispatch_client_callout + 20 (object.m:576)
24  libdispatch.dylib             	0x00000001a41a12d8 _dispatch_continuation_pop + 600 (queue.c:321)
25  libdispatch.dylib             	0x00000001a41a08f4 _dispatch_async_redirect_invoke + 584 (queue.c:845)
26  libdispatch.dylib             	0x00000001a41af894 _dispatch_root_queue_drain + 392 (queue.c:7136)
27  libdispatch.dylib             	0x00000001a41b009c _dispatch_worker_thread2 + 156 (queue.c:7204)
28  libsystem_pthread.dylib       	0x00000001f914f8f8 _pthread_wqthread + 228 (pthread.c:2709)
29  libsystem_pthread.dylib       	0x00000001f914c0cc start_wqthread + 8 (:-1)


Thread 0 crashed with ARM Thread State (64-bit):
	x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
	x4: 0x00000001f90752c3   x5: 0x000000016b61a4c0   x6: 0x000000000000006e   x7: 0x0000000000000000
	x8: 0xd6161d8caa6c0788   x9: 0xd6161d8d5692f948  x10: 0x0000000000000200  x11: 0x000000016b619ff0
   x12: 0x0000000000000000  x13: 0x00000000001ff800  x14: 0x0000000000000010  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001fcfefec0  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001fcfeffa0  x22: 0x00000003020e1280  x23: 0x0000000000000114
   x24: 0x0000000000000000  x25: 0x00000001fcfeffa0  x26: 0x00000003020e1280  x27: 0x000000000000000f
   x28: 0x0000000000000000   fp: 0x000000016b61a430   lr: 0x00000001f9152c0c
	sp: 0x000000016b61a410   pc: 0x00000001e53b342c cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
		0x1047e4000 -         0x104aa3fff FitKick arm64  <1d623e5443393fe4bab96880b9a6909a> /private/var/containers/Bundle/Application/A1B1F3C2-DAFE-432B-A9CB-E9FDAF5B4D67/FitKick.app/FitKick
		0x104f84000 -         0x104f8ffff libobjc-trampolines.dylib arm64e  <2e2c05f8377a30899ad91926d284dd03> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
		0x19416c000 -         0x1941b9f43 libobjc.A.dylib arm64e  <53115e1fe35330d99e8a4e6e73489f05> /usr/lib/libobjc.A.dylib
		0x19ab9c000 -         0x19b0ebfff libswiftCore.dylib arm64e   /usr/lib/swift/libswiftCore.dylib
		0x19b121000 -         0x19bc96fff Foundation arm64e  <3d3a12e3f5e9361fb00a4a5e8861aa55> /System/Library/Frameworks/Foundation.framework/Foundation
		0x19c275000 -         0x19c7a2fff CoreFoundation arm64e  <00e76a98210c3cb5930bf236807ff24c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
		0x19e4f6000 -         0x1a0016fff UIKitCore arm64e  <1741fa374e53371e8daed611aab0043d> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
		0x1a00c4000 -         0x1a1e62fff SwiftUI arm64e   /System/Library/Frameworks/SwiftUI.framework/SwiftUI
		0x1a419a000 -         0x1a41e0fff libdispatch.dylib arm64e  <81d355df266a3010bab8113b76a206c1> /usr/lib/system/libdispatch.dylib
		0x1a41e1000 -         0x1a425eff3 libsystem_c.dylib arm64e   /usr/lib/system/libsystem_c.dylib
		0x1a43c2000 -         0x1a473ffff CoreData arm64e  <9abf1b4453423a7997a4463b6dc9047c> /System/Library/Frameworks/CoreData.framework/CoreData
		0x1bf93d000 -         0x1bf9c9ef7 dyld arm64e  <71846eacee653697bf7d790b6a07dcdb> /usr/lib/dyld
		0x1c4f10000 -         0x1c4f54fff AttributeGraph arm64e   /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
		0x1e1177000 -         0x1e117ffff GraphicsServices arm64e   /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
		0x1e53a7000 -         0x1e53e0fef libsystem_kernel.dylib arm64e  <13b5134e819c3baab3004856112114cb> /usr/lib/system/libsystem_kernel.dylib
		0x1f905c000 -         0x1f9077ffb libc++abi.dylib arm64e   /usr/lib/libc++abi.dylib
		0x1f914b000 -         0x1f9157ff3 libsystem_pthread.dylib arm64e  <1196b6c3333d3450818ff3663484b8eb> /usr/lib/system/libsystem_pthread.dylib
		0x21e2d3000 -         0x21e310fff WatchConnectivity arm64e  <1ab4ddd692383965b744819f2916c8cc> /System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity

EOF
,</a>

Incident Identifier: 2707B100-3729-42C4-B455-AFEFEB04727C
Distributor ID:      com.apple.AppStore
Hardware Model:      iPhone14,7
Process:             FitKick [11745]
Path:                /private/var/containers/Bundle/Application/7D154E45-53DF-4DA5-819C-25AB9E092C5B/FitKick.app/FitKick
Identifier:          com.sportsoft.fitkick
Version:             2.10 (5)
AppStoreTools:       15F31e
AppVariant:          1:iPhone14,7:16
Code Type:           ARM-64 (Native)
Role:                Non UI
Parent Process:      launchd [1]
Coalition:           com.sportsoft.fitkick [3728]

Date/Time:           2024-07-22 20:03:08.3984 +0100
Launch Time:         2024-07-22 20:03:07.5817 +0100
OS Version:          iPhone OS 17.5.1 (21F90)
Release Type:        User
Baseband Version:    2.60.02
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: FitKick [11745]

Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                	0x197248f20 __exceptionPreprocess + 164 (NSException.m:249)
1   libobjc.A.dylib               	0x18f0de018 objc_exception_throw + 60 (objc-exception.mm:356)
2   CoreData                      	0x19f342d88 -[NSManagedObjectContext executeFetchRequest:error:] + 832 (NSManagedObjectContext.m:0)
3   CoreData                      	0x19f3e8b18 __43-[NSFetchedResultsController performFetch:]_block_invoke + 324 (NSFetchedResultsController.m:469)
4   CoreData                      	0x19f3390dc developerSubmittedBlockToNSManagedObjectContextPerform + 156 (NSManagedObjectContext.m:3985)
5   CoreData                      	0x19f3af0ec -[NSManagedObjectContext performBlockAndWait:] + 208 (NSManagedObjectContext.m:4096)
6   CoreData                      	0x19f3ae600 -[NSFetchedResultsController _recursivePerformBlockAndWait:withContext:] + 152 (NSFetchedResultsController.m:548)
7   CoreData                      	0x19f3ae20c -[NSFetchedResultsController performFetch:] + 252 (NSFetchedResultsController.m:524)
8   SwiftUI                       	0x19ba636e8 FetchController.update(in:) + 1308 (FetchCommon.swift:72)
9   SwiftUI                       	0x19c78bf08 FetchRequest.update(_:) + 648 (FetchRequest.swift:418)
10  SwiftUI                       	0x19c78c368 FetchRequest.update() + 472 (FetchRequest.swift:406)
11  SwiftUI                       	0x19b1ebb70 EmbeddedDynamicPropertyBox.update(property:phase:) + 48 (DynamicProperty.swift:117)
12  SwiftUI                       	0x19b1e7504 static BoxVTable.update(ptr:property:phase:) + 396 (DynamicPropertyBuffer.swift:294)
13  SwiftUI                       	0x19b1e7320 _DynamicPropertyBuffer.update(container:phase:) + 104 (DynamicPropertyBuffer.swift:215)
14  SwiftUI                       	0x19b1e7294 closure #1 in closure #1 in DynamicBody.updateValue() + 104 (DynamicProperty.swift:447)
15  SwiftUI                       	0x19b1e7224 partial apply for closure #1 in closure #1 in DynamicBody.updateValue() + 28 (:0)
16  libswiftCore.dylib            	0x195b38068 withUnsafeMutablePointer(to:_:) + 28 (LifetimeManager.swift:82)
17  SwiftUI                       	0x19b261688 closure #1 in DynamicBody.updateValue() + 408 (DynamicProperty.swift:446)
18  SwiftUI                       	0x19b25f3bc DynamicBody.updateValue() + 712 (DynamicProperty.swift:445)
19  SwiftUI                       	0x19b211b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init<a>(_:) + 32 (:0)
20  AttributeGraph                	0x1bfe69010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
21  AttributeGraph                	0x1bfe68bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
22  AttributeGraph                	0x1bfe62cc0 AG::Graph::input_value_ref_slow(AG::data::ptr, AG::AttributeID, unsigned int, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 720 (ag-graph.cc:1429)
23  AttributeGraph                	0x1bfe62854 AGGraphGetValue + 228 (AGGraph.mm:701)
24  SwiftUI                       	0x19b220810 SubscriptionView.Subscriber.view.getter + 72 (SubscriptionView.swift:0)
25  SwiftUI                       	0x19b220568 SubscriptionView.Subscriber.updateValue() + 484 (SubscriptionView.swift:65)
26  SwiftUI                       	0x19b211b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init</a><a>(_:) + 32 (:0)
27  AttributeGraph                	0x1bfe69010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
28  AttributeGraph                	0x1bfe68bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
29  AttributeGraph                	0x1bfe687d8 AG::Subgraph::update(unsigned int) + 848 (ag-subgraph.cc:752)
30  SwiftUI                       	0x19b27b6f8 ViewGraph.updateOutputs() + 260 (ViewGraph.swift:611)
31  SwiftUI                       	0x19b27a88c closure #2 in closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 1268 (ViewRendererHost.swift:243)
32  SwiftUI                       	0x19b27964c closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 660 (ViewRendererHost.swift:235)
33  SwiftUI                       	0x19b277d7c ViewRendererHost.render(interval:updateDisplayList:) + 408 (:0)
34  SwiftUI                       	0x19b1690c4 closure #1 in _UIHostingView.requestImmediateUpdate() + 72 (_UIHostingView.swift:701)
35  SwiftUI                       	0x19b169050 thunk for @escaping @callee_guaranteed () -> () + 36 (:-1)
36  libdispatch.dylib             	0x19f0ec13c _dispatch_call_block_and_release + 32 (init.c:1530)
37  libdispatch.dylib             	0x19f0eddd4 _dispatch_client_callout + 20 (object.m:576)
38  libdispatch.dylib             	0x19f0fc5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
39  libdispatch.dylib             	0x19f0fc1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
40  CoreFoundation                	0x19721b710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
41  CoreFoundation                	0x197218914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
42  CoreFoundation                	0x197217cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
43  GraphicsServices              	0x1dc0c81a8 GSEventRunModal + 164 (GSEvent.c:2196)
44  UIKitCore                     	0x19985090c -[UIApplication _run] + 888 (UIApplication.m:3713)
45  UIKitCore                     	0x1999049d0 UIApplicationMain + 340 (UIApplication.m:5303)
46  SwiftUI                       	0x19b408148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
47  SwiftUI                       	0x19b3b4714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
48  SwiftUI                       	0x19b3c04d0 static App.main() + 132 (App.swift:114)
49  FitKick                       	0x1008eaeac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
50  FitKick                       	0x1008eaeac main + 64
51  dyld                          	0x1ba8c9e4c start + 2240 (dyldMain.cpp:1298)

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001e030342c __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001f40a2c0c pthread_kill + 268 (pthread.c:1721)
2   libsystem_c.dylib             	0x000000019f1a6ba0 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001f3fc0ca4 abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001f3fb0e5c demangling_terminate_handler() + 348 (cxa_default_handlers.cpp:77)
5   libobjc.A.dylib               	0x000000018f0f9e2c _objc_terminate() + 144 (objc-exception.mm:496)
6   libc++abi.dylib               	0x00000001f3fc0068 std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001f3fc000c std::terminate() + 108 (cxa_handlers.cpp:88)
8   libdispatch.dylib             	0x000000019f0edde8 _dispatch_client_callout + 40 (object.m:579)
9   libdispatch.dylib             	0x000000019f0fc5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
10  libdispatch.dylib             	0x000000019f0fc1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
11  CoreFoundation                	0x000000019721b710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
12  CoreFoundation                	0x0000000197218914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
13  CoreFoundation                	0x0000000197217cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
14  GraphicsServices              	0x00000001dc0c81a8 GSEventRunModal + 164 (GSEvent.c:2196)
15  UIKitCore                     	0x000000019985090c -[UIApplication _run] + 888 (UIApplication.m:3713)
16  UIKitCore                     	0x00000001999049d0 UIApplicationMain + 340 (UIApplication.m:5303)
17  SwiftUI                       	0x000000019b408148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
18  SwiftUI                       	0x000000019b3b4714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
19  SwiftUI                       	0x000000019b3c04d0 static App.main() + 132 (App.swift:114)
20  FitKick                       	0x00000001008eaeac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
21  FitKick                       	0x00000001008eaeac main + 64
22  dyld                          	0x00000001ba8c9e4c start + 2240 (dyldMain.cpp:1298)

Thread 1 name:
Thread 1:
0   dyld                          	0x00000001ba893c50 bool SwiftHashTable::equal(SwiftTypeProtocolConformanceLocationKey const&, SwiftTypeProtocolConformanceLocationKey ... + 0 (OptimizerSwift.cpp:221)
1   dyld                          	0x00000001ba893b2c unsigned int SwiftHashTable::getIndex(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 156 (OptimizerSwift.h:335)
2   dyld                          	0x00000001ba893a4c unsigned int SwiftHashTable::getPotentialTarget(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const... + 24 (OptimizerSwift.h:306)
3   dyld                          	0x00000001ba8938c8 dyld4::APIs::_dyld_find_protocol_conformance(void const*, void const*, void const*) const + 172 (DyldAPIs.cpp:2649)
4   libswiftCore.dylib            	0x0000000195ee3f74 swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 1828 (ProtocolConformance.cpp:1011)
5   libswiftCore.dylib            	0x0000000195ee2b48 swift_conformsToProtocolCommon + 136 (CompatibilityOverrideRuntime.def:179)
6   libswiftCore.dylib            	0x0000000195e869f0 swift::_conformsToProtocol(swift::OpaqueValue const*, swift::TargetMetadata const*, swift::TargetProtocolDescriptorRef, swift::TargetWitnessTable>, __swift::__runtime::llvm::SmallVectorImpl&, std::__1::... + 7484 (ProtocolConformance.cpp:1607)
8   libswiftCore.dylib            	0x0000000195edf818 swift::TargetProtocolConformanceDescriptor::getWitnessTable(swift::TargetMetadata const*) const + 304 (ProtocolConformance.cpp:333)
9   libswiftCore.dylib            	0x0000000195ee44fc swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 3244 (ProtocolConformance.cpp:1052)
10  libswiftCore.dylib            	0x0000000195ee28b4 swift_conformsToProtocol + 156 (CompatibilityOverrideRuntime.def:169)
11  AttributeGraph                	0x00000001bfe659a8 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 184 (ag-value.cc:1140)
12  AttributeGraph                	0x00000001bfe657cc AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
13  AttributeGraph                	0x00000001bfe65358 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
14  AttributeGraph                	0x00000001bfe65220 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
15  AttributeGraph                	0x00000001bfe64c54 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
16  AttributeGraph                	0x00000001bfe7175c AG::(anonymous namespace)::TypeDescriptorCache::drain_queue(void*) + 348 (ag-value.cc:1700)
17  libdispatch.dylib             	0x000000019f0eddd4 _dispatch_client_callout + 20 (object.m:576)
18  libdispatch.dylib             	0x000000019f0ffa6c _dispatch_root_queue_drain + 864 (queue.c:7136)
19  libdispatch.dylib             	0x000000019f10009c _dispatch_worker_thread2 + 156 (queue.c:7204)
20  libsystem_pthread.dylib       	0x00000001f409f8f8 _pthread_wqthread + 228 (pthread.c:2709)
21  libsystem_pthread.dylib       	0x00000001f409c0cc start_wqthread + 8 (:-1)

Thread 2:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 3:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 4:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 5:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 6:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib        	0x00000001e02f8808 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001e02fc008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001e02fbf20 mach_msg_overwrite + 436 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001e02fbd60 mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x0000000197218f5c __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2624)
5   CoreFoundation                	0x0000000197218600 __CFRunLoopRun + 1208 (CFRunLoop.c:3007)
6   CoreFoundation                	0x0000000197217cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
7   Foundation                    	0x0000000196138e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8   Foundation                    	0x0000000196138c9c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9   UIKitCore                     	0x0000000199864640 -[UIEventFetcher threadMain] + 420 (UIEventFetcher.m:1207)
10  Foundation                    	0x000000019614f718 __NSThread__start__ + 732 (NSThread.m:991)
11  libsystem_pthread.dylib       	0x00000001f40a106c _pthread_start + 136 (pthread.c:931)
12  libsystem_pthread.dylib       	0x00000001f409c0d8 thread_start + 8 (:-1)

Thread 8:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)

Thread 9 name:
Thread 9:
0   libsystem_kernel.dylib        	0x00000001e02fdab8 read + 8 (:-1)
1   Foundation                    	0x00000001960e3430 _NSReadFromFileDescriptorWithProgress + 196 (NSPlatform.m:603)
2   Foundation                    	0x00000001960e3204 _NSReadBytesFromFileWithExtendedAttributes + 804 (NSPlatform.m:867)
3   Foundation                    	0x00000001960e2e00 -[NSData(NSData) initWithContentsOfFile:options:maxLength:error:] + 132 (NSData.m:885)
4   Foundation                    	0x0000000196159d34 +[NSData(NSData) dataWithContentsOfURL:options:error:] + 52 (NSData.m:812)
5   WatchConnectivity             	0x000000021923d398 __40-[WCContentIndex loadContentIfNecessary]_block_invoke + 72 (WCContentIndex.m:68)
6   Foundation                    	0x000000019611cfdc -[NSFileCoordinator _invokeAccessor:thenCompletionHandler:] + 92 (NSFileCoordinator.m:433)
7   Foundation                    	0x000000019611fdd0 __73-[NSFileCoordinator coordinateReadingItemAtURL:options:error:byAccessor:]_block_invoke + 124 (NSFileCoordinator.m:466)
8   Foundation                    	0x000000019611fd2c __85-[NSFileCoordinator(NSPrivate) _coordinateReadingItemAtURL:options:error:byAccessor:]_block_invoke.197 + 152 (NSFileCoordinator.m:1045)
9   Foundation                    	0x000000019611ee20 -[NSFileCoordinator(NSPrivate) _withAccessArbiter:invokeAccessor:orDont:andRelinquishAccessClaim:] + 540 (NSFileCoordinator.m:970)
10  Foundation                    	0x000000019611c538 -[NSFileCoordinator(NSPrivate) _coordinateReadingItemAtURL:options:error:byAccessor:] + 816 (NSFileCoordinator.m:1040)
11  Foundation                    	0x000000019611c1e0 -[NSFileCoordinator coordinateReadingItemAtURL:options:error:byAccessor:] + 112 (NSFileCoordinator.m:463)
12  WatchConnectivity             	0x000000021923d18c -[WCContentIndex loadContentIfNecessary] + 592 (WCContentIndex.m:66)
13  WatchConnectivity             	0x000000021923ced0 -[WCContentIndex initWithContainingFolder:] + 160 (WCContentIndex.m:34)
14  WatchConnectivity             	0x0000000219246974 -[WCFileStorage enumerateUserInfoResultsWithBlock:] + 168 (WCFileStorage.m:466)
15  WatchConnectivity             	0x00000002192393c0 __47-[WCSession handleUserInfoResultWithPairingID:]_block_invoke_2 + 272 (WCSession.m:1437)
16  Foundation                    	0x000000019608dbe0 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24 (NSOperation.m:1545)
17  Foundation                    	0x000000019608daa0 -[NSBlockOperation main] + 104 (NSOperation.m:1564)
18  Foundation                    	0x000000019608d8a0 __NSOPERATION_IS_INVOKING_MAIN__ + 16 (NSOperation.m:2189)
19  Foundation                    	0x000000019608bb40 -[NSOperation start] + 648 (NSOperation.m:1406)
20  Foundation                    	0x0000000196110558 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 16 (NSOperation.m:2220)
21  Foundation                    	0x00000001961101a4 __NSOQSchedule_f + 172 (NSOperation.m:2231)
22  libdispatch.dylib             	0x000000019f0ec13c _dispatch_call_block_and_release + 32 (init.c:1530)
23  libdispatch.dylib             	0x000000019f0eddd4 _dispatch_client_callout + 20 (object.m:576)
24  libdispatch.dylib             	0x000000019f0f12d8 _dispatch_continuation_pop + 600 (queue.c:321)
25  libdispatch.dylib             	0x000000019f0f08f4 _dispatch_async_redirect_invoke + 584 (queue.c:845)
26  libdispatch.dylib             	0x000000019f0ff894 _dispatch_root_queue_drain + 392 (queue.c:7136)
27  libdispatch.dylib             	0x000000019f10009c _dispatch_worker_thread2 + 156 (queue.c:7204)
28  libsystem_pthread.dylib       	0x00000001f409f8f8 _pthread_wqthread + 228 (pthread.c:2709)
29  libsystem_pthread.dylib       	0x00000001f409c0cc start_wqthread + 8 (:-1)

Thread 10:
0   libsystem_pthread.dylib       	0x00000001f409c0c4 start_wqthread + 0 (:-1)


Thread 0 crashed with ARM Thread State (64-bit):
	x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
	x4: 0x00000001f3fc52c3   x5: 0x000000016f6264b0   x6: 0x000000000000006e   x7: 0x0000000000000000
	x8: 0x6eeac413c36b9bed   x9: 0x6eeac4123498652d  x10: 0x0000000000000200  x11: 0x000000016f625fe0
   x12: 0x0000000000000000  x13: 0x00000000001ff800  x14: 0x0000000000000010  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001f7f3fec0  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001f7f3ffa0  x22: 0x00000003030a2440  x23: 0x0000000000000114
   x24: 0x0000000000000000  x25: 0x00000001f7f3ffa0  x26: 0x00000003030a2440  x27: 0x000000000000000f
   x28: 0x0000000000000000   fp: 0x000000016f626420   lr: 0x00000001f40a2c0c
	sp: 0x000000016f626400   pc: 0x00000001e030342c cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
		0x1007d8000 -         0x100a97fff FitKick arm64  <1d623e5443393fe4bab96880b9a6909a> /private/var/containers/Bundle/Application/7D154E45-53DF-4DA5-819C-25AB9E092C5B/FitKick.app/FitKick
		0x102bec000 -         0x102bf7fff libobjc-trampolines.dylib arm64e  <2e2c05f8377a30899ad91926d284dd03> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
		0x18f0c8000 -         0x18f115f43 libobjc.A.dylib arm64e  <53115e1fe35330d99e8a4e6e73489f05> /usr/lib/libobjc.A.dylib
		0x195aec000 -         0x19603bfff libswiftCore.dylib arm64e   /usr/lib/swift/libswiftCore.dylib
		0x196071000 -         0x196be6fff Foundation arm64e  <3d3a12e3f5e9361fb00a4a5e8861aa55> /System/Library/Frameworks/Foundation.framework/Foundation
		0x1971c5000 -         0x1976f2fff CoreFoundation arm64e  <00e76a98210c3cb5930bf236807ff24c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
		0x199446000 -         0x19af66fff UIKitCore arm64e  <1741fa374e53371e8daed611aab0043d> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
		0x19b014000 -         0x19cdb2fff SwiftUI arm64e   /System/Library/Frameworks/SwiftUI.framework/SwiftUI
		0x19f0ea000 -         0x19f130fff libdispatch.dylib arm64e  <81d355df266a3010bab8113b76a206c1> /usr/lib/system/libdispatch.dylib
		0x19f131000 -         0x19f1aeff3 libsystem_c.dylib arm64e   /usr/lib/system/libsystem_c.dylib
		0x19f312000 -         0x19f68ffff CoreData arm64e  <9abf1b4453423a7997a4463b6dc9047c> /System/Library/Frameworks/CoreData.framework/CoreData
		0x1ba88d000 -         0x1ba919ef7 dyld arm64e  <71846eacee653697bf7d790b6a07dcdb> /usr/lib/dyld
		0x1bfe60000 -         0x1bfea4fff AttributeGraph arm64e   /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
		0x1dc0c7000 -         0x1dc0cffff GraphicsServices arm64e   /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
		0x1e02f7000 -         0x1e0330fef libsystem_kernel.dylib arm64e  <13b5134e819c3baab3004856112114cb> /usr/lib/system/libsystem_kernel.dylib
		0x1f3fac000 -         0x1f3fc7ffb libc++abi.dylib arm64e   /usr/lib/libc++abi.dylib
		0x1f409b000 -         0x1f40a7ff3 libsystem_pthread.dylib arm64e  <1196b6c3333d3450818ff3663484b8eb> /usr/lib/system/libsystem_pthread.dylib
		0x219223000 -         0x219260fff WatchConnectivity arm64e  <1ab4ddd692383965b744819f2916c8cc> /System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity

EOF
</a>

Incident Identifier: 622A4EE2-233F-46F8-9447-10BF877F4669
Distributor ID:      com.apple.AppStore
Hardware Model:      iPhone13,1
Process:             FitKick [2824]
Path:                /private/var/containers/Bundle/Application/ACE6B77F-A0C6-464D-8C0E-FE4C6072007C/FitKick.app/FitKick
Identifier:          com.sportsoft.fitkick
Version:             2.10 (5)
AppStoreTools:       15F31e
AppVariant:          1:iPhone13,1:16
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.sportsoft.fitkick [1424]

Date/Time:           2024-07-24 19:41:19.1425 +0200
Launch Time:         2024-07-24 19:41:16.5618 +0200
OS Version:          iPhone OS 17.4.1 (21E236)
Release Type:        User
Baseband Version:    4.50.06
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: FitKick [2824]

Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                	0x18a5eab28 __exceptionPreprocess + 164 (NSException.m:249)
1   libobjc.A.dylib               	0x182466f78 objc_exception_throw + 60 (objc-exception.mm:356)
2   CoreData                      	0x19263ed24 -[NSManagedObjectContext executeFetchRequest:error:] + 832 (NSManagedObjectContext.m:0)
3   CoreData                      	0x19263e790 __43-[NSFetchedResultsController performFetch:]_block_invoke + 324 (NSFetchedResultsController.m:469)
4   CoreData                      	0x19263cf70 developerSubmittedBlockToNSManagedObjectContextPerform + 156 (NSManagedObjectContext.m:3985)
5   CoreData                      	0x19263ce44 -[NSManagedObjectContext performBlockAndWait:] + 208 (NSManagedObjectContext.m:4096)
6   CoreData                      	0x192698578 -[NSFetchedResultsController _recursivePerformBlockAndWait:withContext:] + 152 (NSFetchedResultsController.m:548)
7   CoreData                      	0x192698418 -[NSFetchedResultsController performFetch:] + 252 (NSFetchedResultsController.m:524)
8   SwiftUI                       	0x18ea7a5b4 FetchController.update(in:) + 1308 (FetchCommon.swift:72)
9   SwiftUI                       	0x18f9e9ebc FetchRequest.update(_:) + 648 (FetchRequest.swift:418)
10  SwiftUI                       	0x18f9ea31c FetchRequest.update() + 472 (FetchRequest.swift:406)
11  SwiftUI                       	0x18fb0d3dc EmbeddedDynamicPropertyBox.update(property:phase:) + 48 (DynamicProperty.swift:117)
12  SwiftUI                       	0x18eaba074 static BoxVTable.update(ptr:property:phase:) + 396 (DynamicPropertyBuffer.swift:294)
13  SwiftUI                       	0x18eab97b0 _DynamicPropertyBuffer.update(container:phase:) + 104 (DynamicPropertyBuffer.swift:215)
14  SwiftUI                       	0x18fb0fb78 closure #1 in closure #1 in DynamicBody.updateValue() + 104 (DynamicProperty.swift:447)
15  SwiftUI                       	0x18fb0fbb8 partial apply for closure #1 in closure #1 in DynamicBody.updateValue() + 28 (:0)
16  libswiftCore.dylib            	0x188e5c068 withUnsafeMutablePointer(to:_:) + 28 (LifetimeManager.swift:82)
17  SwiftUI                       	0x18fb0f9dc closure #1 in DynamicBody.updateValue() + 408 (DynamicProperty.swift:446)
18  SwiftUI                       	0x18fb0f5c0 DynamicBody.updateValue() + 712 (DynamicProperty.swift:445)
19  SwiftUI                       	0x18e478bf8 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init<a>(_:) + 32 (:0)
20  AttributeGraph                	0x1b2fdc240 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
21  AttributeGraph                	0x1b2fd2f38 AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
22  AttributeGraph                	0x1b2fd2810 AG::Graph::input_value_ref_slow(AG::data::ptr, AG::AttributeID, unsigned int, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 720 (ag-graph.cc:1429)
23  AttributeGraph                	0x1b2fd23a4 AGGraphGetValue + 228 (AGGraph.mm:701)
24  SwiftUI                       	0x18ea4ff04 SubscriptionView.Subscriber.view.getter + 72 (SubscriptionView.swift:0)
25  SwiftUI                       	0x18ea50130 SubscriptionView.Subscriber.updateValue() + 484 (SubscriptionView.swift:65)
26  SwiftUI                       	0x18e478bf8 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init</a><a>(_:) + 32 (:0)
27  AttributeGraph                	0x1b2fdc240 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
28  AttributeGraph                	0x1b2fd2f38 AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
29  AttributeGraph                	0x1b2fdd948 AG::Subgraph::update(unsigned int) + 848 (ag-subgraph.cc:752)
30  SwiftUI                       	0x18efba918 ViewGraph.updateOutputs() + 260 (ViewGraph.swift:611)
31  SwiftUI                       	0x18fa6b674 closure #2 in closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 1268 (ViewRendererHost.swift:243)
32  SwiftUI                       	0x18fa6b028 closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 660 (ViewRendererHost.swift:235)
33  SwiftUI                       	0x18fa69170 ViewRendererHost.render(interval:updateDisplayList:) + 408 (:0)
34  SwiftUI                       	0x18fad9164 _UIHostingView.layoutSubviews() + 332 (UIHostingView.swift:1127)
35  SwiftUI                       	0x18fad91c4 @objc _UIHostingView.layoutSubviews() + 36 (:0)
36  UIKitCore                     	0x18c7ad0f8 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1528 (UIView.m:20041)
37  QuartzCore                    	0x18bbd7e30 CA::Layer::layout_if_needed(CA::Transaction*) + 504 (CALayer.mm:10816)
38  QuartzCore                    	0x18bbd79b4 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 148 (CALayer.mm:2598)
39  QuartzCore                    	0x18bbddbb4 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 464 (CAContextInternal.mm:2760)
40  QuartzCore                    	0x18bbd71bc CA::Transaction::commit() + 648 (CATransactionInternal.mm:432)
41  UIKitCore                     	0x18ca93d40 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 36 (UIApplication.m:12160)
42  CoreFoundation                	0x18a5356b8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 (CFRunLoop.c:1805)
43  CoreFoundation                	0x18a533eac __CFRunLoopDoBlocks + 356 (CFRunLoop.c:1847)
44  CoreFoundation                	0x18a531d9c __CFRunLoopRun + 848 (CFRunLoop.c:2957)
45  CoreFoundation                	0x18a531968 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
46  GraphicsServices              	0x1ce8274e0 GSEventRunModal + 164 (GSEvent.c:2196)
47  UIKitCore                     	0x18c9a4edc -[UIApplication _run] + 888 (UIApplication.m:3692)
48  UIKitCore                     	0x18c9a4518 UIApplicationMain + 340 (UIApplication.m:5282)
49  SwiftUI                       	0x18f36b860 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
50  SwiftUI                       	0x18f36b6a8 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
51  SwiftUI                       	0x18ef879fc static App.main() + 132 (App.swift:114)
52  FitKick                       	0x1006f2eac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
53  FitKick                       	0x1006f2eac main + 64
54  dyld                          	0x1ada52d84 start + 2240 (dyldMain.cpp:1298)

Kernel Triage:
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter


Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001d2a62974 __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001e64e50ec pthread_kill + 268 (pthread.c:1717)
2   libsystem_c.dylib             	0x00000001924b3b80 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001e6404ccc abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001e63f4e84 demangling_terminate_handler() + 348 (cxa_default_handlers.cpp:77)
5   libobjc.A.dylib               	0x000000018246a0bc _objc_terminate() + 144 (objc-exception.mm:496)
6   libc++abi.dylib               	0x00000001e6404090 std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001e6407594 __cxa_rethrow + 204 (cxa_exception.cpp:637)
8   libobjc.A.dylib               	0x0000000182478874 objc_exception_rethrow + 44 (objc-exception.mm:399)
9   CoreFoundation                	0x000000018a531a18 CFRunLoopRunSpecific + 784 (CFRunLoop.c:3436)
10  GraphicsServices              	0x00000001ce8274e0 GSEventRunModal + 164 (GSEvent.c:2196)
11  UIKitCore                     	0x000000018c9a4edc -[UIApplication _run] + 888 (UIApplication.m:3692)
12  UIKitCore                     	0x000000018c9a4518 UIApplicationMain + 340 (UIApplication.m:5282)
13  SwiftUI                       	0x000000018f36b860 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
14  SwiftUI                       	0x000000018f36b6a8 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
15  SwiftUI                       	0x000000018ef879fc static App.main() + 132 (App.swift:114)
16  FitKick                       	0x00000001006f2eac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
17  FitKick                       	0x00000001006f2eac main + 64
18  dyld                          	0x00000001ada52d84 start + 2240 (dyldMain.cpp:1298)

Thread 1:
0   StoreKit                      	0x00000001b36ac2a0 block_destroy_helper.39 + 4
1   StoreKit                      	0x00000001b3743cbc type metadata accessor for AsyncStream?, Never>>.Iterator + 60
2   StoreKit                      	0x00000001b3743ba8 type metadata completion function for Transaction.Transactions.AsyncIterator + 60 (:0)
3   libswiftCore.dylib            	0x00000001891df234 swift::MetadataCacheEntryBase<(anonymous namespace)::SingletonMetadataCacheEntry, int>::doInitialization(swift::MetadataWaitQueue::Worker&, swift::MetadataRequest) + 184 (MetadataCache.h:1251)
4   libswiftCore.dylib            	0x00000001891c6918 swift_getSingletonMetadata + 416 (Metadata.cpp:1152)
5   StoreKit                      	0x00000001b37401ec type metadata accessor for Transaction + 44 (:-1)
6   FitKick                       	0x000000010069cc40 closure #1 in StoreService.observeTransactionUpdates() + 156 (:0)
7   FitKick                       	0x00000001006a0fe1 partial apply for closure #1 in StoreService.observeTransactionUpdates() + 1 (:0)
8   FitKick                       	0x000000010069e155 specialized thunk for @escaping @callee_guaranteed @Sendable @async () -> (@out A) + 1 (:0)
9   FitKick                       	0x00000001006a2f69 thunk for @escaping @callee_guaranteed @Sendable @async () -> (@out A)specialized partial apply + 1
10  libswift_Concurrency.dylib    	0x0000000195892775 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1 (Task.cpp:463)

Thread 2 name:
Thread 2:
0   dyld                          	0x00000001ada4ff38 bool SwiftHashTable::equal(SwiftTypeProtocolConformanceLocationKey const&, SwiftTypeProtocolConformanceLocationKey ... + 0 (OptimizerSwift.cpp:221)
1   dyld                          	0x00000001ada4fc6c unsigned int SwiftHashTable::getIndex(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 156 (OptimizerSwift.h:335)
2   dyld                          	0x00000001ada4fb8c unsigned int SwiftHashTable::getPotentialTarget(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const... + 24 (OptimizerSwift.h:306)
3   dyld                          	0x00000001ada4fa08 dyld4::APIs::_dyld_find_protocol_conformance(void const*, void const*, void const*) const + 172 (DyldAPIs.cpp:2649)
4   libswiftCore.dylib            	0x0000000189207f74 swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 1828 (ProtocolConformance.cpp:1011)
5   libswiftCore.dylib            	0x00000001892068b4 swift_conformsToProtocol + 156 (CompatibilityOverrideRuntime.def:169)
6   AttributeGraph                	0x00000001b2fd500c AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 184 (ag-value.cc:1543)
7   AttributeGraph                	0x00000001b2fd4eb4 AG::(anonymous namespace)::TypeDescriptorCache::fetch(AG::swift::metadata const*, unsigned int, AG::LayoutDescriptor::HeapMode, int) + 344 (ag-value.cc:1651)
8   AttributeGraph                	0x00000001b2ff3280 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 56 (ag-value.cc:1121)
9   AttributeGraph                	0x00000001b2fd4c38 AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
10  AttributeGraph                	0x00000001b2fd5a98 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
11  AttributeGraph                	0x00000001b2fd5960 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
12  AttributeGraph                	0x00000001b2fd5198 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
13  AttributeGraph                	0x00000001b2fd4eb4 AG::(anonymous namespace)::TypeDescriptorCache::fetch(AG::swift::metadata const*, unsigned int, AG::LayoutDescriptor::HeapMode, int) + 344 (ag-value.cc:1651)
14  AttributeGraph                	0x00000001b2ff3280 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 56 (ag-value.cc:1121)
15  AttributeGraph                	0x00000001b2fd4c38 AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
16  AttributeGraph                	0x00000001b2fd5a98 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
17  AttributeGraph                	0x00000001b2fd5960 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
18  AttributeGraph                	0x00000001b2fd5198 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
19  AttributeGraph                	0x00000001b2fd8734 AG::(anonymous namespace)::TypeDescriptorCache::drain_queue(void*) + 348 (ag-value.cc:1700)
20  libdispatch.dylib             	0x00000001923fadd4 _dispatch_client_callout + 20 (object.m:576)
21  libdispatch.dylib             	0x000000019240ca6c _dispatch_root_queue_drain + 864 (queue.c:7136)
22  libdispatch.dylib             	0x000000019240d09c _dispatch_worker_thread2 + 156 (queue.c:7204)
23  libsystem_pthread.dylib       	0x00000001e64e0ee4 _pthread_wqthread + 228 (pthread.c:2678)
24  libsystem_pthread.dylib       	0x00000001e64e0fc0 start_wqthread + 8 (:-1)

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib        	0x00000001d2a5a49c __psynch_cvwait + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001e64e0590 _pthread_cond_wait + 1228 (pthread_cond.c:862)
2   Foundation                    	0x0000000189aa5310 -[NSOperation waitUntilFinished] + 508 (NSOperation.m:1379)
3   CoreFoundation                	0x000000018a52c648 _CFXNotificationPost + 792 (CFNotificationCenter.c:1262)
4   Foundation                    	0x00000001893bef10 -[NSNotificationCenter postNotificationName:object:userInfo:] + 92 (NSNotification.m:531)
5   CoreData                      	0x0000000192786fac -[NSPersistentCloudKitContainer eventUpdated:] + 148 (NSPersistentCloudKitContainer.m:532)
6   CoreData                      	0x00000001927acd48 __56-[PFCloudKitSetupAssistant _checkAndInitializeMetadata:]_block_invoke + 828 (PFCloudKitSetupAssistant.m:140)
7   CoreData                      	0x000000019289bf74 -[PFCloudKitStoreMonitor performBlock:] + 92 (PFCloudKitStoreMonitor.m:148)
8   CoreData                      	0x00000001927aa514 -[PFCloudKitSetupAssistant _initializeCloudKitForObservedStore:andNoteMetadataInitialization:] + 272 (PFCloudKitSetupAssistant.m:84)
9   CoreData                      	0x000000019283fa00 __52-[NSCloudKitMirroringDelegate _performSetupRequest:]_block_invoke + 420 (NSCloudKitMirroringDelegate.m:1134)
10  CoreData                      	0x000000019283e7a8 __92-[NSCloudKitMirroringDelegate _openTransactionWithLabel:assertionLabel:andExecuteWorkBlock:]_block_invoke + 72 (NSCloudKitMirroringDelegate.m:952)
11  libdispatch.dylib             	0x00000001923f913c _dispatch_call_block_and_release + 32 (init.c:1530)
12  libdispatch.dylib             	0x00000001923fadd4 _dispatch_client_callout + 20 (object.m:576)
13  libdispatch.dylib             	0x0000000192402400 _dispatch_lane_serial_drain + 748 (queue.c:3900)
14  libdispatch.dylib             	0x0000000192402f64 _dispatch_lane_invoke + 432 (queue.c:3991)
15  libdispatch.dylib             	0x000000019240dcb4 _dispatch_root_queue_drain_deferred_wlh + 288 (queue.c:6998)
16  libdispatch.dylib             	0x000000019240d528 _dispatch_workloop_worker_thread + 404 (queue.c:6592)
17  libsystem_pthread.dylib       	0x00000001e64e0f20 _pthread_wqthread + 288 (pthread.c:2665)
18  libsystem_pthread.dylib       	0x00000001e64e0fc0 start_wqthread + 8 (:-1)

Thread 4:
0   libsystem_pthread.dylib       	0x00000001e64e0fb8 start_wqthread + 0 (:-1)

Thread 5:
0   libsystem_pthread.dylib       	0x00000001e64e0fb8 start_wqthread + 0 (:-1)

Thread 6:
0   libsystem_pthread.dylib       	0x00000001e64e0fb8 start_wqthread + 0 (:-1)

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib        	0x00000001d2a59af8 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001d2a59890 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001d2a597a8 mach_msg_overwrite + 436 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001d2a595e8 mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x000000018a53401c __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2624)
5   CoreFoundation                	0x000000018a531f04 __CFRunLoopRun + 1208 (CFRunLoop.c:3007)
6   CoreFoundation                	0x000000018a531968 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
7   Foundation                    	0x00000001893c04a8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8   Foundation                    	0x00000001893ea4e8 -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9   UIKitCore                     	0x000000018c907ac8 -[UIEventFetcher threadMain] + 420 (UIEventFetcher.m:1201)
10  Foundation                    	0x0000000189431a9c __NSThread__start__ + 732 (NSThread.m:991)
11  libsystem_pthread.dylib       	0x00000001e64e1a90 _pthread_start + 136 (pthread.c:927)
12  libsystem_pthread.dylib       	0x00000001e64e0fcc thread_start + 8 (:-1)


Thread 0 crashed with ARM Thread State (64-bit):
	x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
	x4: 0x00000001e64092c3   x5: 0x000000016f81f340   x6: 0x000000000000006e   x7: 0x0000000000000000
	x8: 0x4cc1053cfcbeeb3c   x9: 0x4cc1053d1717943c  x10: 0x0000000000000200  x11: 0x000000016f81ee70
   x12: 0x0000000000000000  x13: 0x00000000001ff800  x14: 0x0000000000000010  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001eba97f00  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001eba97fe0  x22: 0x00000001f25bfeb0  x23: 0x0000000000000001
   x24: 0x00000003036b4d10  x25: 0x0000000000000001  x26: 0x0000000300fb0590  x27: 0x0000000000000000
   x28: 0x0000000000000001   fp: 0x000000016f81f2b0   lr: 0x00000001e64e50ec
	sp: 0x000000016f81f290   pc: 0x00000001d2a62974 cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
		0x1005e0000 -         0x10089ffff FitKick arm64  <1d623e5443393fe4bab96880b9a6909a> /private/var/containers/Bundle/Application/ACE6B77F-A0C6-464D-8C0E-FE4C6072007C/FitKick.app/FitKick
		0x100a4c000 -         0x100a57fff libobjc-trampolines.dylib arm64e  <19bc6b58cbf535a583a5fc742451547d> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
		0x18243c000 -         0x182489cc3 libobjc.A.dylib arm64e  <412fd1f44107344388efb3760778f6a7> /usr/lib/libobjc.A.dylib
		0x188e10000 -         0x18935ffff libswiftCore.dylib arm64e   /usr/lib/swift/libswiftCore.dylib
		0x189395000 -         0x189f20fff Foundation arm64e   /System/Library/Frameworks/Foundation.framework/Foundation
		0x18a4fe000 -         0x18aa2bfff CoreFoundation arm64e  <3a5f992ad1cd312ebd2ef7c66343a417> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
		0x18bb71000 -         0x18bef9fff QuartzCore arm64e   /System/Library/Frameworks/QuartzCore.framework/QuartzCore
		0x18c77a000 -         0x18e28afff UIKitCore arm64e  <7bf01cfc23f1326aafd8ad967ffece28> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
		0x18e338000 -         0x1900c1fff SwiftUI arm64e  <052e38315d203d889666b92ebe26278d> /System/Library/Frameworks/SwiftUI.framework/SwiftUI
		0x1923f7000 -         0x19243dfff libdispatch.dylib arm64e   /usr/lib/system/libdispatch.dylib
		0x19243e000 -         0x1924bbfff libsystem_c.dylib arm64e  <3b5201c515d0335fa91d0c63e1f6c6dc> /usr/lib/system/libsystem_c.dylib
		0x19261d000 -         0x19299afff CoreData arm64e  <774a031c839c39eda1c760d3bb55717e> /System/Library/Frameworks/CoreData.framework/CoreData
		0x19583d000 -         0x1958a8ff3 libswift_Concurrency.dylib arm64e  <27226804072d3d77b74579c5c446369f> /usr/lib/swift/libswift_Concurrency.dylib
		0x1ada4d000 -         0x1adad9be3 dyld arm64e  <7be2b7573b3d3e918cb774f3887660c7> /usr/lib/dyld
		0x1b2fd0000 -         0x1b3014fff AttributeGraph arm64e  <769d6a728214379ab597707b2b7fc4a7> /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
		0x1b36a8000 -         0x1b3863fff StoreKit arm64e  <9b9eda97962439fdb7a49deb7ac50543> /System/Library/Frameworks/StoreKit.framework/StoreKit
		0x1ce824000 -         0x1ce82cfff GraphicsServices arm64e  <4cb7e98636bf38018f495d8c3c4a2127> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
		0x1d2a58000 -         0x1d2a91fef libsystem_kernel.dylib arm64e   /usr/lib/system/libsystem_kernel.dylib
		0x1e63f0000 -         0x1e640bffb libc++abi.dylib arm64e   /usr/lib/libc++abi.dylib
		0x1e64df000 -         0x1e64ebfff libsystem_pthread.dylib arm64e   /usr/lib/system/libsystem_pthread.dylib
		0x1ffff6000 -         0x200cb4fff libusd_ms.dylib arm64e  <6677926dac6832ebb7446e627ed2bd51> /usr/lib/usd/libusd_ms.dylib

EOF
</a>

Incident Identifier: 4C44C554-8850-49C8-90B7-465884AA2856
Distributor ID:      com.apple.AppStore
Hardware Model:      iPhone14,3
Process:             FitKick [14470]
Path:                /private/var/containers/Bundle/Application/0048601A-4A48-436F-B1DD-A98859CAD4CB/FitKick.app/FitKick
Identifier:          com.sportsoft.fitkick
Version:             2.10 (5)
AppStoreTools:       15F31e
AppVariant:          1:iPhone14,3:16
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.sportsoft.fitkick [3415]

Date/Time:           2024-07-14 00:03:39.3192 +0100
Launch Time:         2024-07-13 23:11:54.1964 +0100
OS Version:          iPhone OS 17.5.1 (21F90)
Release Type:        User
Baseband Version:    3.50.04
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: FitKick [14470]

Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                	0x193ab8f20 __exceptionPreprocess + 164 (NSException.m:249)
1   libobjc.A.dylib               	0x18b962018 objc_exception_throw + 60 (objc-exception.mm:356)
2   CoreData                      	0x19bbb2d88 -[NSManagedObjectContext executeFetchRequest:error:] + 832 (NSManagedObjectContext.m:0)
3   CoreData                      	0x19bc58b18 __43-[NSFetchedResultsController performFetch:]_block_invoke + 324 (NSFetchedResultsController.m:469)
4   CoreData                      	0x19bba90dc developerSubmittedBlockToNSManagedObjectContextPerform + 156 (NSManagedObjectContext.m:3985)
5   CoreData                      	0x19bc1f0ec -[NSManagedObjectContext performBlockAndWait:] + 208 (NSManagedObjectContext.m:4096)
6   CoreData                      	0x19bc1e600 -[NSFetchedResultsController _recursivePerformBlockAndWait:withContext:] + 152 (NSFetchedResultsController.m:548)
7   CoreData                      	0x19bc1e20c -[NSFetchedResultsController performFetch:] + 252 (NSFetchedResultsController.m:524)
8   SwiftUI                       	0x1982d36e8 FetchController.update(in:) + 1308 (FetchCommon.swift:72)
9   SwiftUI                       	0x198ffbf08 FetchRequest.update(_:) + 648 (FetchRequest.swift:418)
10  SwiftUI                       	0x198ffc368 FetchRequest.update() + 472 (FetchRequest.swift:406)
11  SwiftUI                       	0x197a5bb70 EmbeddedDynamicPropertyBox.update(property:phase:) + 48 (DynamicProperty.swift:117)
12  SwiftUI                       	0x197a57504 static BoxVTable.update(ptr:property:phase:) + 396 (DynamicPropertyBuffer.swift:294)
13  SwiftUI                       	0x197a57320 _DynamicPropertyBuffer.update(container:phase:) + 104 (DynamicPropertyBuffer.swift:215)
14  SwiftUI                       	0x197a57294 closure #1 in closure #1 in DynamicBody.updateValue() + 104 (DynamicProperty.swift:447)
15  SwiftUI                       	0x197a57224 partial apply for closure #1 in closure #1 in DynamicBody.updateValue() + 28 (:0)
16  libswiftCore.dylib            	0x1923a8068 withUnsafeMutablePointer(to:_:) + 28 (LifetimeManager.swift:82)
17  SwiftUI                       	0x197ad1688 closure #1 in DynamicBody.updateValue() + 408 (DynamicProperty.swift:446)
18  SwiftUI                       	0x197acf3bc DynamicBody.updateValue() + 712 (DynamicProperty.swift:445)
19  SwiftUI                       	0x197a81b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init<a>(_:) + 32 (:0)
20  AttributeGraph                	0x1bc6d9010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
21  AttributeGraph                	0x1bc6d8bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
22  AttributeGraph                	0x1bc6d2cc0 AG::Graph::input_value_ref_slow(AG::data::ptr, AG::AttributeID, unsigned int, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 720 (ag-graph.cc:1429)
23  AttributeGraph                	0x1bc6d2854 AGGraphGetValue + 228 (AGGraph.mm:701)
24  SwiftUI                       	0x197a90810 SubscriptionView.Subscriber.view.getter + 72 (SubscriptionView.swift:0)
25  SwiftUI                       	0x197a90568 SubscriptionView.Subscriber.updateValue() + 484 (SubscriptionView.swift:65)
26  SwiftUI                       	0x197a81b30 partial apply for implicit closure #1 in closure #1 in closure #1 in Attribute.init</a><a>(_:) + 32 (:0)
27  AttributeGraph                	0x1bc6d9010 AG::Graph::UpdateStack::update() + 512 (ag-graph-update.cc:578)
28  AttributeGraph                	0x1bc6d8bfc AG::Graph::update_attribute(AG::data::ptr, unsigned int) + 424 (ag-graph-update.cc:719)
29  AttributeGraph                	0x1bc6d87d8 AG::Subgraph::update(unsigned int) + 848 (ag-subgraph.cc:752)
30  SwiftUI                       	0x197aeb6f8 ViewGraph.updateOutputs() + 260 (ViewGraph.swift:611)
31  SwiftUI                       	0x197aea88c closure #2 in closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 1268 (ViewRendererHost.swift:243)
32  SwiftUI                       	0x197ae964c closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 660 (ViewRendererHost.swift:235)
33  SwiftUI                       	0x197ae7d7c ViewRendererHost.render(interval:updateDisplayList:) + 408 (:0)
34  SwiftUI                       	0x197ae7b0c _UIHostingView.layoutSubviews() + 332 (UIHostingView.swift:1127)
35  SwiftUI                       	0x1979fcc6c @objc _UIHostingView.layoutSubviews() + 36 (:0)
36  UIKitCore                     	0x195cc6a4c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1528 (UIView.m:20054)
37  QuartzCore                    	0x1951253b4 CA::Layer::layout_if_needed(CA::Transaction*) + 504 (CALayer.mm:10816)
38  QuartzCore                    	0x195124f38 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 148 (CALayer.mm:2598)
39  QuartzCore                    	0x1951800e0 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 464 (CAContextInternal.mm:2760)
40  QuartzCore                    	0x1950f5028 CA::Transaction::commit() + 648 (CATransactionInternal.mm:432)
41  UIKitCore                     	0x195e7b678 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 36 (UIApplication.m:12191)
42  CoreFoundation                	0x193a9ac9c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 (CFRunLoop.c:1805)
43  CoreFoundation                	0x193a88dec __CFRunLoopDoBlocks + 356 (CFRunLoop.c:1847)
44  CoreFoundation                	0x193a88498 __CFRunLoopRun + 848 (CFRunLoop.c:2957)
45  CoreFoundation                	0x193a87cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
46  GraphicsServices              	0x1d89381a8 GSEventRunModal + 164 (GSEvent.c:2196)
47  UIKitCore                     	0x1960c090c -[UIApplication _run] + 888 (UIApplication.m:3713)
48  UIKitCore                     	0x1961749d0 UIApplicationMain + 340 (UIApplication.m:5303)
49  SwiftUI                       	0x197c78148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
50  SwiftUI                       	0x197c24714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
51  SwiftUI                       	0x197c304d0 static App.main() + 132 (App.swift:114)
52  FitKick                       	0x102b5eeac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
53  FitKick                       	0x102b5eeac main + 64
54  dyld                          	0x1b7139e4c start + 2240 (dyldMain.cpp:1298)

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001dcb7342c __pthread_kill + 8 (:-1)
1   libsystem_pthread.dylib       	0x00000001f0912c0c pthread_kill + 268 (pthread.c:1721)
2   libsystem_c.dylib             	0x000000019ba16ba0 abort + 180 (abort.c:118)
3   libc++abi.dylib               	0x00000001f0830ca4 abort_message + 132 (abort_message.cpp:78)
4   libc++abi.dylib               	0x00000001f0820e5c demangling_terminate_handler() + 348 (cxa_default_handlers.cpp:77)
5   libobjc.A.dylib               	0x000000018b97de2c _objc_terminate() + 144 (objc-exception.mm:496)
6   libc++abi.dylib               	0x00000001f0830068 std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:59)
7   libc++abi.dylib               	0x00000001f083360c __cxa_rethrow + 204 (cxa_exception.cpp:637)
8   libobjc.A.dylib               	0x000000018b979ea4 objc_exception_rethrow + 44 (objc-exception.mm:399)
9   CoreFoundation                	0x0000000193a87d88 CFRunLoopRunSpecific + 784 (CFRunLoop.c:3436)
10  GraphicsServices              	0x00000001d89381a8 GSEventRunModal + 164 (GSEvent.c:2196)
11  UIKitCore                     	0x00000001960c090c -[UIApplication _run] + 888 (UIApplication.m:3713)
12  UIKitCore                     	0x00000001961749d0 UIApplicationMain + 340 (UIApplication.m:5303)
13  SwiftUI                       	0x0000000197c78148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
14  SwiftUI                       	0x0000000197c24714 runApp</a><a>(_:) + 152 (UIKitApp.swift:14)
15  SwiftUI                       	0x0000000197c304d0 static App.main() + 132 (App.swift:114)
16  FitKick                       	0x0000000102b5eeac static FitKickApp.$main() + 52 (FitKickApp.swift:0)
17  FitKick                       	0x0000000102b5eeac main + 64
18  dyld                          	0x00000001b7139e4c start + 2240 (dyldMain.cpp:1298)

Thread 1 name:
Thread 1:
0   dyld                          	0x00000001b7103c50 dyld4::objc_headeropt_rw_t::isLoaded(unsigned int) const + 56 (DyldAPIs.cpp:2621)
1   dyld                          	0x00000001b7103b2c unsigned int SwiftHashTable::getIndex(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 156 (OptimizerSwift.h:335)
2   dyld                          	0x00000001b7103a4c unsigned int SwiftHashTable::getPotentialTarget(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const... + 24 (OptimizerSwift.h:306)
3   dyld                          	0x00000001b71038c8 dyld4::APIs::_dyld_find_protocol_conformance(void const*, void const*, void const*) const + 172 (DyldAPIs.cpp:2649)
4   libswiftCore.dylib            	0x0000000192753f74 swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata const*, swift::TargetProtocolDescriptor const*, bool) + 1828 (ProtocolConformance.cpp:1011)
5   libswiftCore.dylib            	0x00000001927528b4 swift_conformsToProtocol + 156 (CompatibilityOverrideRuntime.def:169)
6   AttributeGraph                	0x00000001bc6d4ac8 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 184 (ag-value.cc:1543)
7   AttributeGraph                	0x00000001bc6d4140 AG::(anonymous namespace)::TypeDescriptorCache::fetch(AG::swift::metadata const*, unsigned int, AG::LayoutDescriptor::HeapMode, int) + 344 (ag-value.cc:1651)
8   AttributeGraph                	0x00000001bc6d5928 AG::LayoutDescriptor::Builder::should_visit_fields(AG::swift::metadata const*, bool) + 56 (ag-value.cc:1121)
9   AttributeGraph                	0x00000001bc6d57cc AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long, unsigned long) + 120 (ag-value.cc:1168)
10  AttributeGraph                	0x00000001bc6d5358 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long, unsigned long) + 180 (ag-swift-metadata.cc:660)
11  AttributeGraph                	0x00000001bc6d5220 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1244 (ag-swift-metadata.cc:438)
12  AttributeGraph                	0x00000001bc6d4c54 AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 580 (ag-value.cc:1543)
13  AttributeGraph                	0x00000001bc6e175c AG::(anonymous namespace)::TypeDescriptorCache::drain_queue(void*) + 348 (ag-value.cc:1700)
14  libdispatch.dylib             	0x000000019b95ddd4 _dispatch_client_callout + 20 (object.m:576)
15  libdispatch.dylib             	0x000000019b96fa6c _dispatch_root_queue_drain + 864 (queue.c:7136)
16  libdispatch.dylib             	0x000000019b97009c _dispatch_worker_thread2 + 156 (queue.c:7204)
17  libsystem_pthread.dylib       	0x00000001f090f8f8 _pthread_wqthread + 228 (pthread.c:2709)
18  libsystem_pthread.dylib       	0x00000001f090c0cc start_wqthread + 8 (:-1)

Thread 2:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib        	0x00000001dcb6dab8 read + 8 (:-1)
1   Foundation                    	0x0000000192953430 _NSReadFromFileDescriptorWithProgress + 196 (NSPlatform.m:603)
2   Foundation                    	0x0000000192953204 _NSReadBytesFromFileWithExtendedAttributes + 804 (NSPlatform.m:867)
3   Foundation                    	0x0000000192952e00 -[NSData(NSData) initWithContentsOfFile:options:maxLength:error:] + 132 (NSData.m:885)
4   Foundation                    	0x00000001929ca124 +[NSData(NSData) dataWithContentsOfFile:options:error:] + 52 (NSData.m:808)
5   WatchConnectivity             	0x0000000215ab1d7c -[WCFileStorage enumerateIncomingFilesWithBlock:] + 532 (WCFileStorage.m:371)
6   WatchConnectivity             	0x0000000215aa3734 __45-[WCSession handleIncomingFileWithPairingID:]_block_invoke_2 + 272 (WCSession.m:1289)
7   Foundation                    	0x00000001928fdbe0 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24 (NSOperation.m:1545)
8   Foundation                    	0x00000001928fdaa0 -[NSBlockOperation main] + 104 (NSOperation.m:1564)
9   Foundation                    	0x00000001928fd8a0 __NSOPERATION_IS_INVOKING_MAIN__ + 16 (NSOperation.m:2189)
10  Foundation                    	0x00000001928fbb40 -[NSOperation start] + 648 (NSOperation.m:1406)
11  Foundation                    	0x0000000192980558 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 16 (NSOperation.m:2220)
12  Foundation                    	0x00000001929801a4 __NSOQSchedule_f + 172 (NSOperation.m:2231)
13  libdispatch.dylib             	0x000000019b95c13c _dispatch_call_block_and_release + 32 (init.c:1530)
14  libdispatch.dylib             	0x000000019b95ddd4 _dispatch_client_callout + 20 (object.m:576)
15  libdispatch.dylib             	0x000000019b9612d8 _dispatch_continuation_pop + 600 (queue.c:321)
16  libdispatch.dylib             	0x000000019b9608f4 _dispatch_async_redirect_invoke + 584 (queue.c:845)
17  libdispatch.dylib             	0x000000019b96f894 _dispatch_root_queue_drain + 392 (queue.c:7136)
18  libdispatch.dylib             	0x000000019b97009c _dispatch_worker_thread2 + 156 (queue.c:7204)
19  libsystem_pthread.dylib       	0x00000001f090f8f8 _pthread_wqthread + 228 (pthread.c:2709)
20  libsystem_pthread.dylib       	0x00000001f090c0cc start_wqthread + 8 (:-1)

Thread 4 name:
Thread 4:
0   libsystem_kernel.dylib        	0x00000001dcb68808 mach_msg2_trap + 8 (:-1)
1   libsystem_kernel.dylib        	0x00000001dcb6c008 mach_msg2_internal + 80 (mach_msg.c:201)
2   libsystem_kernel.dylib        	0x00000001dcb6bf20 mach_msg_overwrite + 436 (mach_msg.c:0)
3   libsystem_kernel.dylib        	0x00000001dcb6bd60 mach_msg + 24 (mach_msg.c:323)
4   CoreFoundation                	0x0000000193a88f5c __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2624)
5   CoreFoundation                	0x0000000193a88600 __CFRunLoopRun + 1208 (CFRunLoop.c:3007)
6   CoreFoundation                	0x0000000193a87cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
7   Foundation                    	0x00000001929a8e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8   Foundation                    	0x00000001929a8c9c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9   UIKitCore                     	0x00000001960d4640 -[UIEventFetcher threadMain] + 420 (UIEventFetcher.m:1207)
10  Foundation                    	0x00000001929bf718 __NSThread__start__ + 732 (NSThread.m:991)
11  libsystem_pthread.dylib       	0x00000001f091106c _pthread_start + 136 (pthread.c:931)
12  libsystem_pthread.dylib       	0x00000001f090c0d8 thread_start + 8 (:-1)

Thread 5:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 6:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 7:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 8:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 9:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 10:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 11:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 12:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 13:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)

Thread 14:
0   libsystem_pthread.dylib       	0x00000001f090c0c4 start_wqthread + 0 (:-1)


Thread 0 crashed with ARM Thread State (64-bit):
	x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
	x4: 0x00000001f08352c3   x5: 0x000000016d3b3300   x6: 0x000000000000006e   x7: 0x0000000000000000
	x8: 0xbbb433c5f8848c40   x9: 0xbbb433c40cfe7280  x10: 0x0000000000000200  x11: 0x000000016d3b2e30
   x12: 0x0000000000000000  x13: 0x00000000001ff800  x14: 0x0000000000000010  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001f47afec0  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001f47affa0  x22: 0x00000001fb3abc70  x23: 0x0000000000000001
   x24: 0x0000000301080de0  x25: 0x0000000000000001  x26: 0x000000030298c640  x27: 0x0000000000000000
   x28: 0x0000000000000001   fp: 0x000000016d3b3270   lr: 0x00000001f0912c0c
	sp: 0x000000016d3b3250   pc: 0x00000001dcb7342c cpsr: 0x40001000
   esr: 0x56000080  Address size fault


Binary Images:
		0x102a4c000 -         0x102d0bfff FitKick arm64  <1d623e5443393fe4bab96880b9a6909a> /private/var/containers/Bundle/Application/0048601A-4A48-436F-B1DD-A98859CAD4CB/FitKick.app/FitKick
		0x102ebc000 -         0x102ec7fff libobjc-trampolines.dylib arm64e  <2e2c05f8377a30899ad91926d284dd03> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
		0x18b94c000 -         0x18b999f43 libobjc.A.dylib arm64e  <53115e1fe35330d99e8a4e6e73489f05> /usr/lib/libobjc.A.dylib
		0x19235c000 -         0x1928abfff libswiftCore.dylib arm64e   /usr/lib/swift/libswiftCore.dylib
		0x1928e1000 -         0x193456fff Foundation arm64e  <3d3a12e3f5e9361fb00a4a5e8861aa55> /System/Library/Frameworks/Foundation.framework/Foundation
		0x193a35000 -         0x193f62fff CoreFoundation arm64e  <00e76a98210c3cb5930bf236807ff24c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
		0x1950a7000 -         0x195434fff QuartzCore arm64e   /System/Library/Frameworks/QuartzCore.framework/QuartzCore
		0x195cb6000 -         0x1977d6fff UIKitCore arm64e  <1741fa374e53371e8daed611aab0043d> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
		0x197884000 -         0x199622fff SwiftUI arm64e   /System/Library/Frameworks/SwiftUI.framework/SwiftUI
		0x19b95a000 -         0x19b9a0fff libdispatch.dylib arm64e  <81d355df266a3010bab8113b76a206c1> /usr/lib/system/libdispatch.dylib
		0x19b9a1000 -         0x19ba1eff3 libsystem_c.dylib arm64e   /usr/lib/system/libsystem_c.dylib
		0x19bb82000 -         0x19befffff CoreData arm64e  <9abf1b4453423a7997a4463b6dc9047c> /System/Library/Frameworks/CoreData.framework/CoreData
		0x1b70fd000 -         0x1b7189ef7 dyld arm64e  <71846eacee653697bf7d790b6a07dcdb> /usr/lib/dyld
		0x1bc6d0000 -         0x1bc714fff AttributeGraph arm64e   /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
		0x1d8937000 -         0x1d893ffff GraphicsServices arm64e   /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
		0x1dcb67000 -         0x1dcba0fef libsystem_kernel.dylib arm64e  <13b5134e819c3baab3004856112114cb> /usr/lib/system/libsystem_kernel.dylib
		0x1f081c000 -         0x1f0837ffb libc++abi.dylib arm64e   /usr/lib/libc++abi.dylib
		0x1f090b000 -         0x1f0917ff3 libsystem_pthread.dylib arm64e  <1196b6c3333d3450818ff3663484b8eb> /usr/lib/system/libsystem_pthread.dylib
		0x215a8f000 -         0x215accfff WatchConnectivity arm64e  <1ab4ddd692383965b744819f2916c8cc> /System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity

EOF
</a>

The logs seem to cover four scenarios, which are pretty much all the ways that the app supports opening.

I've attached sample crash logs for each scenario. The call stack of the crash is pretty much the same for all of them.

I've looked over them all and there just isn't a lot to go on here. I have a few more ideas that might be helpful, but this is also one of those cases where the log just doesn't have a lot to "say".

  • Is there any direct connection between your interactions with WatchConnectivity and your CoreData stack? That's a pretty vagues question, but WatchConnectivity seems to have some involvement here which is worth looking at more closely.

  • I would set a symbolic breakpoint on "FetchRequest.update", do some experimenting with your app to try and the overall "stack" you're seeing. Here are a few different things I'd be looking at here:

  1. Can you replicate this "exact" call stack and, based on that, determine exactly what data it was trying to fetch? Note that this is also about timing, not just the exact call stack. For example, you have a time window the crash occurs in and that could let you guess our whether this was the first fetch request or some later request.

  2. How common is this state? Does your app ALWAYS call "FetchRequest.update" when starting up? Or only on particular screens?

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Written by DTS Engineer in 797720022
I would set a symbolic breakpoint on "FetchRequest.update", do some experimenting with your app to try and the overall "stack" you're seeing.

I've made some progress and think I've identified the crash.

I wasn't able to set a symbolic breakpoint on FetchRequest.update() (I tried a few variations but it never seemed to catch anything) but instead I set one on -[NSFetchedResultsController performFetch:] as that is just a little further down in the call stack.

The app has some custom Core Data migration functionality that enables adhoc data transformation before continuing with a lightweight migration. When the breakpoint was triggered I noticed that one of the other threads was calling the migration functionality so it got me to take a look, that's where I noticed the following line of code.

// Initalizing a coordinator with the same model more than once results in errors when fetching entities.
let persistentStoreCoordinator = migrationStep.destinationVersionIsCurrent ? appPersistentStoreCoordinator : NSPersistentStoreCoordinator(managedObjectModel: migrationStep.destinationModel)

This happens before triggering the migration and determines the coordinator used during the migration, with appPersistentStoreCoordinator passed in as an already created NSPersistentStoreCoordinator.

Originally it was creating a new NSPersistentStoreCoordinator each time but I changed it to the above, sometimes using the already created NSPersistentStoreCoordinator, as a result of the error described in the comment. I tested the code path where the new NSPersistentStoreCoordinator was created and the app crashed with the following errors.

executeFetchRequest:error: A fetch request must have an entity.
warning: Multiple NSEntityDescriptions claim the NSManagedObject subclass 'Activity' so +entity is unable to disambiguate.
warning:  	 'Activity' (0x30252c370) from NSManagedObjectModel (0x303131900) claims 'Activity'.
error: +[Activity entity] Failed to find a unique match for an NSEntityDescription to a managed object subclass
CoreData: error: +[Activity entity] Failed to find a unique match for an NSEntityDescription to a managed object subclass
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'executeFetchRequest:error: A fetch request must have an entity.'
*** First throw call stack:
(0x1a0120f20 0x197fce018 0x1a821ad88 0x1a82c0b18 0x1a82110dc 0x1a82870ec 0x1a8286600 0x1a828620c 0x1a493b6e8 0x1a5663f08 0x1a5664368 0x1a40c3b70 0x1a40bf504 0x1a40bf320 0x1a40bf294 0x1a40bf224 0x19ea10068 0x1a4139688 0x1a41373bc 0x1a40e9b30 0x1c8d41010 0x1c8d40bfc 0x1c8d3acc0 0x1c8d3a854 0x1a40f8810 0x1a40f8568 0x1a40e9b30 0x1c8d41010 0x1c8d40bfc 0x1c8d407d8 0x1a41536f8 0x1a415288c 0x1a415164c 0x1a414fd7c 0x1a414fb0c 0x1a4064c6c 0x1a232ea4c 0x1a178d3b4 0x1a178cf38 0x1a17e80e0 0x1a175d028 0x1a24e3678 0x1a0102c9c 0x1a00f0dec 0x1a00f0498 0x1a00efcd8 0x1e4fa01a8 0x1a272890c 0x1a27dc9d0 0x1a42e0148 0x1a428c714 0x1a42984d0 0x100441530 0x1004415e0 0x1c37a1e4c)
libc++abi: terminating due to uncaught exception of type NSException

I'm not sure why I left in the code path to create a new NSPersistentStoreCoordinator but it meant that if a user was updating their app and there was more than one migration to apply, it would create a new NSPersistentStoreCoordinator and the app would crash. Changing this to always use the already created NSPersistentStoreCoordinator (appPersistentStoreCoordinator) resolves the issue.

I would have expected to see some reference to the migration functionality in one of the other threads in the crash log but perhaps it's because the migration was already complete and the crash occurred on the next fetch. Hopefully this fixes the crash I've been seeing in the crash reports.

Thanks for your help. I'm not sure I would have stumbled across the code causing the crash if it hadn't been for your suggestions.

EXC_CRASH from NSManagedObjectContext executeFetchRequest
 
 
Q