Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Strange NSInternalInconsistencyException and PKService crash in iOS Today Extension

I installed Crashlytics on my iOS Today Extension, and I am getting this strange crash. Does anyone know why this might be happening?

Fatal Exception: NSInternalInconsistencyException removing inactive plug-in com.somecompany.someapp.TodayExtension(1.0)>

The line that it is crashing on is

11 PlugInKit -[PKService unregisterPersonality:] + 188

In my today extension, in viewDidLoad, it will get the user's current location, and then make a network request to fetch data about that location. Is this happening because my operation is taking too long and iOS is killing my extension? I haven't been able to reproduce this, but I think what user's see is a blank space where the extension should be or it doesn't show anything but the title of the extension.


    Thread : Fatal Exception: NSInternalInconsistencyException
    0  CoreFoundation                 0x0000000181cc2530 __exceptionPreprocess + 132
    1  libobjc.A.dylib                0x0000000192c980e4 objc_exception_throw + 60
    2  CoreFoundation                 0x0000000181cc23f0 +[NSException raise:format:]
    3  Foundation                     0x0000000182b6dc34 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112
    4  PlugInKit                      0x000000018d1c04a0 __35-[PKService unregisterPersonality:]_block_invoke + 488
    5  libdispatch.dylib              0x00000001932e9954 _dispatch_client_callout + 16
    6  libdispatch.dylib              0x00000001932f31e4 _dispatch_barrier_sync_f_invoke + 76
    7  PlugInKit                      0x000000018d1c024c -[PKService unregisterPersonality:] + 188
    8  PlugInKit                      0x000000018d1bdfec -[PKServicePersonality shutdownPlugIn] + 108
    9  CoreFoundation                 0x0000000181cc8350 __invoking___ + 144
    10 CoreFoundation                 0x0000000181bc621c -[NSInvocation invoke] + 296
    11 Foundation                     0x0000000182c9d33c __NSXPCCONNECTION_IS_CALLING_OUT_TO_EXPORTED_OBJECT__ + 24
    12 Foundation                     0x0000000182b4b8c8 -[NSXPCConnection _decodeAndInvokeMessageWithData:] + 1604
    13 Foundation                     0x0000000182accbd4 message_handler + 708
    14 libxpc.dylib                   0x00000001934f0c78 _xpc_connection_call_event_handler + 68
    15 libxpc.dylib                   0x00000001934eeb7c _xpc_connection_mach_event + 2160
    16 libdispatch.dylib              0x00000001932e9a28 _dispatch_client_callout4 + 16
    17 libdispatch.dylib              0x00000001932ed140 _dispatch_mach_msg_invoke + 492
    18 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    19 libdispatch.dylib              0x00000001932ec668 _dispatch_mach_invoke + 136
    20 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    21 libdispatch.dylib              0x00000001932eca5c _dispatch_queue_invoke + 132
    22 libdispatch.dylib              0x00000001932f6318 _dispatch_root_queue_drain + 720
    23 libdispatch.dylib              0x00000001932f7c4c _dispatch_worker_thread3 + 108
    24 libsystem_pthread.dylib        0x00000001934c922c _pthread_wqthread + 816
    25 libsystem_pthread.dylib        0x00000001934c8ef0 start_wqthread + 4


    Thread : Crashed: service sync
    0  libsystem_kernel.dylib         0x000000019342f270 __pthread_kill + 8
    1  libsystem_pthread.dylib        0x00000001934cd170 pthread_kill + 112
    2  libsystem_c.dylib              0x00000001933a6b18 abort + 112
    3  libc++abi.dylib                0x0000000192465418 __cxa_bad_cast
    4  libc++abi.dylib                0x0000000192484b8c default_unexpected_handler()
    5  libobjc.A.dylib                0x0000000192c983c0 _objc_terminate() + 128
    6  libc++abi.dylib                0x0000000192481bb4 std::__terminate(void (*)()) + 16
    7  libc++abi.dylib                0x0000000192481c24 std::terminate() + 64
    8  libobjc.A.dylib                0x0000000192c98318 _destroyAltHandlerList
    9  libdispatch.dylib              0x00000001932e9968 _dispatch_client_callout + 36
    10 libdispatch.dylib              0x00000001932f31e4 _dispatch_barrier_sync_f_invoke + 76
    11 PlugInKit                      0x000000018d1c024c -[PKService unregisterPersonality:] + 188
    12 PlugInKit                      0x000000018d1bdfec -[PKServicePersonality shutdownPlugIn] + 108
    13 CoreFoundation                 0x0000000181cc8350 __invoking___ + 144
    14 CoreFoundation                 0x0000000181bc621c -[NSInvocation invoke] + 296
    15 Foundation                     0x0000000182c9d33c __NSXPCCONNECTION_IS_CALLING_OUT_TO_EXPORTED_OBJECT__ + 24
    16 Foundation                     0x0000000182b4b8c8 -[NSXPCConnection _decodeAndInvokeMessageWithData:] + 1604
    17 Foundation                     0x0000000182accbd4 message_handler + 708
    18 libxpc.dylib                   0x00000001934f0c78 _xpc_connection_call_event_handler + 68
    19 libxpc.dylib                   0x00000001934eeb7c _xpc_connection_mach_event + 2160
    20 libdispatch.dylib              0x00000001932e9a28 _dispatch_client_callout4 + 16
    21 libdispatch.dylib              0x00000001932ed140 _dispatch_mach_msg_invoke + 492
    22 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    23 libdispatch.dylib              0x00000001932ec668 _dispatch_mach_invoke + 136
    24 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    25 libdispatch.dylib              0x00000001932eca5c _dispatch_queue_invoke + 132
    26 libdispatch.dylib              0x00000001932f6318 _dispatch_root_queue_drain + 720
    27 libdispatch.dylib              0x00000001932f7c4c _dispatch_worker_thread3 + 108
    28 libsystem_pthread.dylib        0x00000001934c922c _pthread_wqthread + 816

My main thread (did not crash here though):


    Thread : com.apple.main-thread
    0  TodayExtension                 0x00000001000ae370 -[TodayViewController normalView] (TodayViewController.m:32)
    1  TodayExtension                 0x00000001000adf58 __36-[TodayViewController showErrorView]_block_invoke (TodayViewController.m:173)
    2  libdispatch.dylib              0x00000001932e9994 _dispatch_call_block_and_release + 24
    3  libdispatch.dylib              0x00000001932e9954 _dispatch_client_callout + 16
    4  libdispatch.dylib              0x00000001932ee20c _dispatch_main_queue_callback_4CF + 1608
    5  CoreFoundation                 0x0000000181c7a2ec __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    6  CoreFoundation                 0x0000000181c78394 __CFRunLoopRun + 1492
    7  CoreFoundation                 0x0000000181ba51f4 CFRunLoopRunSpecific + 396
    8  GraphicsServices               0x000000018afc76fc GSEventRunModal + 168
    9  UIKit                          0x000000018653610c UIApplicationMain + 1488
    10 libxpc.dylib                   0x00000001934fc250 _xpc_objc_main + 768
    11 libxpc.dylib                   0x00000001934fdf38 xpc_main + 200
    12 Foundation                     0x0000000182ca1818 service_connection_handler
    13 PlugInKit                      0x000000018d1be910 -[PKService run] + 600
    14 PlugInKit                      0x000000018d1be548 +[PKService main] + 64
    15 PlugInKit                      0x000000018d1be938 +[PKService _defaultRun:arguments:] + 24
    16 libextension.dylib             0x00000001924f9960 NSExtensionMain + 68
    17 libdyld.dylib                  0x0000000193316a08 start + 4

like image 565
d0nutz1 Avatar asked Mar 24 '15 23:03

d0nutz1


1 Answers

I see exactly the same thing on Crashlytics. According to Apple this crash is a known bug in iOS 8 (including the 8.3 beta). The crash only occurs when the extension is shutting down, which means that the user doesn't see the extension crash.

So the only thing we can do right now is ignoring this crash

like image 152
Emmanuel G. Avatar answered Nov 13 '22 09:11

Emmanuel G.