开发者

Application Crashing due to EXC_BAD_ACCESS

Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000 Crashed Thread: 0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x00004420 objc_msgSend + 24
1   CoreFoundation                  0x00开发者_StackOverflow社区0042a6 CFRetain + 54
2   CoreFoundation                  0x0000a9f0 __CFBasicHashStandardRetainValue + 8
3   CoreFoundation                  0x000054c0 __CFBasicHashAddValue + 100
4   CoreFoundation                  0x00006184 CFBasicHashAddValue + 276
5   CoreFoundation                  0x00006cfe CFDictionaryCreate + 58
6   CoreFoundation                  0x00033d7c -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 1456
7   CoreFoundation                  0x000361bc -[NSDictionary initWithObjectsAndKeys:] + 776
8   iota                            0x0000c4cc 0x1000 + 46284
9   iota                            0x00009282 0x1000 + 33410
10  iota                            0x0000952a 0x1000 + 34090
11  Foundation                      0x00015432 _nsnote_callback + 150
12  CoreFoundation                  0x000271da __CFXNotificationPost_old + 390
13  CoreFoundation                  0x00026e7a _CFXNotificationPostNotification + 122
14  Foundation                      0x0000b9f6 -[NSNotificationCenter postNotification:] + 138
15  Foundation                      0x0007ae02 postQueueNotifications + 258
16  Foundation                      0x0007afae __NSPostIdleQueueNotes + 6
17  CoreFoundation                  0x00031084 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12
18  CoreFoundation                  0x00030eb2 __CFRunLoopDoObservers + 494
19  CoreFoundation                  0x00028206 __CFRunLoopRun + 934
20  CoreFoundation                  0x00027d74 CFRunLoopRunSpecific + 220
21  CoreFoundation                  0x00027c82 CFRunLoopRunInMode + 54
22  GraphicsServices                0x00004e84 GSEventRunModal + 188
23  UIKit                           0x00004f8c -[UIApplication _run] + 564
24  UIKit                           0x000024cc UIApplicationMain + 964
25  iota                            0x0000533a 0x1000 + 17210
26  iota                            0x000052fc 0x1000 + 17148


NSDictionary *contactNameDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:item, @"contact", sortName, @"contactSortName", compositeName, @"compositeName", nil];

The crashes are random. Like it happens once in 15 trials of a particular action.


KERN_PROTECTION_FAILURE - means that your program is accessing a shared memory that it didn't have access to. That's why kenel sent killed your process. I'm pretty sure that some of your pointers point to wrong location. E.g.

NSObject* obj;

obj would have garbage as it's value. You have to declare it like this:

NSObject* obj = nil;


Without more info, it's hard to say. Usually it's because you try to access/insert into your dictionary an object that doesn't exist anymore.


Check if you're not inserting something that is not an instance of NSObject, like an int or something.


Given that you are using initWithObjectsAndKeys:, make sure that you have nil-terminated the list of arguments, as that's a common mistake that can lead to crashes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜