我们的一些用户崩溃报告显示 NSTextInputClient-->attributedSubstringForProposedRange 中的崩溃。什么 OS X 功能调用此代码?我尝试了“字符查看器”并按“Option+E”,然后按“E”。
这是调用堆栈(顶部的respondsToSelector 调用我的视图的属性SubstringForProposedRange 方法):
0 libobjc.A.dylib 0x95fd31e1 -[NSObject respondsToSelector:] + 52
0 Lookup 0x0ceb118c +[LUTextInputClientTextAccessor canAccessTextInView:] + 135
0 Lookup 0x0ceb10b4 +[LUTextInputClientTextAccessor canAccessTextAtLocation:] + 8
0 Lookup 0x0ceb10f6 +[LUTextInputClientTextAccessor canAccessTextAtLocation:] + 74
0 Lookup 0x0cea017e +[LUTextAccessor textAccessorForScreenLocation:] + 9
0 Lookup 0x0cea0322 +[LUTextAccessor textAccessorForScreenLocation:] + 429
0 Lookup 0x0cec6547 -[LUExtractor focusTermAndLocation:options:] + 9
0 Lookup 0x0cec66a1 -[LUExtractor focusTermAndLocation:options:] + 355
0 libobjc.A.dylib 0x95fbb2ef lookUpMethod + 9
0 Lookup 0x0cea4336 __56+[LULookupDefinitionModule focusTermUsingQueue:handler:]_block_invoke_0 + 12
0 Lookup 0x0cea43d6 __56+[LULookupDefinitionModule focusTermUsingQueue:handler:]_block_invoke_0 + 172
0 Foundation 0x922681a7 __NSThreadPerformPerform + 12
0 Foundation 0x922682f0 __NSThreadPerformPerform + 341
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 Lookup 0x0cea4336 __56+[LULookupDefinitionModule focusTermUsingQueue:handler:]_block_invoke_0 + 12
0 Lookup 0x0cea4396 __56+[LULookupDefinitionModule focusTermUsingQueue:handler:]_block_invoke_0 + 108
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 libdispatch.dylib 0x93580f8c _dispatch_call_block_and_release + 12
0 libdispatch.dylib 0x9357cc80 _dispatch_client_callout + 44
0 libdispatch.dylib 0x935822de _dispatch_main_queue_callback_4CF + 218
0 CoreFoundation 0x963b6c24 __CFRunLoopRun + 1956
0 CoreFoundation 0x963b648c __CFRunLoopRun + 12
0 libsystem_c.dylib 0x9914b130 pthread_mutex_lock + 488
0 libobjc.A.dylib 0x95fc3a14 flush_marked_caches + 9
0 CarbonCore 0x9463bd41 TSLockMutex + 225
0 libsystem_c.dylib 0x9916c184 szone_malloc_should_clear + 986
0 libsystem_c.dylib 0x9915ffb9 malloc + 7
0 libsystem_c.dylib 0x9916c184 szone_malloc_should_clear + 986
0 CarbonCore 0x9463bc6c TSLockMutex + 12
0 libsystem_c.dylib 0x9916bdb3 szone_malloc_should_clear + 9
0 libxpc.dylib 0x9971a10a _xpc_malloc + 21
0 libsystem_c.dylib 0x9916bdb3 szone_malloc_should_clear + 9
0 libsystem_c.dylib 0x9915f8d3 malloc_zone_calloc + 9
0 libsystem_c.dylib 0x99161ad5 szone_calloc + 50
0 libsystem_c.dylib 0x9915f919 malloc_zone_calloc + 79
0 libsystem_c.dylib 0x99160037 calloc + 55
0 libdispatch.dylib 0x9357d971 _dispatch_continuation_alloc_from_heap + 7
0 libdispatch.dylib 0x9357d9ca _dispatch_continuation_alloc_from_heap + 96
0 libxpc.dylib 0x9971d4fb _xpc_services_unavailable + 9
0 libdispatch.dylib 0x9357d92e _dispatch_barrier_async_f_slow + 12
0 libxpc.dylib 0x9971d46c _xpc_runtime_extend_domain + 9
0 libdyld.dylib 0x960c54e4 tlv_load_notification + 9
0 libxpc.dylib 0x9971d5b0 xpc_dictionary_set_bool + 38
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 libsystem_c.dylib 0x9916bc5a tiny_malloc_from_free_list + 993
0 libsystem_c.dylib 0x9914b57f pthread_mutex_unlock + 287
0 CoreFoundation 0x9638a33a __CFGetConverter + 282
0 libsystem_c.dylib 0x9916c184 szone_malloc_should_clear + 986
0 CoreFoundation 0x96389a66 __CFStringEncodeByteStream + 2406
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 CoreFoundation 0x9638910c __CFStringEncodeByteStream + 12
0 libobjc.A.dylib 0x95fbbfaa _ZN4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE16FindAndConstructERKS2_ + 28
0 libobjc.A.dylib 0x95fd37b9 -[NSObject retain] + 9
0 libobjc.A.dylib 0x95fd3805 -[NSObject retain] + 85
0 CoreFoundation 0x96380fa8 CFRetain + 8
0 CoreFoundation 0x96381039 CFRetain + 153
0 CoreFoundation 0x964b4ba7 -[__NSDictionaryM setObject:forKey:] + 1079
0 CoreFoundation 0x964b4779 -[__NSDictionaryM setObject:forKey:] + 9
0 Foundation 0x92215c71 _NSLookupOrCreateBundle + 12
0 Foundation 0x922160a5 _NSLookupOrCreateBundle + 1088
0 CoreFoundation 0x9639cb55 CFStringGetFileSystemRepresentation + 517
0 libsystem_c.dylib 0x9916bc5a tiny_malloc_from_free_list + 993
0 libsystem_c.dylib 0x9915f569 malloc_zone_malloc + 9
0 libsystem_c.dylib 0x9916c12f szone_malloc_should_clear + 901
0 CoreFoundation 0x963825a9 CFAllocatorAllocate + 9
0 CoreFoundation 0x96382723 __CFAllocatorSystemAllocate + 19
0 libsystem_c.dylib 0x9916bdb3 szone_malloc_should_clear + 9
0 CoreFoundation 0x9638123c _CFRetain + 476
0 libsystem_c.dylib 0x9915f569 malloc_zone_malloc + 9
0 libsystem_c.dylib 0x99161a99 szone_malloc + 19
0 libsystem_c.dylib 0x9915f5a8 malloc_zone_malloc + 72
0 CoreFoundation 0x96382162 __CFStringCreateImmutableFunnel3 + 3154
0 CoreFoundation 0x963825a9 CFAllocatorAllocate + 9
0 CoreFoundation 0x96382723 __CFAllocatorSystemAllocate + 19
0 CoreFoundation 0x963826f5 CFAllocatorAllocate + 341
0 CoreFoundation 0x9638b565 CFAllocatorGetDefault + 5
0 CoreFoundation 0x963822e9 _CFRuntimeCreateInstance + 9
0 CoreFoundation 0x963824a8 _CFRuntimeCreateInstance + 456
0 Foundation 0x92216a5e -[NSString isEqual:] + 68
0 CoreFoundation 0x963820a3 __CFStringCreateImmutableFunnel3 + 2963
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 CoreFoundation 0x9638151c __CFStringCreateImmutableFunnel3 + 12
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 libsystem_c.dylib 0x9916c12f szone_malloc_should_clear + 901
0 libsystem_c.dylib 0x9914b469 pthread_mutex_unlock + 9
0 libsystem_c.dylib 0x9916bdb3 szone_malloc_should_clear + 9
0 CoreFoundation 0x9638e1d9 CFEqual + 9
0 libsystem_c.dylib 0x9915f569 malloc_zone_malloc + 9
0 libsystem_c.dylib 0x99161a99 szone_malloc + 19
0 libsystem_c.dylib 0x9915f5a8 malloc_zone_malloc + 72
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 libsystem_c.dylib 0x991626af szone_free + 2943
0 CoreFoundation 0x96382723 __CFAllocatorSystemAllocate + 19
0 libsystem_c.dylib 0x9916c162 szone_malloc_should_clear + 952
0 libobjc.A.dylib 0x95fbcbe9 _ZN4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE5eraseERKS2_ + 27
0 libsystem_c.dylib 0x9916bdb3 szone_malloc_should_clear + 9
0 CoreFoundation 0x96388d23 __CFAllocatorSystemDeallocate + 19
0 libsystem_c.dylib 0x991626af szone_free + 2943
0 CoreGraphics 0x9925f4c1 shape_is_empty + 7
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 libobjc.A.dylib 0x95fbcbe9 _ZN4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE5eraseERKS2_ + 27
0 CoreFoundation 0x96388c29 CFAllocatorDeallocate + 9
0 CoreFoundation 0x96388d23 __CFAllocatorSystemDeallocate + 19
0 CoreFoundation 0x96388d06 CFAllocatorDeallocate + 230
0 CoreFoundation 0x96388a65 CFRelease + 2037
0 CoreGraphics 0x99258d61 region_create_with_shape + 8
0 CoreGraphics 0x99261e55 shape_empty + 3
0 CoreFoundation 0x96388279 CFRelease + 9
0 CoreGraphics 0x9925f532 CGSReleaseRegion + 12
0 QD 0x90a2703b QDFlushPortBuffer + 385
0 QD 0x90a26cad QDIsPortBuffered + 11
0 QD 0x90a26ec3 QDFlushPortBuffer + 9
0 HIToolbox 0x9124b8d4 FlushPlatformWindow + 36
0 HIToolbox 0x9124e314 _ZL17FlushWindowObjectP10WindowDataPPvh + 992
0 HIToolbox 0x91256f6c GetTaskStorageKeyForSafeToCall + 7
0 HIToolbox 0x91256cd5 _ZL15FlushAllBuffersP19__CFRunLoopObservermPv + 9
0 HIToolbox 0x91256dbc _ZL15FlushAllBuffersP19__CFRunLoopObservermPv + 240
0 libsystem_c.dylib 0x99146052 pthread_threadid_np + 9
0 libsystem_c.dylib 0x9914b130 pthread_mutex_lock + 488
0 CoreFoundation 0x963dc7ee __CFRunLoopDoObservers + 478
0 CoreFoundation 0x963dc65c __CFRunLoopDoObservers + 76
0 CoreFoundation 0x963dc619 __CFRunLoopDoObservers + 9
0 CoreFoundation 0x964bb1f9 __addHandler2 + 9
0 CoreFoundation 0x963b6015 CFRunLoopRunSpecific + 373
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 CoreFoundation 0x963b5fde CFRunLoopRunSpecific + 318
0 libsystem_c.dylib 0x9914b57f pthread_mutex_unlock + 287
0 CoreFoundation 0x963b5e86 CFRunLoopRunInMode + 118
0 HIToolbox 0x9124ff55 RunCurrentEventLoopInMode + 237
0 HIToolbox 0x9124fbf0 ReceiveNextEventCommon + 157
0 libobjc.A.dylib 0x95fbb2ef lookUpMethod + 9
0 libobjc.A.dylib 0x95fbbec1 object_getIndexedIvars + 21
0 CoreFoundation 0x963c8a98 -[__NSArrayI objectAtIndex:] + 8
0 CoreFoundation 0x963c8b51 -[__NSArrayI objectAtIndex:] + 193
0 HIToolbox 0x9124fb5c ReceiveNextEventCommon + 9
0 libobjc.A.dylib 0x95fbaabc objc_msgSend + 76
0 HIToolbox 0x9124fb3f BlockUntilNextEventMatchingListInMode + 83
0 AppKit 0x9385e935 _DPSNextEvent + 719
0 AppKit 0x9385e672 _DPSNextEvent + 12
0 libsystem_c.dylib 0x9915fd2d free + 214
0 libobjc.A.dylib 0x95fbca9b objc_destructInstance + 9
0 libobjc.A.dylib 0x95fbcada objc_destructInstance + 72
0 libobjc.A.dylib 0x95fc4f2a _object_dispose + 8
0 libobjc.A.dylib 0x95fc4f61 _object_dispose + 63
0 libobjc.A.dylib 0x95fbd184 object_dispose + 6
0 CoreFoundation 0x963b141b -[__NSArrayM dealloc] + 363
0 CoreFoundation 0x963b12bc -[__NSArrayM dealloc] + 12
0 libsystem_c.dylib 0x9916574a szone_free_definite_size + 2842
0 libobjc.A.dylib 0x95fbc1b6 _objc_rootReleaseWasZero + 9
0 libobjc.A.dylib 0x95fbc21b _objc_rootReleaseWasZero + 110
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 libsystem_c.dylib 0x9916574a szone_free_definite_size + 2842
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 libsystem_c.dylib 0x991626af szone_free + 2943
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 libsystem_c.dylib 0x9916574a szone_free_definite_size + 2842
0 libobjc.A.dylib 0x95fbbfe9 _ZNK4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE15LookupBucketForERKS2_RPNSt3__14pairIS2_mEE + 9
0 libsystem_c.dylib 0x9915fc60 free + 9
0 libsystem_c.dylib 0x9915fd2d free + 214
0 libobjc.A.dylib 0x95fbca9b objc_destructInstance + 9
0 libobjc.A.dylib 0x95fbcada objc_destructInstance + 72
0 libobjc.A.dylib 0x95fc4f2a _object_dispose + 8
0 Foundation 0x9222c3cc -[NSAutoreleasePool drain] + 9
0 libobjc.A.dylib 0x95fc4f61 _object_dispose + 63
0 HIToolbox 0x9122a041 ReleaseEvent + 9
0 libobjc.A.dylib 0x95fbd184 object_dispose + 6
0 AppKit 0x9393d05e -[NSEvent dealloc] + 9
0 AppKit 0x9393d1bb -[NSEvent dealloc] + 358
0 AppKit 0x9385e101 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 12
0 AppKit 0x9385e167 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 114
0 libobjc.A.dylib 0x95fbaabc objc_msgSend + 76
0 libobjc.A.dylib 0x95fbd43d _ZN12_GLOBAL__N_119AutoreleasePoolPage3popEPv + 485
0 libobjc.A.dylib 0x95fbd264 _ZN12_GLOBAL__N_119AutoreleasePoolPage3popEPv + 12
0 libsystem_c.dylib 0x9914abd3 __mtx_droplock + 442
0 libsystem_c.dylib 0x9914b57f pthread_mutex_unlock + 287
0 libobjc.A.dylib 0x95fbbd35 unlockForMethodLookup + 5
0 libsystem_c.dylib 0x9914b57f pthread_mutex_unlock + 287
0 libobjc.A.dylib 0x95fbbab3 _cache_fill + 9
0 libsystem_c.dylib 0x9914b469 pthread_mutex_unlock + 9
0 libobjc.A.dylib 0x95fbba9d log_and_fill_cache + 127
0 libobjc.A.dylib 0x95fbbd35 unlockForMethodLookup + 5
0 libobjc.A.dylib 0x95fbbd61 unlockForMethodLookup + 49
0 libobjc.A.dylib 0x95fbb46b lookUpMethod + 389
0 libobjc.A.dylib 0x95fbb2ef lookUpMethod + 9
0 AppKit 0x93854281 -[NSApplication run] + 12
0 libobjc.A.dylib 0x95fbb2dc _class_lookupMethodAndLoadCache3 + 42
0 AppKit 0x93854281 -[NSApplication run] + 12
0 AppKit 0x938545c7 -[NSApplication run] + 850
0 libobjc.A.dylib 0x95fbbab3 _cache_fill + 9
0 libsystem_c.dylib 0x9914b469 pthread_mutex_unlock + 9
0 AppKit 0x93854281 -[NSApplication run] + 12
0 libobjc.A.dylib 0x95fbbd61 unlockForMethodLookup + 49
0 AppKit 0x93854519 -[NSApplication run] + 676
0 libobjc.A.dylib 0x95fbb46b lookUpMethod + 389