代码之家  ›  专栏  ›  技术社区  ›  Hoang Pham

核心数据崩溃-设备上很少发生的错误

  •  2
  • Hoang Pham  · 技术社区  · 14 年前

    我在查询托管对象数组时得到了这个崩溃日志,但是,在模拟器中运行时,它不会发生。即使在设备中,有时也会发生,有时不会。有人能向我解释为什么会出错,什么是错误吗?

    Incident Identifier: 0ED2BB7C-5E8F-483B-AE08-8DE2C14D0C23
    CrashReporter Key:   e24b9614a897f92ee13ce00b76c71db307c61dcb
    Process:         FooApp [4141]
    Path:            /var/mobile/Applications/8C745160-4129-4369-B201-F55CC42D0466/FooApp.app/FooApp
    Identifier:      FooApp
    Version:         ??? (???)
    Code Type:       ARM (Native)
    Parent Process:  launchd [1]
    
    Date/Time:       2010-06-19 20:57:31.548 +0200
    OS Version:      iPhone OS 3.1.3 (7E18)
    Report Version:  104
    
    Exception Type:  EXC_CRASH (SIGABRT)
    Exception Codes: 0x00000000, 0x00000000
    Crashed Thread:  0
    
    Thread 0 Crashed:
    0   libSystem.B.dylib               0x00090b2c __kill + 8
    1   libSystem.B.dylib               0x00090b1a kill + 4
    2   libSystem.B.dylib               0x00090b0e raise + 10
    3   libSystem.B.dylib               0x000a7e34 abort + 36
    4   libstdc++.6.dylib               0x00066390 __gnu_cxx::__verbose_terminate_handler() + 588
    5   libobjc.A.dylib                 0x00008898 _objc_terminate + 160
    6   libstdc++.6.dylib               0x00063a84 __cxxabiv1::__terminate(void (*)()) + 76
    7   libstdc++.6.dylib               0x00063afc std::terminate() + 16
    8   libstdc++.6.dylib               0x00063bb0 __cxa_rethrow + 108
    9   libobjc.A.dylib                 0x000087c4 objc_exception_rethrow + 8
    10  CoreData                        0x0002725e _PFFaultHandlerLookupRow + 1338
    11  CoreData                        0x00026d1a -[NSFaultHandler fulfillFault:withContext:] + 14
    12  CoreData                        0x00024f8a _PF_FulfillDeferredFault + 354
    13  CoreData                        0x0002864c _sharedIMPL_pvfk_core + 48
    14  CoreData                        0x00036314 _pvfk_9 + 4
    15  FooApp                          0x00004162 -[PNHFeedDataSource tableViewDidLoadModel:] (PNHFeedDataSource.m:47)
    16  FooApp                          0x00055244 -[TTTableViewController didLoadModel:] (TTTableViewController.m:395)
    17  FooApp                          0x000395fc -[TTModelViewController updateViewStates] (TTModelViewController.m:98)
    18  FooApp                          0x00038dce -[TTModelViewController updateView] (TTModelViewController.m:467)
    19  FooApp                          0x00039510 -[TTModelViewController viewWillAppear:] (TTModelViewController.m:185)
    20  FooApp                          0x000554b2 -[TTTableViewController viewWillAppear:] (TTTableViewController.m:252)
    21  UIKit                           0x00088808 -[UINavigationController _startTransition:fromViewController:toViewController:] + 964
    22  UIKit                           0x000883a8 -[UINavigationController _startDeferredTransitionIfNeeded] + 256
    23  UIKit                           0x000ca130 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 400
    24  UIKit                           0x000c9f90 -[UINavigationController popViewControllerAnimated:] + 32
    25  FooApp                          0x0005fc02 -[UINavigationController(TTCategory) popViewControllerAnimated2:] (UINavigationControllerAdditions.m:84)
    26  UIKit                           0x000ca500 -[UINavigationController navigationBar:shouldPopItem:] + 132
    27  UIKit                           0x00152ba8 -[UINavigationBar _popNavigationItemWithTransition:] + 104
    28  UIKit                           0x000ca454 -[UINavigationBar popNavigationItemAnimated:] + 116
    29  UIKit                           0x000ee188 -[UINavigationBar _handleMouseUpAtPoint:] + 536
    30  UIKit                           0x000edf54 -[UINavigationBar touchesEnded:withEvent:] + 84
    31  UIKit                           0x0005a8f8 -[UIWindow _sendTouchesForEvent:] + 520
    32  UIKit                           0x00059f8c -[UIWindow sendEvent:] + 108
    33  UIKit                           0x00055788 -[UIApplication sendEvent:] + 400
    34  UIKit                           0x0005508c _UIApplicationHandleEvent + 4528
    35  GraphicsServices                0x000057dc PurpleEventCallback + 1044
    36  CoreFoundation                  0x00057524 CFRunLoopRunSpecific + 2296
    37  CoreFoundation                  0x00056c18 CFRunLoopRunInMode + 44
    38  GraphicsServices                0x000041c0 GSEventRunModal + 188
    39  UIKit                           0x00003c28 -[UIApplication _run] + 552
    40  UIKit                           0x00002228 UIApplicationMain + 960
    41  FooApp                          0x00002510 main (main.m:11)
    42  FooApp                          0x000024ac start + 44
    
    Thread 1:
    0   libSystem.B.dylib               0x00001488 mach_msg_trap + 20
    1   libSystem.B.dylib               0x00004064 mach_msg + 60
    2   CoreFoundation                  0x00057002 CFRunLoopRunSpecific + 982
    3   CoreFoundation                  0x00056c18 CFRunLoopRunInMode + 44
    4   WebCore                         0x000841d4 RunWebThread(void*) + 412
    5   libSystem.B.dylib               0x0002b780 _pthread_body + 20
    
    Thread 2:
    0   libSystem.B.dylib               0x00001488 mach_msg_trap + 20
    1   libSystem.B.dylib               0x00004064 mach_msg + 60
    2   CoreFoundation                  0x00057002 CFRunLoopRunSpecific + 982
    3   CoreFoundation                  0x00056c18 CFRunLoopRunInMode + 44
    4   Foundation                      0x0005a998 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 172
    5   Foundation                      0x00053ac6 -[NSThread main] + 42
    6   Foundation                      0x00001d0e __NSThread__main__ + 852
    7   libSystem.B.dylib               0x0002b780 _pthread_body + 20
    
    Thread 3:
    0   libSystem.B.dylib               0x000262c0 select$DARWIN_EXTSN + 20
    1   CoreFoundation                  0x000207e2 __CFSocketManager + 342
    2   libSystem.B.dylib               0x0002b780 _pthread_body + 20
    
    Thread 4:
    0   libSystem.B.dylib               0x000916f0 __semwait_signal + 24
    1   libSystem.B.dylib               0x000334a8 _pthread_cond_wait + 1592
    2   libSystem.B.dylib               0x00032c6c pthread_cond_wait + 48
    3   JavaScriptCore                  0x000071c4 WTF::ThreadCondition::wait(WTF::Mutex&) + 4
    4   WebCore                         0x005c00dc WebCore::LocalStorageThread::localStorageThread() + 128
    5   libSystem.B.dylib               0x0002b780 _pthread_body + 20
    
    Thread 5:
    0   libSystem.B.dylib               0x000916f0 __semwait_signal + 24
    1   libSystem.B.dylib               0x000334a8 _pthread_cond_wait + 1592
    2   libSystem.B.dylib               0x00032c6c pthread_cond_wait + 48
    3   JavaScriptCore                  0x000071c4 WTF::ThreadCondition::wait(WTF::Mutex&) + 4
    4   WebCore                         0x005c00dc WebCore::LocalStorageThread::localStorageThread() + 128
    5   libSystem.B.dylib               0x0002b780 _pthread_body + 20
    
    Thread 0 crashed with ARM Thread State:
        r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x385333cc
        r4: 0x00000006    r5: 0x040e5a8c      r6: 0x2fffe610      r7: 0x2fffe620
        r8: 0x00000000    r9: 0x0000000a     r10: 0x00000009     r11: 0x0021fc40
        ip: 0x00000025    sp: 0x2fffe620      lr: 0x33994b21      pc: 0x33994b2c
      cpsr: 0x000f0010
    
    Binary Images:
        0x1000 -    0x78fff +FooApp armv6  <5e810908faf129323bdd2bdede3daabd> /var/mobile/Applications/8C745160-4129-4369-B201-F55CC42D0466/FooApp.app/FooApp
      0x189000 -   0x18afff  dns.so armv6  <957f94410f77a351749ac39d2b4b4abe> /usr/lib/info/dns.so
    0x2fe00000 - 0x2fe26fff  dyld armv6  <544395a4b5546114b878d5131a84fd7f> /usr/lib/dyld
    0x3000e000 - 0x3001afff  DataDetectorsCore armv6  <fd18ffc95012b76c319875bedd99eb43> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/DataDetectorsCore
    0x30092000 - 0x300c6fff  Security armv6  <fb2124d1711c8931a7df711d126193d0> /System/Library/Frameworks/Security.framework/Security
    0x300ca000 - 0x3021efff  AudioToolbox armv6  <31bb7db82eece25ac6742672e3afbe02> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
    0x30343000 - 0x3034cfff  SpringBoardServices armv6  <f13747f4598b0f4b1442877adc75de5a> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
    0x30490000 - 0x30591fff  libicucore.A.dylib armv6  <a99c2e5d034344c7447a7420db2b36b1> /usr/lib/libicucore.A.dylib
    0x30792000 - 0x30799fff  WebUI armv6  <bb2e1be75e3a51511bf16d54af1fa774> /System/Library/PrivateFrameworks/WebUI.framework/WebUI
    0x3079a000 - 0x30804fff  libstdc++.6.dylib armv6  <a35cfd59eee09893fbab57794ad7cbaf> /usr/lib/libstdc++.6.dylib
    0x30805000 - 0x30902fff  JavaScriptCore armv6  <41bc769b8c046770bac84eed2b08ff42> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
    0x30d13000 - 0x30df2fff  CoreData armv6  <20e4f1b34238c3984a7ab05c7edfbce5> /System/Library/Frameworks/CoreData.framework/CoreData
    0x30df3000 - 0x30e16fff  libRIP.A.dylib armv6  <a53df8fe2c05c16f671e2502d0d21f60> /System/Library/Frameworks/CoreGraphics.framework/Resources/libRIP.A.dylib
    0x30f96000 - 0x30f97fff  CoreSurface armv6  <f27efe4047d6b4319bc01edb9007a789> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
    0x30fba000 - 0x31067fff  ImageIO armv6  <572f72dbfb19a2fd37666bb1d58b13cb> /System/Library/PrivateFrameworks/ImageIO.framework/ImageIO
    0x310b3000 - 0x310bdfff  libkxld.dylib armv6  <33215da7e582cbc93ad25bf1cdb8ea62> /usr/lib/system/libkxld.dylib
    0x310be000 - 0x31278fff  CoreGraphics armv6  <41796502b08a751095dcd2b105d1931c> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
    0x3138c000 - 0x313aafff  AddressBook armv6  <80bdcada8d61624b2bb0796b7155f570> /System/Library/Frameworks/AddressBook.framework/AddressBook
    0x313e2000 - 0x3143dfff  CoreAudio armv6  <71fb4de4976308c0a3f86d127e46472b> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
    0x31465000 - 0x314a2fff  libCGFreetype.A.dylib armv6  <b299c486f638e82d10939b7c496b7d78> /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
    0x31546000 - 0x315f3fff  WebKit armv6  <2bf8152a62e6cbc8a219d80489acb0e7> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
    0x31600000 - 0x3164dfff  IOKit armv6  <521cb10d7c6fb9ce21936db07a2587bb> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x316ba000 - 0x316c4fff  DataDetectorsUI armv6  <f84ebef0dfbdd719da4b52b5732e895f> /System/Library/PrivateFrameworks/DataDetectorsUI.framework/DataDetectorsUI
    0x31767000 - 0x3176dfff  liblockdown.dylib armv6  <f18aa1ca3cc98cda954fd821ff88a3ac> /usr/lib/liblockdown.dylib
    0x318f1000 - 0x3195efff  CFNetwork armv6  <58e56341b7a2a491c727a385b871f7b8> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
    0x319c4000 - 0x319fffff  CoreTelephony armv6  <98b8ac66b4615a56958655929505c985> /System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony
    0x31a00000 - 0x31a0afff  MobileCoreServices armv6  <805d82b950722ad728d87e0c24089c4b> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
    0x31a22000 - 0x31a23fff  liblangid.dylib armv6  <f8f20663988ec129b14a4e5a06e1ab0d> /usr/lib/liblangid.dylib
    0x31b59000 - 0x31c03fff  QuartzCore armv6  <5cab4e700e90abef71c1b2b695bd897a> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
    0x31c04000 - 0x31c38fff  SystemConfiguration armv6  <4b1e9c323f8c973bac2737cdccec8de3> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
    0x31ca1000 - 0x31cdffff  CoreText armv6  <fe5639949094efc4d973a1f6457a4e5c> /System/Library/PrivateFrameworks/CoreText.framework/CoreText
    0x31cff000 - 0x31d03fff  libgermantok.dylib armv6  <9b523938db9da7cd317ed09e4845e4b2> /usr/lib/libgermantok.dylib
    0x31d09000 - 0x31dfffff  libxml2.2.dylib armv6  <a2f276df14b4ded9650dea857293b4e9> /usr/lib/libxml2.2.dylib
    0x31fd7000 - 0x31ffefff  AppSupport armv6  <db69446acd77981f1d9c968846e4c868> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
    0x31fff000 - 0x32df0fff  UIKit armv6  <4e881f8351712fd798c335af748b5b5f> /System/Library/Frameworks/UIKit.framework/UIKit
    0x32e05000 - 0x32e5ffff  libsqlite3.dylib armv6  <61513660cb3e21b47ccbf5407e0efae5> /usr/lib/libsqlite3.dylib
    0x32e78000 - 0x32f70fff  Foundation armv6  <a3612d56db60ccfc998caee19d9805d7> /System/Library/Frameworks/Foundation.framework/Foundation
    0x32f71000 - 0x32f79fff  libgcc_s.1.dylib armv6  <6673f222acee5f3a208169712387862a> /usr/lib/libgcc_s.1.dylib
    0x32f7a000 - 0x32f91fff  OpenGLES armv6  <8d075dd39e978efae59c70eeedfd858a> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
    0x32f9a000 - 0x32fc4fff  MobileQuickLook armv6  <accf1f4b9ad21f4873767c8556f6b48b> /System/Library/PrivateFrameworks/MobileQuickLook.framework/MobileQuickLook
    0x33242000 - 0x3324efff  CoreVideo armv6  <63d65206a8853262b597f97b3d949f31> /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo
    0x3324f000 - 0x3324ffff  vecLib armv6  <c8a08b45effd5eb35a476a969628e52d> /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
    0x332b2000 - 0x332c2fff  libbsm.0.dylib armv6  <722065615a92c5d0c57395f0aa624b8d> /usr/lib/libbsm.0.dylib
    0x332e8000 - 0x332e9fff  IOMobileFramebuffer armv6  <89abbd5846018f4b74250e8cb09eaf4c> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
    0x3335f000 - 0x33365fff  MBX2D armv6  <5246c74334f4daf6c0b876605134baa1> /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
    0x33366000 - 0x33409fff  libobjc.A.dylib armv6  <54f0ebeeb9747bf5075f93e2a5043b5e> /usr/lib/libobjc.A.dylib
    0x33730000 - 0x3373efff  libz.1.dylib armv6  <7a06dbf4af39c5b548306c7fb8ffcf0b> /usr/lib/libz.1.dylib
    0x337df000 - 0x337fdfff  libresolv.9.dylib armv6  <c25b840bd418c833ab6c31a29389445a> /usr/lib/libresolv.9.dylib
    0x33856000 - 0x33856fff  Accelerate armv6  <21e1dc9fad96f0d51afbeb7f7e006aaf> /System/Library/PrivateFrameworks/Accelerate.framework/Accelerate
    0x33857000 - 0x33903fff  CoreFoundation armv6  <26d25c2c53c05db6e9adc24d5befaa2c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
    0x33904000 - 0x33a2afff  libSystem.B.dylib armv6  <0373fd64e915a17160732b29d343f95f> /usr/lib/libSystem.B.dylib
    0x33a3d000 - 0x33a41fff  IOSurface armv6  <f19a15d8311b851caeba68c1fef33e11> /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
    0x33a42000 - 0x34195fff  WebCore armv6  <65181be01889192c1252e2535531c99c> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
    0x3430f000 - 0x34349fff  libvDSP.dylib armv6  <cf9cc6079374718dce29cba9de48b993> /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
    0x3434a000 - 0x34355fff  GraphicsServices armv6  <3a4ec1bf23242cddae5f606f0ed38930> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
    

        for (Item *item in model.items)
    

    请注意,Item是一个核心数据对象,model是包含Item items类型的NSArray的类,当NSXML解析器遍历每个下载的数据时,这个类将填充项,每当它完成一个元素的解析时,它将创建一个Item对象并保存到核心数据上下文中。在我的项目中使用了Three20。

    2 回复  |  直到 14 年前
        1
  •  4
  •   TechZen    14 年前

    一般来说,设备上发生的大多数崩溃都是由驱动器的某些问题造成的(特别是如果它显然不涉及任何其他设备特定的功能,如加速度计)最有可能的原因是一个完整的驱动器。当磁盘满的时候,各种奇怪的事情开始发生。

    在这次崩溃中,核心数据试图加载fault(ghost)对象的属性,但失败了。当缓存与存储不同步时,或者在不知道上下文的情况下创建了更改存储的条件时,就会发生这种情况。

    (1) 我会先看看设备是否满了,如果满了就腾出一些空间。相反,您可以故意填充驱动器,以尝试始终如一地触发错误。

    编辑:

    错误可能是由model.items返回的对象实际不属于类“Item”引起的它可能是缺少属性的超类。这就解释了为什么当它试图在实际属性中出错(读入)时失败。

    在故障点附近提供更多的代码可能会有所帮助。

        2
  •  4
  •   bbum    14 年前

    我很惊讶提出的例外没有打印出来。这里没有太多的证据。

    在任何情况下,最有可能的原因是没有正确地使用包含核心数据的线程。也就是说,您是否有多个线程,如果有,是否确定跨线程正确管理托管对象上下文?

    推荐文章