Post

Replies

Boosts

Views

Activity

macOS application random crash inside system Contacts framework
Hi, I encountered a crash that happens randomly on certain macOS. Here's the crash log. For clarity, only the crashed queue's stack trace is added. Process: Engage [6891] Path: /Applications/Engage.app/Contents/MacOS/Engage Identifier: com.mycompany.engage Version: 2.0.1 (20111120) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: Engage [6891] User ID: 2123560928 Date/Time: 2021-11-17 16:36:20.753 +0800 OS Version: Mac OS X 10.14.6 (18G9323) Report Version: 12 Anonymous UUID: C642EE95-AF30-723E-91B8-A1C9D4ECD9A6 Sleep/Wake UUID: B95DB75A-69E8-4F19-B735-CEC7A698AE00 Time Awake Since Boot: 40000 seconds Time Since Wake: 910 seconds System Integrity Protection: enabled Crashed Thread: 5 Dispatch queue: Contacts fetching queue Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Illegal instruction: 4 Termination Reason: Namespace SIGNAL, Code 0x4 Terminating Process: exc handler [6891] Application Specific Information: API MISUSE: Resurrection of an object Thread 0:: Dispatch queue: com.apple.main-thread ... Thread 1: ... Thread 2: ... Thread 3: ... Thread 4:: Dispatch queue: com.apple.root.background-qos ... Thread 5 Crashed:: Dispatch queue: Contacts fetching queue 0 libdispatch.dylib 0x00007fff703929a6 _os_object_retain + 34 1 com.apple.AppKit 0x00007fff41bbc6da -[_NSWorkspaceFileOperation initWithQueue:URLs:operation:completionHandler:] + 111 2 com.apple.AppKit 0x00007fff41bbc5a0 -[NSWorkspace recycleURLs:completionHandler:] + 726 3 com.apple.AddressBook.core 0x00007fff53cd5004 -[ABPersistentStoreBuilder removeDotNewPathForDatabasePath] + 212 4 com.apple.AddressBook.core 0x00007fff53cd42f3 -[ABPersistentStoreBuilder addPersistentStoreAtDatabasePath:] + 61 5 com.apple.AddressBook.core 0x00007fff53cd3da4 -[ABPersistentStoreCoordinatorFactory addStoresForAccounts:withStoreBuilder:] + 333 6 com.apple.AddressBook.core 0x00007fff53cccd7f -[ABPersistentStoreCoordinatorFactory pool_makeCoordinatorForAllAvailableSources] + 114 7 com.apple.AddressBook.core 0x00007fff53ccccc1 ABResultWithAutoreleasePool + 59 8 com.apple.AddressBook.core 0x00007fff53cccc80 -[ABPersistentStoreCoordinatorFactory makeCoordinatorForAllAvailableSources] + 65 9 com.apple.AddressBook.core 0x00007fff53ccca4c -[ABPersistentStoreCoordinatorMap nts_coordinatorForAllSourcesAndDidUpdateMap:] + 114 10 com.apple.AddressBook.core 0x00007fff53ccc99d -[ABPersistentStoreCoordinatorCache coordinatorForAllSources] + 55 11 com.apple.AddressBook.core 0x00007fff53ccc777 -[ABAddressBook(ABAddressBook_CoreData_Private) nts_managedObjectContextWithStoreDescription:databasePath:loadFailure:] + 288 12 com.apple.AddressBook.core 0x00007fff53ccc377 -[ABAddressBook(ABAddressBook_CoreData_Private) managedObjectContext] + 109 13 com.apple.AddressBook.core 0x00007fff53ccc2c0 __38+[ABAddressBook nts_SharedAddressBook]_block_invoke + 24 14 com.apple.AddressBook.core 0x00007fff53ccc257 ABRunWithLock + 32 15 com.apple.AddressBook.core 0x00007fff53cc8873 +[ABAddressBook nts_SharedAddressBook] + 137 16 com.apple.AddressBook.core 0x00007fff53cc8747 +[ABAddressBook nts_CreateSharedAddressBook] + 47 17 com.apple.AddressBook.core 0x00007fff53cc817e +[ABAddressBook sharedAddressBook] + 81 18 com.apple.contacts.ContactsPersistence 0x00007fff572427ee -[CNCDPersistenceStack makePersistenceContext] + 27 19 com.apple.contacts 0x00007fff43d048dd __71+[CNCDContactFetcher contactsForFetchRequest:inPersistenceStack:error:]_block_invoke + 73 20 com.apple.AddressBook.ContactsFoundation 0x00007fff571e407a +[CNEither eitherWithBlock:] + 63 21 com.apple.contacts 0x00007fff43d047e1 +[CNCDContactFetcher contactsForFetchRequest:inPersistenceStack:error:] + 147 22 com.apple.contacts 0x00007fff43d0462a -[CNCoreDataMapperX contactObservableForFetchRequest:] + 137 23 com.apple.contacts 0x00007fff43d03fc3 __91-[CNDataMapperContactStore enumerateContactsAndMatchInfoWithFetchRequest:error:usingBlock:]_block_invoke + 172 24 libsystem_trace.dylib 0x00007fff705f6724 os_activity_apply_f + 66 25 com.apple.contacts 0x00007fff43d03ed8 -[_CNContactsLogger fetchingContacts:] + 225 26 com.apple.contacts 0x00007fff43d03cee -[CNDataMapperContactStore enumerateContactsAndMatchInfoWithFetchRequest:error:usingBlock:] + 304 27 com.apple.contacts 0x00007fff43d16d6e -[CNContactStore enumerateContactsWithFetchRequest:error:usingBlock:] + 149 28 com.mycompany.engage 0x00000001076181f4 0x1074c6000 + 1384948 29 com.mycompany.engage 0x00000001076548ce 0x1074c6000 + 1632462 30 libdispatch.dylib 0x00007fff703925f8 _dispatch_call_block_and_release + 12 31 libdispatch.dylib 0x00007fff7039363d _dispatch_client_callout + 8 32 libdispatch.dylib 0x00007fff703998e0 _dispatch_lane_serial_drain + 602 33 libdispatch.dylib 0x00007fff7039a396 _dispatch_lane_invoke + 385 34 libdispatch.dylib 0x00007fff703a26ed _dispatch_workloop_worker_thread + 598 35 libsystem_pthread.dylib 0x00007fff705d3611 _pthread_wqthread + 421 36 libsystem_pthread.dylib 0x00007fff705d33fd start_wqthread + 13 Thread 6: ... In the stack trace, two lines that are related to my app 28 com.mycompany.engage 0x00000001076181f4 0x1074c6000 + 1384948 29 com.mycompany.engage 0x00000001076548ce 0x1074c6000 + 1632462 It just call the enumerateContacts(with: fetchRequest) on the instance of CNContactStore, and the fetchRequest is created using CNContactFetchRequest(keysToFetch: keysToFetch). Pretty straightforward. The stack trace goes into he Contacts framework, and then goes into the AddressBook framework, and eventually crashed. What could be the possible cause of the crash?
0
0
806
Nov ’21