开发者

CoreData crash on mergeChangesFromContextDidSaveNotification: invalid Summary

first the background:

I have a singleton which does all my CoreData related stuff on it. It's getting called from multiple threads. For each thread I generate a new MOC using always the same StoreCoordinator. I have two fetchedResultsController which need to be updated as soon as the data changes on another thread. To merge the changes I call addControllerContextDidSave: like in the Books Demo App.

- (void)addControllerContextDidSave:(NSNotification*)saveNotification {
    if (saveNotification) {
        NSManagedObjectContext *fahrzeugeContext = [fetchedFahrzeuge managedObjectContext];
        NSManagedObjectContext *accountContext = [fetchedAccount managedObjectContext];
        // Merging changes causes the fetched results controller to update its results
        @try {
            if (fahrzeugeContext) [fahrzeugeContext mergeChangesFromContextDidSaveNotification:saveNotification];
            if (accountContext) [accountContext mergeChangesFromContextDidSaveNotification:saveNotification];
        }
        @catch (NSException * e) {NSLog(@"Merge Notification Error: %@", e);}
    }
}

In some really rare cases the App crashes with an EXC_BAD_ACCESS on line mergeChangesFromContextDidSaveNotification: saying the saveNotification has an invalid Summary. (even the try-catch block doesn't work)

It happens only on really, really rare situations (e.g. once a week) so I cannot test it properly.

What can cause that and more important how to fix it. Now I'm testing with if (saveNotification) {} but again it can take a while till it occur again.

CoreData crash on mergeChangesFromContextDidSaveNotification: invalid Summary

.

EDIT: found an older device crash log:

Incident Identifier: 655DB451-81C1-41A6-942C-F54DD9F40FCC
CrashReporter Key:   2495494089df0a2b47c6283c14ad5f8e7895fbbe
Hardware Model:      iPhone1,2
Process:         MyApp [648]
Path:            /var/mobile/Applications/43E12C67-7D7D-4F30-A7E3-D83DDE0FDCC1/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2011-02-25 13:33:30.232 +0100
OS Version:      iPhone OS 4.2.1 (8C148)
Report Version:  104

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

Thread 0:
0   libSystem.B.dylib               0x35d5b4a0 swtch_pri + 8
1   libSystem.B.dylib               0x35de59c8 sched_yield + 8
2   UIKit                           0x35a60c18 -[UITableView(_UITableViewPrivate) _smoothScroll:] + 20
3   UIKit                           0x35a4a4a0 ScrollerHeartbeatCallback + 100
4   GraphicsServices                0x33e79a3c HeartbeatVBLCallback + 152
5   IOMobileFramebuffer             0x3027d864 IOMobileFramebufferVsyncNotifyFunc + 124
6   IOKit                           0x307dc884 IODispatchCalloutFromCFMessage + 292
7   CoreFoundation                  0x37537e30 __CFMachPortPerform + 212
8   CoreFoundation                  0x3752f5c4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 22
9   CoreFoundation                  0x3752f582 __CFRunLoopDoSource1 + 158
10  CoreFoundation                  0x3752182e __CFRunLoopRun + 574
11  CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
12  CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
13  GraphicsServices                0x33e76d1c GSEventRunModal + 188
14  UIKit                           0x3591d574 -[UIApplication _run] + 580
15  UIKit                           0x3591a550 UIApplicationMain + 964
16  MyApp                           0x000177ae 0x1000 + 92078
17  MyApp                           0x00002f68 0x1000 + 8040

Thread 1:
0   libSystem.B.dylib               0x35d8f974 kevent + 24
1   libSystem.B.dylib               0x35e5e2fc _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x35e5dd68 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x35e5d788 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x35de6970 _pthread_wqthread + 392
5   libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 2:
0   libSystem.B.dylib               0x35d5b3b0 mach_msg_trap + 20
1   libSystem.B.dylib               0x35d5d894 mach_msg + 60
2   CoreFoundation                  0x37521f7c __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x37521780 __CFRunLoopRun + 400
4   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
5   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
6   WebCore                         0x3318bd14 RunWebThread(void*) + 524
7   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
8   libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 3:
0   libSystem.B.dylib               0x35d5b3b0 mach_msg_trap + 20
1   libSystem.B.dylib               0x35d5d894 mach_msg + 60
2   CoreFoundation                  0x37521f7c __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x37521780 __CFRunLoopRun + 400
4   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
5   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
6   Foundation                      0x3517ec4e +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 210
7   Foundation                      0x3515cb8a -[NSThread main] + 42
8   Foundation                      0x35155b90 __NSThread__main__ + 908
9   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
10  libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 4:
0   libSystem.B.dylib               0x35d848d8 select$DARWIN_EXTSN + 20
1   CoreFoundation                  0x3755aa34 __CFSocketManager + 356
2   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
3   libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 5:
0   libSystem.B.dylib               0x35de72fc __workq_kernreturn + 8
1   libSystem.B.dylib               0x35de6b50 _pthread_wqthread + 872
2   libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 6:
0   libSystem.B.dylib               0x35d5b3b0 mach_msg_trap + 20
1   libSystem.B.dylib               0x35d5d894 mach_msg + 60
2   CoreFoundation                  0x37521f7c __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x37521780 __CFRunLoopRun + 400
4   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
5   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
6   MapKit                          0x3627ec44 TileCachePrivate::runCacheThread() + 412
7   MapKit                          0x3627ea98 _runCacheThread(void*) + 4
8   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
9   libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 7:
0   libSystem.B.dylib               0x35de454c __semwait_signal + 24
1   libSystem.B.dylib               0x35d90f70 _pthread_cond_wait + 1140
2   libSystem.B.dylib               0x35d90910 pthread_cond_wait + 48
3   QuartzCore                      0x33dd01fc CA::DispatchGroup::thread(void*) + 128
4   QuartzCore                      0x33d86e30 thread_fun + 20
5   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
6   libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 8 Crashed:
0   CoreFoundation                  0x374ffa7c ___CFBasicHashFindBucket_Linear + 120
1   CoreFoundation                  0x374ff948 CFBasicHashAddValue + 352
2   CoreFoundation                  0x3750410a CFSetAddValue + 90
3   CoreFoundation                  0x3752be2a -[__NSCFSet addObject:] + 34
4   CoreData                        0x34994b72 -[NSManagedObjectContext refreshObject:mergeChanges:] + 166
5   CoreData                        0x349b3288 -[NSManagedObjectContext mergeChangesFromContextDidSaveNotification:] + 1800
6   MyApp                           0x0001aa18 0x1000 + 104984
7   Foundation                      0x351663ae _nsnote_callback + 150
8   CoreFoundation                  0x3752096a __CFXNotificationPost_old + 390
9   CoreFoundation                  0x3752060a _CFXNotificationPostNotification + 122
10  Foundation                      0x3515569c -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
11  CoreData                        0x349a0a68 -[NSManagedObjectContext(_NSInternalAdditions) _didSaveChanges] + 1772
12  CoreData                        0x3499b87a -[NSManagedObjectContext save:] + 462
13  MyApp                           0x00018e26 0x1000 + 97830
14  MyApp                           0x0001a372 0x1000 + 103282
15  MyApp                           0x00005344 0x1000 + 17220
16  Foundation                      0x3515cb8a -[NSThread main] + 42
17  Foundation           开发者_运维知识库           0x35155b90 __NSThread__main__ + 908
18  libSystem.B.dylib               0x35de5b44 _pthread_start + 364
19  libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 8 crashed with ARM Thread State:
    r0: 0x00000001    r1: 0x0018be57      r2: 0x0020fdc8      r3: 0x00000001
    r4: 0x00000002    r5: 0x001cde10      r6: 0x00000007      r7: 0x2ff780b8
    r8: 0x00000001    r9: 0x2ff780e0     r10: 0x001ce3e0     r11: 0x00000000
    ip: 0x3752be09    sp: 0x2ff78074      lr: 0x374ffa50      pc: 0x374ffa7c
  cpsr: 0x20000010

Binary Images:
    0x1000 -    0x40fff +MyApp armv6  <1515b6768d3049d6eef946a5e74e95ed> /var/mobile/Applications/43E12C67-7D7D-4F30-A7E3-D83DDE0FDCC1/GPS-Explorer.app/GPS-Explorer
   0xe3000 -    0xe4fff  dns.so armv6  <88b569311cca4a9593b2d670051860d1> /usr/lib/info/dns.so
0x2fe00000 - 0x2fe29fff  dyld armv6  <617f6daf4103547c47a8407a2e0b90de> /usr/lib/dyld
0x30270000 - 0x3027bfff  ITSync armv6  <a451205e89373cbdf0832688085e8f72> /System/Library/PrivateFrameworks/ITSync.framework/ITSync
0x3027c000 - 0x3027efff  IOMobileFramebuffer armv6  <f42bbbf67195a7b98d67ad021bba4784> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x3027f000 - 0x3038dfff  CFNetwork armv6  <d6eeee83216ee9c553134f069f37cbc2> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x303ef000 - 0x303f4fff  CaptiveNetwork armv6  <f41df4b358b77b29ff85e0eaea88ee1d> /System/Library/PrivateFrameworks/CaptiveNetwork.framework/CaptiveNetwork
0x303f5000 - 0x30444fff  Security armv6  <cf625b4dc7ea928891313444ef64a7cb> /System/Library/Frameworks/Security.framework/Security
0x30445000 - 0x3055cfff  libicucore.A.dylib armv6  <8968ff3f62d7780bb1bd75026a7628d0> /usr/lib/libicucore.A.dylib
0x3055d000 - 0x30561fff  ApplePushService armv6  <0560b630d26e261e205fc58942e1885c> /System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService
0x3059d000 - 0x305a8fff  MobileWiFi armv6  <c7532e63e083a1dd2a0ef7352b85749d> /System/Library/PrivateFrameworks/MobileWiFi.framework/MobileWiFi
0x305aa000 - 0x30612fff  libvDSP.dylib armv6  <9d264733fc675943c082bd3b9b567b59> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x30613000 - 0x3064dfff  MobileCoreServices armv6  <beb473ce80390554bb4af21554522286> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
0x3065c000 - 0x3066efff  libbsm.0.dylib armv6  <51e7bb18da9afa44a33e54e42fbd0707> /usr/lib/libbsm.0.dylib
0x3066f000 - 0x306c6fff  CoreMedia armv6  <cd5e9398c161f129146931e888e1c92e> /System/Library/Frameworks/CoreMedia.framework/CoreMedia
0x306f0000 - 0x306fefff  libz.1.dylib armv6  <84592e96bae1a661374b0f9a5d03a3a0> /usr/lib/libz.1.dylib
0x306ff000 - 0x30729fff  PrintKit armv6  <74f9710fa01a33b5bb04c4aeabd6be7d> /System/Library/PrivateFrameworks/PrintKit.framework/PrintKit
0x307d7000 - 0x3082afff  IOKit armv6  <20da5e822f21a8d0a7c5b3e149330efd> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x30831000 - 0x3083bfff  AccountSettings armv6  <eca67ab04f724e1fa7c6406c88e75433> /System/Library/PrivateFrameworks/AccountSettings.framework/AccountSettings
0x30999000 - 0x309c5fff  DataAccess armv6  <8c045822d57a369835f5b40653a48838> /System/Library/PrivateFrameworks/DataAccess.framework/DataAccess
0x309c6000 - 0x309f4fff  MIME armv6  <fac8f55c508ff476e07894af7abdb761> /System/Library/PrivateFrameworks/MIME.framework/MIME
0x30a04000 - 0x30aa3fff  ProofReader armv6  <2734920b62f174c17aeeb15f371615ef> /System/Library/PrivateFrameworks/ProofReader.framework/ProofReader
0x30ad6000 - 0x30b1afff  AddressBook armv6  <1f30c3370dad27331a491ba4b190813c> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x30b3d000 - 0x30b9cfff  CoreAudio armv6  <ccc4bace0d6eca79a32ed84d566f72e9> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x30ba6000 - 0x32ce3fff  TextInput armv6  <3fa14e6e5749e0230becd6ea34a8da7a> /System/Library/PrivateFrameworks/TextInput.framework/TextInput
0x32d7d000 - 0x32d89fff  libkxld.dylib armv6  <f74f359de7bbe3ccdc37fa6f332aebf4> /usr/lib/system/libkxld.dylib
0x32d95000 - 0x32e5cfff  libobjc.A.dylib armv6  <429841269f8bcecd4ba3264a8725dad6> /usr/lib/libobjc.A.dylib
0x32e5d000 - 0x32ecdfff  libsqlite3.dylib armv6  <87b9bb47687902d9120d03d1da9eb9fc> /usr/lib/libsqlite3.dylib
0x32f0c000 - 0x32f1ffff  libmis.dylib armv6  <dba9c086b49bd9540930ff27211570d6> /usr/lib/libmis.dylib
0x33055000 - 0x33061fff  SpringBoardServices armv6  <fd0c472436b3306f5b56118c93c8a423> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x33062000 - 0x3306ffff  MobileBluetooth armv6  <2b68516e1321011a4efbee2947d463c6> /System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth
0x33070000 - 0x338bffff  WebCore armv6  <aa3b6827f051da7a3494c9bee4ebe290> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x338c0000 - 0x338d4fff  MobileDeviceLink armv6  <19d66078f8cf19be558713c13612c7a3> /System/Library/PrivateFrameworks/MobileDeviceLink.framework/MobileDeviceLink
0x338d5000 - 0x33a1dfff  libmecabra.dylib armv6  <fc962eeb4e6cfe4ad5ebee6fb4b1d5c1> /usr/lib/libmecabra.dylib
0x33a21000 - 0x33a6afff  CoreLocation armv6  <a69399375024b2bfae8bb96e845f4fd0> /System/Library/Frameworks/CoreLocation.framework/CoreLocation
0x33a6b000 - 0x33ab3fff  iCalendar armv6  <fbb717874ea0ede24454a5def644ab69> /System/Library/PrivateFrameworks/iCalendar.framework/iCalendar
0x33ab4000 - 0x33ab4fff  Accelerate armv6  <cdde24a7ad004b2b2e600cd4f3ac5eb7> /System/Library/Frameworks/Accelerate.framework/Accelerate
0x33b32000 - 0x33b72fff  QuickLook armv6  <54400e0d48ec86c84e937e55790b9e54> /System/Library/Frameworks/QuickLook.framework/QuickLook
0x33bbc000 - 0x33c0afff  CoreText armv6  <16c9582fdffb598178287c6ce9fd6897> /System/Library/Frameworks/CoreText.framework/CoreText
0x33c16000 - 0x33d73fff  libGLProgrammability.dylib armv6  <aec6b54ffd532bb607aab4acbab679b6> /System/Library/Frameworks/OpenGLES.framework/libGLProgrammability.dylib
0x33d76000 - 0x33d79fff  ActorKit armv6  <d3ec50b4a7f0257ef31baf37936dc275> /System/Library/PrivateFrameworks/ActorKit.framework/ActorKit
0x33d85000 - 0x33e71fff  QuartzCore armv6  <77cd91ff21fe6c58c309f2c82eb95ca5> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x33e72000 - 0x33e81fff  GraphicsServices armv6  <af20aba0ec96e7b7c42bb55ac763c784> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x33ead000 - 0x33f6efff  ImageIO armv6  <0c1b6f466667ff345f2399d8142a9d10> /System/Library/Frameworks/ImageIO.framework/ImageIO
0x33f78000 - 0x33f79fff  CoreSurface armv6  <5e290514380c626e9b0f9f9985b9dc7a> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x340ac000 - 0x340bffff  Notes armv6  <acf9e548948ecb299270c8398ef297a1> /System/Library/PrivateFrameworks/Notes.framework/Notes
0x34137000 - 0x34156fff  EAP8021X armv6  <fa56845b5396c3ebb368c2368331643c> /System/Library/PrivateFrameworks/EAP8021X.framework/EAP8021X
0x341ad000 - 0x341ebfff  ContentIndex armv6  <7f3334380acc72292571803f0b490189> /System/Library/PrivateFrameworks/ContentIndex.framework/ContentIndex
0x343a0000 - 0x343bffff  Bom armv6  <f41bef81e23e2bff59155e5ce46762d3> /System/Library/PrivateFrameworks/Bom.framework/Bom
0x343c0000 - 0x344bdfff  JavaScriptCore armv6  <3547c92c1efc0522b087e7f10eba7728> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x344be000 - 0x34500fff  ManagedConfiguration armv6  <397723a33c19c3487d304d69580acbfc> /System/Library/PrivateFrameworks/ManagedConfiguration.framework/ManagedConfiguration
0x34954000 - 0x34a5cfff  CoreData armv6  <6e3af4b4648ae695f8d4bc0bf5a9dba5> /System/Library/Frameworks/CoreData.framework/CoreData
0x34a6e000 - 0x34a72fff  CertUI armv6  <57c499baf9d343a78fe1b43f0f3ef997> /System/Library/PrivateFrameworks/CertUI.framework/CertUI
0x34b52000 - 0x34f1ffff  libLAPACK.dylib armv6  <0eb734c91165416224b98c943ff6476b> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib
0x34f20000 - 0x35014fff  libiconv.2.dylib armv6  <01916d6784f4de8f3746978faae9c5fa> /usr/lib/libiconv.2.dylib
0x35015000 - 0x35022fff  CoreVideo armv6  <7b100fd5fdf98db1cd0f0649e7f6f316> /System/Library/Frameworks/CoreVideo.framework/CoreVideo
0x35023000 - 0x3507dfff  MessageUI armv6  <21bb9d93911f7015b79aef9dc6df55ef> /System/Library/Frameworks/MessageUI.framework/MessageUI
0x35087000 - 0x35148fff  AddressBookUI armv6  <fea72732451610277e22a667d35ad76d> /System/Library/Frameworks/AddressBookUI.framework/AddressBookUI
0x35151000 - 0x35272fff  Foundation armv6  <6bdeb19a1fcb93e2930dadb50416f881> /System/Library/Frameworks/Foundation.framework/Foundation
0x3529b000 - 0x352a6fff  libbz2.1.0.dylib armv6  <6aa8a4ed0906a495d059ace9125f525d> /usr/lib/libbz2.1.0.dylib
0x352dc000 - 0x35342fff  libBLAS.dylib armv6  <11a3677a08175a30df1b3d66d7e0951a> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib
0x35348000 - 0x353b0fff  GMM armv6  <adcdfedd491ac237b385b6c2d7f684e3> /System/Library/PrivateFrameworks/GMM.framework/GMM
0x35406000 - 0x35406fff  vecLib armv6  <8f914b3e8a581d49fb21d2c0ff75be03> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x35407000 - 0x3540afff  MobileInstallation armv6  <456ed7fe6dd9fcd8e78df425085b1452> /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation
0x35541000 - 0x35547fff  MBX2D armv6  <fad4955cab36e0179df6f8f27d365b8f> /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
0x35758000 - 0x35778fff  AppleAccount armv6  <0ef3f6564414f3ef030031ae25b28bbd> /System/Library/PrivateFrameworks/AppleAccount.framework/AppleAccount
0x35779000 - 0x3577bfff  TextInput_de armv6  <e51cb663d64b8ced7dccfdbd3ad04591> /System/Library/TextInput/TextInput_de.bundle/TextInput_de
0x35815000 - 0x3581afff  AssetsLibraryServices armv6  <224b3cf992a01814f91481244e3213eb> /System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices
0x3581b000 - 0x35877fff  libGLImage.dylib armv6  <7c1049f20c4e64591c09d3ac00c7d3ab> /System/Library/Frameworks/OpenGLES.framework/libGLImage.dylib
0x358bc000 - 0x358c3fff  liblockdown.dylib armv6  <f470dea180ddf23886df75eb256d3888> /usr/lib/liblockdown.dylib
0x358cc000 - 0x358cffff  libgcc_s.1.dylib armv6  <bed95ed187350ce27d22ed241ef892ea> /usr/lib/libgcc_s.1.dylib
0x358d3000 - 0x35d4ffff  UIKit armv6  <14ec6c926b8bda71b73136f6e1a6ac1b> /System/Library/Frameworks/UIKit.framework/UIKit
0x35d5a000 - 0x35e98fff  libSystem.B.dylib armv6  <70571c1e697e2ae7f7a9b1a499453bb6> /usr/lib/libSystem.B.dylib
0x35f7e000 - 0x35fc2fff  VideoToolbox armv6  <101dbbcd34cc3231a8be3fd6392556aa> /System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox
0x35fdb000 - 0x36162fff  CoreGraphics armv6  <9a1d72fa9549d83abc1e735ba37a4dc2> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x36167000 - 0x36178fff  DataAccessExpress armv6  <c112bd2791eb706526db25407ec117d4> /System/Library/PrivateFrameworks/DataAccessExpress.framework/DataAccessExpress
0x36179000 - 0x36255fff  WebKit armv6  <83da207070be989ba81dba3a83d5206a> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x36269000 - 0x36278fff  OpenGLES armv6  <37eda5ddcff210dd321157da35a87a5e> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x36279000 - 0x36362fff  MapKit armv6  <d28b96a0107a7822fda677ed28901c0c> /System/Library/Frameworks/MapKit.framework/MapKit
0x363f3000 - 0x363f9fff  MobileKeyBag armv6  <2d83bf6a43bab972d77a1a6e0f3b03d2> /System/Library/PrivateFrameworks/MobileKeyBag.framework/MobileKeyBag
0x363fa000 - 0x36483fff  Message armv6  <9ed4944d998f99e69ba81afdda659bee> /System/Library/PrivateFrameworks/Message.framework/Message
0x36500000 - 0x36508fff  ProtocolBuffer armv6  <8ed6e560e85eecfaf625219a8247aea4> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/ProtocolBuffer
0x365db000 - 0x365f9fff  libresolv.9.dylib armv6  <9c94634beea733e754dc115737b6e63c> /usr/lib/libresolv.9.dylib
0x36746000 - 0x3683cfff  libxml2.2.dylib armv6  <9c44d05cc67f1ebabd795903e581724e> /usr/lib/libxml2.2.dylib
0x3683e000 - 0x36888fff  libCGFreetype.A.dylib armv6  <cfc94cfa17958f2f94c9eff208a7dace> /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x36889000 - 0x368b4fff  MobileSync armv6  <b42cf746d993e6765d432edf47987835> /System/Library/PrivateFrameworks/MobileSync.framework/MobileSync
0x368b5000 - 0x3692dfff  EventKit armv6  <c1fb82d645d3bf1f2e0558cc884712e9> /System/Library/Frameworks/EventKit.framework/EventKit
0x3694c000 - 0x3694ffff  libAccessibility.dylib armv6  <74e0f77cc276a9412be268c795fdcbca> /usr/lib/libAccessibility.dylib
0x36955000 - 0x36a1ffff  Celestial armv6  <11172a6ee53bdf067548cd4496bc5fe0> /System/Library/PrivateFrameworks/Celestial.framework/Celestial
0x36a20000 - 0x36a2cfff  WebBookmarks armv6  <5d1eb10d851d0362e304d9d95f016df1> /System/Library/PrivateFrameworks/WebBookmarks.framework/WebBookmarks
0x36a2d000 - 0x36a30fff  CrashReporterSupport armv6  <00bc60f690e6328b64e7a7b718edf45a> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/CrashReporterSupport
0x36a31000 - 0x36a74fff  CoreTelephony armv6  <cabbce0fa7630065dc7e7d3ca3bc616c> /System/Library/Frameworks/CoreTelephony.framework/CoreTelephony
0x36c1c000 - 0x36c26fff  AggregateDictionary armv6  <f7429444c955e4f13c6761d20032ab52> /System/Library/PrivateFrameworks/AggregateDictionary.framework/AggregateDictionary
0x36c2b000 - 0x36de1fff  AudioToolbox armv6  <bb65e8ed531fe5923eb8ac00a7c0d87d> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x36de2000 - 0x36e16fff  AppSupport armv6  <783e14db9585fd063c0c2a755cd121b6> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x36e17000 - 0x36e2dfff  PersistentConnection armv6  <006723906b8ac250c1681a1821fbe94d> /System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection
0x36e2e000 - 0x37140fff  GeoServices armv6  <570238d025d41838cc888a0b3f28f4b2> /System/Library/PrivateFrameworks/GeoServices.framework/GeoServices
0x37141000 - 0x37184fff  SystemConfiguration armv6  <207f362e707871e74a292cfd1ea7893d> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x372aa000 - 0x37477fff  MediaToolbox armv6  <21ceabd0e5de17ad4e883c85fcd34d51> /System/Library/PrivateFrameworks/MediaToolbox.framework/MediaToolbox
0x37478000 - 0x3747dfff  IOSurface armv6  <ffd66ca04dfe7d382d6961f0df3839ff> /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x3748d000 - 0x374f8fff  libstdc++.6.dylib armv6  <eccd1d7183e73587b2c0aa5755a19c39> /usr/lib/libstdc++.6.dylib
0x374f9000 - 0x375e4fff  CoreFoundation armv6  <ab0eac0ddd5b4ae1bf8541116e3c0bd1> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x3760a000 - 0x3760bfff  DataMigration armv6  <d2de7c0db77278484236669c2cdccabb> /System/Library/PrivateFrameworks/DataMigration.framework/DataMigration
0x37731000 - 0x37736fff  libGFXShared.dylib armv6  <bd1c480607cc286288db1ca1aec64180> /System/Library/Frameworks/OpenGLES.framework/libGFXShared.dylib
0x377f6000 - 0x37817fff  libRIP.A.dylib armv6  <22c6da37f3adf325f99c3a0494e04c02> /System/Library/Frameworks/CoreGraphics.framework/Resources/libRIP.A.dylib
0x37992000 - 0x37999fff  libMobileGestalt.dylib armv6  <de9b417e7278742e90b30b1ad45f31fa> /usr/lib/libMobileGestalt.dylib


In some really rare cases the App crashes with an EXC_BAD_ACCESS on line mergeChangesFromContextDidSaveNotification: saying the saveNotification has an invalid Summary. (even the try-catch block doesn't work)

EXC_BAD_ACCESS is a hard crash, not an exception, which is why the try-catch won't catch it.

Can you post the backtrace of the crash and the invalid summary message?

Overall, this sounds like a thread synchronization issue. It sounds like you have a relatively complex concurrency model and, more likely than not, there is a synchronization bug somewhere.


If you're using multiple ManagedObjectContext across threads you have to lock the context before any read/write operation to ManagedObjects from this context.

This is particularly important when implementing mergeContextFromDidSaveNotification because in this case the context is used simultaneously by 2 threads. You then have to lock the context before merge in the notified thread (usually the main thread) and before any change in the background thread.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜