Issues after updated to Xcode 5 - xcode

I had my iOS App up to 98% completed on Xcode 4.6 and iOS 6.1 and it's working OK.
But then problems begin when I try to update my Xcode to version 5 and the SDK to iOS 7.
When I try to run the app on Xcode 5 but with iOS 6.1 it continues working ok, but when I tried to run on SDK 7 I have these issues:
2013-12-17 19:44:47.656 myAPP[2207:70b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<MKUserLocation 0x9d9af90> valueForUndefinedKey:]: this class is not key value coding-compliant for the key distanceAnnotation.'
*** First throw call stack:
(
0 CoreFoundation 0x01bf65e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x019798b6 objc_exception_throw + 44
2 CoreFoundation 0x01c866a1 -[NSException raise] + 17
3 Foundation 0x0142d8ca -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 282
4 Foundation 0x0139a921 _NSGetUsingKeyValueGetter + 81
5 Foundation 0x01399f5b -[NSObject(NSKeyValueCoding) valueForKey:] + 260
6 Foundation 0x013b9a5a -[NSObject(NSKeyValueCoding) valueForKeyPath:] + 409
7 Foundation 0x013c68c6 _sortedObjectsUsingDescriptors + 380
8 Foundation 0x013c66d7 -[NSMutableArray(NSKeyValueSorting) sortUsingDescriptors:] + 578
9 myapp
0x00009e50 -[mapa mapViewDidFinishLoadingMap:] + 496
10 MapKit 0x0037e974 -[MKMapView mapViewDidFinishLoadingTiles:] + 78
11 VectorKit 0x050a3ade -[VKMapView mapDidFinishLoadingTiles:] + 78
12 VectorKit 0x050abe4e -[VKMapCanvas mapModelDidFinishLoadingTiles:] + 46
13 VectorKit 0x050b82cd -[VKMapModel didStopLoadingTilesWithError:] + 77
14 VectorKit 0x051ae2e1 -[VKTileProvider didStopLoadingTilesWithError:] + 49
15 VectorKit 0x051b1c99 -[VKTileSource didFinishWithNetwork] + 73
16 VectorKit 0x051c3aa3 __41-[VKResourcesTileSource performDownload:]_block_invoke73 + 51
17 GeoServices 0x04bb98a6 ___ZNK49-[GEOTileLoaderInternal _loadedTile:forKey:info:]66__49-[GEOTileLoaderInternal _loadedTile:forKey:info:]_block_invoke3$_1clERKN8LoadItem9RequesterE_block_invoke_2 + 85
18 libdispatch.dylib 0x021f77f8 _dispatch_call_block_and_release + 15
19 libdispatch.dylib 0x0220c4b0 _dispatch_client_callout + 14
20 libdispatch.dylib 0x021fa75e _dispatch_main_queue_callback_4CF + 340
21 CoreFoundation 0x01c5ba5e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
22 CoreFoundation 0x01b9c6bb __CFRunLoopRun + 1963
23 CoreFoundation 0x01b9bac3 CFRunLoopRunSpecific + 467
24 CoreFoundation 0x01b9b8db CFRunLoopRunInMode + 123
25 GraphicsServices 0x033579e2 GSEventRunModal + 192
26 GraphicsServices 0x03357809 GSEventRun + 104
27 UIKit 0x004dad3b UIApplicationMain + 1225
28 FarmValencia 0x000029ad main + 141
29 libdyld.dylib 0x0249e70d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Theres simply not enough information to correctly debug this item.
I can recommend however that you add a Breakpoint for all Exceptions
Here is an example of adding an All Exception breakpoint in XCode 4. The process is the same in XCode 5
http://www.alauda.ro/2013/02/03/xcode-4-exception-breakpoints/
Aside from that you may try working with NSSetUncaughtExceptionHandler
http://www.cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html
This will allow you to trap the error and output the results but bear in mind that this is something you should only do during debug.
Wrapping it in an "#if DEBUG" is a good idea.
I hope this helps you out. These kind of bugs are a pain to fix.
NOTE
You may check if the key value set you are using didn't change between SDK's

Are you by chance sending the message valueForUndefinedKey: to the class MKUserLocation?
Here's what the class reference says about getting user location:
"The MKUserLocation class defines a specific type of annotation that identifies the user’s current location. You do not create instances of this class directly. Instead, you retrieve an existing MKUserLocation object from the userLocation property of the map view displayed in your application."
https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKUserLocation_Class/Reference/Reference.html

Related

In core data NSFetchRequest, getting NSInvalidArgumentException, unrecognized selector sent to instance

The code is as follows (I isolated it through print statements, the error happens in these lines):
let request = NSFetchRequest<Group>(entityName: "Group")
request.sortDescriptors = [NSSortDescriptor(key: "id", ascending: false)]
let groups = try! context.fetch(request)
Notes (edited):
SQLite backing store
XCode 12.3
I have checked the basics, there exists a Group entity with an id field.
Even if there is a simple solution, would be also very grateful for a bug-fixing strategy here. Is there some way I can read through documentation to figure this out myself?
Full Stack Trace:
2020-12-31 08:01:35.180433-0700 Things[25892:958568] -[__NSConcreteUUID compare:]: unrecognized selector sent to instance 0x60000367a9e0
2020-12-31 08:01:35.190552-0700 Things[25892:958568] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSConcreteUUID compare:]: unrecognized selector sent to instance 0x60000367a9e0'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff20420af6 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007fff20177e78 objc_exception_throw + 48
2 CoreFoundation 0x00007fff2042f6f7 +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0
3 CoreFoundation 0x00007fff20425036 ___forwarding___ + 1489
4 CoreFoundation 0x00007fff20427068 _CF_forwarding_prep_0 + 120
5 Foundation 0x00007fff2084132b _NSCompareObject + 46
6 CoreFoundation 0x00007fff203aa09d __CFSimpleMergeSort + 74
7 CoreFoundation 0x00007fff203aa133 __CFSimpleMergeSort + 224
8 CoreFoundation 0x00007fff203a9c4a CFSortIndexes + 395
9 CoreFoundation 0x00007fff203aa5f6 CFMergeSortArray + 288
10 Foundation 0x00007fff208419d1 _sortedObjectsUsingDescriptors + 558
11 Foundation 0x00007fff20841bbe -[NSArray(NSKeyValueSorting) sortedArrayUsingDescriptors:] + 232
12 CoreData 0x00007fff25113c7e -[NSManagedObjectContext executeFetchRequest:error:] + 4353
13 libswiftCoreData.dylib 0x00007fff54a88993 $sSo22NSManagedObjectContextC8CoreDataE5fetchySayxGSo14NSFetchRequestCyxGKSo0gH6ResultRzlF + 51
14 Things 0x00000001048b7bdf $s6Things5GroupC6getAll7contextSayACGSo22NSManagedObjectContextC_tFZ + 591
15 Things 0x0000000104872da7 $s6Things16thingDataToThing2td7contextAA0E0CAA0eC0V_So22NSManagedObjectContextCtF + 1399
16 Things 0x00000001048836e5 $s6Things9APIServerC14syncWithRemote7context8callbackySo22NSManagedObjectContextC_yyctF14completionBothL_10groupDatas05thingN0ySayAA9GroupDataVG_SayAA05ThingQ0VGtF0O6MapperL_2tdAA0R0CAP_tF + 37
17 Things 0x0000000104883908 $s6Things9ThingDataVAA0B0Cs5Error_pIggozo_AcEsAF_pIegnrzo_TR + 56
18 Things 0x000000010488b034 $s6Things9ThingDataVAA0B0Cs5Error_pIggozo_AcEsAF_pIegnrzo_TRTA + 20
19 libswiftCore.dylib 0x00007fff2f8edfe2 $sSlsE3mapySayqd__Gqd__7ElementQzKXEKlF + 674
20 Things 0x000000010488313f $s6Things9APIServerC14syncWithRemote7context8callbackySo22NSManagedObjectContextC_yyctF14completionBothL_10groupDatas05thingN0ySayAA9GroupDataVG_SayAA05ThingQ0VGtF + 3855
21 Things 0x0000000104883b0c $s6Things9APIServerC14syncWithRemote7context8callbackySo22NSManagedObjectContextC_yyctF16completionGroupsL_10groupDatasySayAA9GroupDataVG_tF0kA0L_05thingN0ySayAA05ThingP0VG_tF + 108
22 Things 0x000000010488207f $sSay6Things9ThingDataVGIegg_ADIegn_TR + 15
23 Things 0x000000010487ecfc $s6Things9APIServerC7request3url15queryParameters6parser0C6Method10completion12errorHandler12httpBodyJsonySS_SDyS2SGx10Foundation4DataVcAA11RequestTypeOyxcySScAOSgtlFyAR_So13NSURLResponseCSgs5Error_pSgtcfU_yycfU_ + 348
24 Things 0x000000010488b463 $s6Things9APIServerC7request3url15queryParameters6parser0C6Method10completion12errorHandler12httpBodyJsonySS_SDyS2SGx10Foundation4DataVcAA11RequestTypeOyxcySScAOSgtlFyAR_So13NSURLResponseCSgs5Error_pSgtcfU_yycfU_TA + 51
25 Things 0x000000010487ed70 $sIeg_IeyB_TR + 48
26 libdispatch.dylib 0x0000000104c2d7ec _dispatch_call_block_and_release + 12
27 libdispatch.dylib 0x0000000104c2e9c8 _dispatch_client_callout + 8
28 libdispatch.dylib 0x0000000104c3ce75 _dispatch_main_queue_callback_4CF + 1152
29 CoreFoundation 0x00007fff2038edbb __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
30 CoreFoundation 0x00007fff2038963e __CFRunLoopRun + 2685
31 CoreFoundation 0x00007fff203886d6 CFRunLoopRunSpecific + 567
32 GraphicsServices 0x00007fff2bededb3 GSEventRunModal + 139
33 UIKitCore 0x00007fff24690e0b -[UIApplication _run] + 912
34 UIKitCore 0x00007fff24695cbc UIApplicationMain + 101
35 libswiftUIKit.dylib 0x00007fff54d1e5f2 $s5UIKit17UIApplicationMainys5Int32VAD_SpySpys4Int8VGGSgSSSgAJtF + 98
36 Things 0x000000010489497a $sSo21UIApplicationDelegateP5UIKitE4mainyyFZ + 122
37 Things 0x00000001048948ee $s6Things11AppDelegateC5$mainyyFZ + 46
38 Things 0x00000001048949c9 main + 41
39 libdyld.dylib 0x00007fff202593e9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSConcreteUUID compare:]: unrecognized selector sent to instance 0x60000367a9e0'
terminating with uncaught exception of type NSException
CoreSimulator 732.18.6 - Device: iPhone 11 (93AB6812-3722-4022-B989-2E1423E6E6D0) - Runtime: iOS 14.3 (18C61) - DeviceType: iPhone 11
Sorting on UUID fields is normally not supported by Core Data. To get it working, change the key path to a string type, like this:
[NSSortDescriptor(key: "id.description", ascending: false)]
Key path id.uuidString would theoretically be better, but this still gives the same crash as described in the original question (at least in macOS 11).

unrecognized selector sent to instance Error with Facebook SDK for Xcode 7

I am using the recent facebook sdk and parse sdk for ios. When i try to run my app on the simulator i get the following error:
ParseStarterProject-Swift[2841:107652] -[PFUserAuthenticationController authenticationDelegateForAuthType:]: unrecognized selector sent to instance 0x7fd0bbc34620
2015-09-30 00:56:33.960 ParseStarterProject-Swift[2841:107652] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PFUserAuthenticationController authenticationDelegateForAuthType:]: unrecognized selector sent to instance 0x7fd0bbc34620'
This error is when i call the facebook application in my appdelegate file.
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
The following is my stack trace.
First throw call stack:
(
0 CoreFoundation 0x00000001102cef65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000011280fdeb objc_exception_throw + 48
2 CoreFoundation 0x00000001102d758d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x0000000110224f7a ___forwarding___ + 970
4 CoreFoundation 0x0000000110224b28 _CF_forwarding_prep_0 + 120
5 ParseStarterProject-Swift 0x000000010f06fdf5 +[PFFacebookUtils _authenticationProvider] + 139
6 ParseStarterProject-Swift 0x000000010f06fe4c +[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:] + 48
7 ParseStarterProject-Swift 0x000000010ef42f50 _TFC25ParseStarterProject_Swift11AppDelegate11applicationfS0_FTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVSs10DictionaryCSo8NSObjectPSs9AnyObject____Sb + 2160
8 ParseStarterProject-Swift 0x000000010ef43903 _TToFC25ParseStarterProject_Swift11AppDelegate11applicationfS0_FTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVSs10DictionaryCSo8NSObjectPSs9AnyObject____Sb + 179
9 UIKit 0x000000011138f4ca -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 272
10 UIKit 0x0000000111390670 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3415
11 UIKit 0x0000000111396e15 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1755
12 UIKit 0x0000000111393ff0 -[UIApplication workspaceDidEndTransaction:] + 188
13 FrontBoardServices 0x0000000113ef37ac -[FBSSerialQueue _performNext] + 192
14 FrontBoardServices 0x0000000113ef3b1a -[FBSSerialQueue _performNextFromRunLoopSource] + 45
15 CoreFoundation 0x00000001101fb0a1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16 CoreFoundation 0x00000001101f0fcc __CFRunLoopDoSources0 + 556
17 CoreFoundation 0x00000001101f0483 __CFRunLoopRun + 867
18 CoreFoundation 0x00000001101efe98 CFRunLoopRunSpecific + 488
19 UIKit 0x000000011139398d -[UIApplication _run] + 402
20 UIKit 0x0000000111398676 UIApplicationMain + 171
21 ParseStarterProject-Swift 0x000000010ef449dd main + 109
22 libdyld.dylib 0x00000001133e492d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
I managed to fix this error doing the following:
First I deployed the official version of Parse Server (instead of Rob's version). Open this link and click 'Deploy to Heroku', follow the steps. https://github.com/ParsePlatform/parse-server-example
After that I downloaded the Parse Frameworks (including Facebook framework) from the link below and replaced all current frameworks in my project with these frameworks downloaded. https://parse.com/downloads/ios/parse-library/latest
Other than that just follow the class steps (adding code to AppDelegate, Info.pslist e etc.
Any problems, let me know.

Contacts and Security & Privacy

It's something that I didn't know till an hour ago or so, but if your application tries to access Contacts (previously, Address Book) data through the ABAddressBook Class, the user will be prompted for confirmation just as you will be prompted for confirmation when an iOS application tries to access Contacts data. Then the Security & Privacy Preferences Pane will be updated, and you will see your application listed under the Privacy list.
So if you try to access Contacts data with the application blocked, you will get an error with Xcode stating like "Address book access is denied for executable at path..." You can check the privacy status with ABAddressBookGetAuthorizationStatus() in iOS. How do you find out if your application has privacy permission in OS X?
Additionally, if you have the answer, I wonder where Mac OS stores the list of applications under the Privacy tab? I've checked User's Preferences folder. But I don't see any file with it.
Thank you for your help.
// Edit 1 //
The following is an error output shown when the application attempts to access ABAddressBook with ABAddressBook *addressBook = [ABAddressBook sharedAddressBook];:
2013-08-14 21:47:59.796 AppName[5374:1803] Address book access is denied for executable at path: /Users/Jim/Library/Developer/Xcode/DerivedData/AppName-eymlymijdmbqaldaqcaecgdyroxa/Build/Products/Debug/AppName.app/Contents/MacOS/AppName
(
0 AddressBook 0x00007fff8a1232fc __ABIsAccessGranted_block_invoke_0 + 36
1 libdispatch.dylib 0x00007fff93f5b0b6 _dispatch_client_callout + 8
2 libdispatch.dylib 0x00007fff93f5b041 dispatch_once_f + 50
3 AddressBook 0x00007fff8a123258 ABIsAccessGranted + 40
4 AddressBook 0x00007fff8a12319e +[ABAddressBook sharedAddressBook] + 12
5 AppName 0x00000001000180e7 -[AppDelegate extractWorkAddresses] + 55
6 AppName 0x0000000100011a68 -[AppDelegate extractWork1Address:] + 72
7 AppKit 0x00007fff8c9f6989 -[NSApplication sendAction:to:from:] + 342
8 AppKit 0x00007fff8cb2c37c -[NSMenuItem _corePerformAction] + 406
9 AppKit 0x00007fff8cb2c06a -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 133
10 AppKit 0x00007fff8c81928f -[NSMenu _internalPerformActionForItemAtIndex:] + 36
11 AppKit 0x00007fff8c819117 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 135
12 AppKit 0x00007fff8cb25175 NSSLMMenuEventHandler + 342
13 HIToolbox 0x00007fff8a84cd1a _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1206
14 HIToolbox 0x00007fff8a84c1e9 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 410
15 HIToolbox 0x00007fff8a861fc9 SendEventToEventTarget + 40
16 HIToolbox 0x00007fff8a898ca9 _ZL18SendHICommandEventjPK9HICommandjjhPKvP20OpaqueEventTargetRefS5_PP14OpaqueEventRef + 443
17 HIToolbox 0x00007fff8a83da21 SendMenuCommandWithContextAndModifiers + 59
18 HIToolbox 0x00007fff8a83d9d3 SendMenuItemSelectedEvent + 254
19 HIToolbox 0x00007fff8a83d85f _ZL19FinishMenuSelectionP13SelectionDataP10MenuResultS2_ + 94
20 HIToolbox 0x00007fff8a8198bb _ZL14MenuSelectCoreP8MenuData5PointdjPP13OpaqueMenuRefPt + 605
21 HIToolbox 0x00007fff8a818ec8 _HandleMenuSelection2 + 565
22 AppKit 0x00007fff8c9e48f6 _NSHandleCarbonMenuEvent + 245
23 AppKit 0x00007fff8c906acf _DPSNextEvent + 2073
24 AppKit 0x00007fff8c905e22 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
25 AppKit 0x00007fff8c8fd1d3 -[NSApplication run] + 517
26 AppKit 0x00007fff8c8a1c06 NSApplicationMain + 869
27 AppName 0x0000000100002092 main + 34
28 AppName 0x0000000100002064 start + 52
)
If the user grants access, your application can access ABAddressBook as usual. If the user denies access, the addressBook and sharedAddressBook methods of ABAddressBook return nil.
I don't think there is a way to avoid that exception (which doesn't match what the docs say should happen). So, you can add that section of code where you try to get the sharedAddressBook into a try catch block and avoid the app dying if the exception is thrown.

Why can’t I run Xcode debugger highlighting the call stack after a crash/exception?

So, when developing, I get a crash when running the app in iPhone simulator. Say something like this in the console...
2010-08-01 19:28:04.228 FakeCreme[32888:207] adding bucket: (null)
2010-08-01 19:28:04.230 FakeCreme[32888:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object at 0'
*** Call stack at first throw:
(
0 CoreFoundation 0x02641919 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x0278f5de objc_exception_throw + 47
2 CoreFoundation 0x0263b571 -[__NSArrayM insertObject:atIndex:] + 225
3 CoreFoundation 0x026369c4 -[__NSArrayM addObject:] + 68
4 FakeCreme 0x0000b645 -[BucketsTable didReceiveEvents:withVerb:forDomain:] + 557
5 FakeCreme 0x0002e2fa -[EventManager addObject:withVerb:inDomain:] + 3206
6 FakeCreme 0x0000a7a8 -[BucketsTable viewDidLoad] + 1389
7 UIKit 0x003cac26 -[UIViewController view] + 179
8 UIKit 0x003c9050 -[UIViewController contentScrollView] + 42
9 UIKit 0x003d8df7 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 48
10 UIKit 0x003d74ff -[UINavigationController _layoutViewController:] + 43
11 UIKit 0x003d8789 -[UINavigationController _startTransition:fromViewController:toViewController:] + 524
12 UIKit 0x003d3329 -[UINavigationController _startDeferredTransitionIfNeeded] + 266
13 UIKit 0x004ee209 -[UILayoutContainerView layoutSubviews] + 226
14 QuartzCore 0x040e50d5 -[CALayer layoutSublayers] + 177
15 QuartzCore 0x040e4e05 CALayerLayoutIfNeeded + 220
16 QuartzCore 0x040e464c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 302
17 QuartzCore 0x040e42b0 _ZN2CA11Transaction6commitEv + 292
18 UIKit 0x0032563f -[UIApplication _reportAppLaunchFinished] + 39
19 UIKit 0x00325a68 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 545
20 UIKit 0x0032f452 -[UIApplication handleEvent:withNewEvent:] + 1958
21 UIKit 0x00328074 -[UIApplication sendEvent:] + 71
22 UIKit 0x0032cac4 _UIApplicationHandleEvent + 7495
23 GraphicsServices 0x02cbbafa PurpleEventCallback + 1578
24 CoreFoundation 0x02622dc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
25 CoreFoundation 0x02583737 __CFRunLoopDoSource1 + 215
26 CoreFoundation 0x025809c3 __CFRunLoopRun + 979
27 CoreFoundation 0x02580280 CFRunLoopRunSpecific + 208
28 CoreFoundation 0x025801a1 CFRunLoopRunInMode + 97
29 UIKit 0x00325226 -[UIApplication _run] + 625
30 UIKit 0x00330b58 UIApplicationMain + 1160
31 FakeCreme 0x000025a0 main + 102
32 FakeCreme 0x00002531 start + 53
33 ??? 0x00000001 0x0 + 1
)
terminate called after throwing an instance of 'NSException'
(Details of crash don't matter, just an illustration.)
Now, it used to be the case that when I get such a crash, I can run Xcode debugger and get the call trace conveniently loaded there, so that the debugger loads the call stack and I can interactively navigate in the methods that were called just at the time.
But ever since installing Xcode 3.2.3 and/or switching computers, this doesn't work. I load debugger at this point where my app is halted, but it comes up empty, no call stack.
I'm sure there is an Xcode setting I have missed somewhere, but didn't find anything on my own quickly glancing through settings. What do I need to do to get the call stack loaded in debugger at this point?
Sometimes, for some reason the XCode debugger stops in a place where it simply cannot pick up debug values. I've seen it when trying to stop in callbacks for animations. There's not a setting you can really chose to fix this (though you should check you are running in Debugn and not Release, and that debugging symbol generation is still checked in project settings).
You might try using the LLVM debugger in XCode 4.
However, to solve your particular problem - it seems pretty clear you are trying to insert an object into an array in +didReceiveEvents:WithVerb:ForDomain: in BucketsTable, where you are inserting some point too far after the last element in the array. You might try an NSLog around any array insert there with index and object values.

Core Data Crashing during NSManagedObjectContext processPendingChanges

I am getting a (what seems to me as a strange) crash with Core Data.
From what I can gather it is happening when Core Data does a save and subsequent managedObjectContextDidSave methods are fired.
I am at a loss and really hoping someone can help me out or guide me in the right direction.
The crash report is as follows:
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000b
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x000026f4 objc_msgSend + 16
1 Foundation 0x000437a4 NSClassFromObject + 8
2 Foundation 0x0000ba54 _NSIMPForObjectAndSelector + 4
3 Foundation 0x00095eae -[NSSortDescriptor compareObject:toObject:] + 110
4 CoreData 0x000b0a6e +[NSFetchedResultsController(PrivateMethods) _insertIndexForObject:inArray:lowIdx:highIdx:sortDescriptors:] + 174
5 CoreData 0x000b1496 -[NSFetchedResultsController(PrivateMethods) _postprocessInsertedObjects:] + 342
6 CoreData 0x000b32d6 -[NSFetchedResultsController(PrivateMethods) _postprocessUpdatedObjects:] + 430
7 CoreData 0x000b2a5e -[NSFetchedResultsController(PrivateMethods) _managedObjectContextDidChange:] + 498
8 Foundation 0x0004bbf6 _nsnote_callback + 162
9 CoreFoundation 0x00050af2 _CFXNotificationPostNotification + 298
10 Foundation 0x000497f4 -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
11 CoreData 0x0002e42e -[NSManagedObjectContext(_NSInternalNotificationHandling) _postObjectsDidChangeNotificationWithUserInfo:] + 66
12 CoreData 0x0007fd26 -[NSManagedObjectContext(_NSInternalChangeProcessing) _createAndPostChangeNotification:withDeletions:withUpdates:withRefreshes:] + 134
13 CoreData 0x0001670a -[NSManagedObjectContext(_NSInternalChangeProcessing) _postRefreshedObjectsNotificationAndClearList] + 70
14 CoreData 0x000164ac -[NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:] + 1656
15 CoreData 0x0004b5fa -[NSManagedObjectContext processPendingChanges] + 10
16 CoreData 0x0003e2a4 _performRunLoopAction + 120
17 CoreFoundation 0x0000fb50 __CFRunLoopDoObservers + 420
18 CoreFoundation 0x00056a32 CFRunLoopRunSpecific + 1734
19 CoreFoundation 0x00056356 CFRunLoopRunInMode + 42
20 GraphicsServices 0x00003cb8 GSEventRunModal + 108
21 GraphicsServices 0x00003d64 GSEventRun + 56
22 UIKit 0x00002768 -[UIApplication _run] + 384
23 UIKit 0x0000146c UIApplicationMain + 688
24 MyApp 0x000022d2 main (main.m:14)
25 MyApp 0x00002248 start + 44
It looks like one of the items in one of your database arrays is getting released one too many times (and therefore gets deallocated). It's crashing trying to sort your array, making a comparison with a deallocated object.
Try running your program with NSZombieEnabled -- it prevents the deallocation so you can see which object is getting messages sent to it with a retain count of 0.
If you are using a NSFetchedResultsController then there may be an error in that code and it is not easy to see that. I would suggest putting in some log statements into your NSFetchedResultsController delegate methods and watch which one is getting fired.
Since the NSFRC is fired as part of the save routine of the NSManagedObjectContext, an error in its delegate can easily be misinterpreted as an error in the save itself.
Update 1
If its on a date then perhaps when you set that date somewhere you are overreleasing it yourself? Perhaps calling a -release on a [NSDate date]. That type of error would be hidden until Core Data tried to access the date object.

Resources