Selector name found in current argument registers:

2019-03-14 07:23发布

问题:

I am looking for some assistance with squashing a bug in an OSX app that i just can't work out. I am getting a logged error of:

Selector name found in current argument registers: isEqual:

But i can't for the life of me work out where it's coming from as the log is very unhelpful. Also i can't reproduce this on my own test systems, but it seems to be happening quite a lot on some of the beta testers machines. This only seems to happen on 10.9.

Here is the log file for the crash:

Incident Identifier: 77FAD32D-0316-489E-B898-9C084A4FF48A
CrashReporter Key:   A9FEF4E7-53F7-5FD1-AEDE-915C87BD437F
Hardware Model:      MacBookPro8,1
Process:         iModerate Deskto [4155]
Path:            /Users/USER/Desktop/iModerate Desktop.app/Contents/MacOS/iModerate     Desktop
Identifier:      com.fuzzybadger.iModerate-Desktop
Version:         1.1.549
Code Type:       X86-64
Parent Process:  launchd [159]

Date/Time:       2014-02-28 10:40:33 +0000
OS Version:      Mac OS X 10.9.0 (13A603)
Report Version:  104

Exception Type:  SIGSEGV
Exception Codes: SEGV_NOOP at 0x0
Crashed Thread:  10

Application Specific Information:
Selector name found in current argument registers: isEqual:

Thread 0:
0   libsystem_kernel.dylib               0x00007fff852b1716 __psynch_cvwait + 10
1   QuartzCore                           0x00007fff8769cce7 _ZN2CA13DispatchGroupD2Ev + 53
2   QuartzCore                           0x00007fff8768916e _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 538
3   QuartzCore                           0x00007fff876888f1 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 35
4   QuartzCore                           0x00007fff8768837c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 236
5   QuartzCore                           0x00007fff87688016 _ZN2CA11Transaction6commitEv + 388
6   QuartzCore                           0x00007fff876987a1 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 71
7   CoreFoundation                       0x00007fff8998d0a7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
8   CoreFoundation                       0x00007fff8998d017 __CFRunLoopDoObservers + 391
9   CoreFoundation                       0x00007fff8997e294 CFRunLoopRunSpecific + 340
10  HIToolbox                            0x00007fff8fbd1f0d RunCurrentEventLoopInMode + 226
11  HIToolbox                            0x00007fff8fbd1b85 ReceiveNextEventCommon + 173
12  HIToolbox                            0x00007fff8fbd1abc _BlockUntilNextEventMatchingListInModeWithFilter + 65
13  AppKit                               0x00007fff8ce6828e _DPSNextEvent + 1434
14  AppKit                               0x00007fff8ce678db -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
15  AppKit                               0x00007fff8ce5b9cc -[NSApplication run] + 553
16  AppKit                               0x00007fff8ce46803 NSApplicationMain + 940
17  libdyld.dylib                        0x00007fff8ce435fd start + 1

Thread 1:
0   libsystem_kernel.dylib               0x00007fff852b2662 kevent64 + 10
1   libdispatch.dylib                    0x00007fff91e9f152 _dispatch_mgr_init + 0

Thread 2:
0   libsystem_kernel.dylib               0x00007fff852ada1a mach_msg_trap + 10
1   CoreFoundation                       0x00007fff8997f315 __CFRunLoopServiceMachPort + 181
2   CoreFoundation                       0x00007fff8997e939 __CFRunLoopRun + 1161
3   CoreFoundation                       0x00007fff8997e275 CFRunLoopRunSpecific + 309
4   Foundation                           0x00007fff90e47907 +[NSURLConnection(Loader) _resourceLoadLoop:] + 348
5   Foundation                           0x00007fff90e4770b __NSThread__main__ + 1318
6   libsystem_pthread.dylib              0x00007fff905e8899 _pthread_body + 138
7   libsystem_pthread.dylib              0x00007fff905e872a _pthread_struct_init + 0

Thread 3:
0   libsystem_kernel.dylib               0x00007fff852ada1a mach_msg_trap + 10
1   CoreFoundation                       0x00007fff8997f315 __CFRunLoopServiceMachPort + 181
2   CoreFoundation                       0x00007fff8997e939 __CFRunLoopRun + 1161
3   CoreFoundation                       0x00007fff8997e275 CFRunLoopRunSpecific + 309
4   AppKit                               0x00007fff8d0081ce _NSEventThread + 144
5   libsystem_pthread.dylib              0x00007fff905e8899 _pthread_body + 138
6   libsystem_pthread.dylib              0x00007fff905e872a _pthread_struct_init + 0

Thread 4:
0   libsystem_kernel.dylib               0x00007fff852ada1a mach_msg_trap + 10
1   CoreFoundation                       0x00007fff8997f315 __CFRunLoopServiceMachPort + 181
2   CoreFoundation                       0x00007fff8997e939 __CFRunLoopRun + 1161
3   CoreFoundation                       0x00007fff8997e275 CFRunLoopRunSpecific + 309
4   Foundation                           0x00007fff90e49a7c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 253
5   Simperium-OSX                        0x000000010cb6b838 -[_SRRunLoopThread main] (SRWebSocket.m:1744)
6   Foundation                           0x00007fff90e4770b __NSThread__main__ + 1318
7   libsystem_pthread.dylib              0x00007fff905e8899 _pthread_body + 138
8   libsystem_pthread.dylib              0x00007fff905e872a _pthread_struct_init + 0

Thread 5:
0   libsystem_kernel.dylib               0x00007fff852b19aa __select + 10
1   libsystem_pthread.dylib              0x00007fff905e8899 _pthread_body + 138
2   libsystem_pthread.dylib              0x00007fff905e872a _pthread_struct_init + 0

Thread 6:
0   libsystem_kernel.dylib               0x00007fff852b1e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 7:
0   libsystem_kernel.dylib               0x00007fff852b1e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 8:
0   libsystem_platform.dylib             0x00007fff8bde7cd1 OSAtomicDequeue + 17
1   libsystem_malloc.dylib               0x00007fff8f4b16c4 nano_malloc + 35
2   libsystem_malloc.dylib               0x00007fff8f4af87c malloc_zone_malloc + 71
3   CoreFoundation                       0x00007fff899118df __CFBasicHashRehash + 287
4   CoreFoundation                       0x00007fff89917566 __CFBasicHashAddValue + 86
5   CoreFoundation                       0x00007fff89916609 CFDictionarySetValue + 217
6   libCGCMS.A.dylib                     0x00007fff8b857fb8 CreateProfileSet + 104
7   libCGCMS.A.dylib                     0x00007fff8b857e61 profileRef + 189
8   libCGCMS.A.dylib                     0x00007fff8b858b79 create + 1205
9   libCGCMS.A.dylib                     0x00007fff8b859454 get_cms_space_for_space + 140
10  libCGCMS.A.dylib                     0x00007fff8b8592ca get_color_world_for_space + 166
11  libCGCMS.A.dylib                     0x00007fff8b8591f0 CMSTransformCreateConverter + 63
12  CoreGraphics                         0x00007fff86681ba1 CGColorTransformCacheGetConversionType + 145
13  CoreGraphics                         0x00007fff86681aeb CGColorTransformConvertNeedsCMS + 113
14  CoreGraphics                         0x00007fff8667f8e9 img_data_lock + 1217
15  CoreGraphics                         0x00007fff8667e480 CGSImageDataLock + 149
16  libRIP.A.dylib                       0x00007fff86548b3c ripc_AcquireImage + 769
17  libRIP.A.dylib                       0x00007fff86547b85 ripc_DrawImage + 1025
18  CoreGraphics                         0x00007fff8667e023 CGContextDrawImage + 457
19  AppKit                               0x00007fff8cfd8c02 __74-[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke + 835
20  AppKit                               0x00007fff8cfd86a8 -[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 1073
21  AppKit                               0x00007fff8cfd7fee __71-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke + 896
22  AppKit                               0x00007fff8cf63626 -[NSImage _usingBestRepresentationForRect:context:hints:body:] + 170
23  AppKit                               0x00007fff8cfd7b6c -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 1447
24  AppKit                               0x00007fff8cfd7153 -[NSImage _drawMappingAlignmentRectToRect:withState:backgroundStyle:operation:fraction:flip:hints:] + 1453
25  AppKit                               0x00007fff8d01fa21 -[NSImageCell _drawImageWithFrame:inView:] + 225
26  AppKit                               0x00007fff8d01f8e5 -[NSImageCell drawInteriorWithFrame:inView:] + 625
27  AppKit                               0x00007fff8cfd4728 -[NSControl drawRect:] + 341
28  AppKit                               0x00007fff8cfc98b0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1075
29  AppKit                               0x00007fff8cfc9bb0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1843
30  AppKit                               0x00007fff8cfc9bb0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1843
31  AppKit                               0x00007fff8cfc9bb0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1843
32  AppKit                               0x00007fff8cfc936d __46-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke + 186
33  AppKit                               0x00007fff8cfc9153 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2297
34  AppKit                               0x00007fff8cfc8848 -[NSView(NSLayerKitGlue) drawLayer:inContext:] + 108
35  QuartzCore                           0x00007fff8768a852 CABackingStoreUpdate_ + 2220
36  QuartzCore                           0x00007fff87689fa0 ___ZN2CA5Layer8display_Ev_block_invoke + 59
37  QuartzCore                           0x00007fff87689f5c x_blame_allocations + 84
38  QuartzCore                           0x00007fff87689a6b _ZN2CA5Layer8display_Ev + 1539
39  AppKit                               0x00007fff8cfc8713 _NSBackingLayerDisplay + 235
40  AppKit                               0x00007fff8cf9faab -[_NSViewBackingLayer display] + 811
41  QuartzCore                           0x00007fff8769ce1a _ZL16display_callbackPvS_ + 81
42  QuartzCore                           0x00007fff8769cd69 _ZN2CA13DispatchGroup8dispatchEb + 69
43  libdispatch.dylib                    0x00007fff91e9d2ad _dispatch_client_callout + 8
44  libdispatch.dylib                    0x00007fff91e9f09e _dispatch_root_queue_drain + 326
45  libdispatch.dylib                    0x00007fff91ea0193 _dispatch_worker_thread2 + 40
46  libsystem_pthread.dylib              0x00007fff905e9ef8 _pthread_wqthread + 314
47  libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 9:
 0   libsystem_kernel.dylib               0x00007fff852b1e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 10 Crashed:
0   libobjc.A.dylib                      0x00007fff87f0e097 objc_msgSend + 23
1   CoreFoundation                       0x00007fff899573d9 -[__NSDictionaryM setObject:forKey:] + 505
2   AppKit                               0x00007fff8ceb032b -[NSCell _textAttributes] + 531
3   AppKit                               0x00007fff8ceb00e2 -[NSCell _unformattedAttributedStringValue:] + 301
4   AppKit                               0x00007fff8cfead57 -[NSButtonCell _currentTitle] + 122
5   AppKit                               0x00007fff8cfea3fb -[NSButtonCell _configureAndDrawTitleWithRect:cellFrame:controlView:] + 148
6   AppKit                               0x00007fff8cfd62cf -[NSButtonCell drawInteriorWithFrame:inView:] + 1965
7   AppKit                               0x00007fff8cfd5ac8 -[NSButtonCell drawWithFrame:inView:] + 498
8   AppKit                               0x00007fff8cfd4728 -[NSControl drawRect:] + 341
9   AppKit                               0x00007fff8cfc98b0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1075
10  AppKit                               0x00007fff8cfc9bb0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1843
11  AppKit                               0x00007fff8cfc9bb0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1843
12  AppKit                               0x00007fff8cfc9bb0 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1843
13  AppKit                               0x00007fff8cfc936d __46-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke + 186
14  AppKit                               0x00007fff8cfc9153 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2297
15  AppKit                               0x00007fff8cfc8848 -[NSView(NSLayerKitGlue) drawLayer:inContext:] + 108
16  AppKit                               0x00007fff8d01e57c -[_NSBackingLayerContents drawLayer:inContext:] + 149
17  QuartzCore                           0x00007fff8768bcc9 -[CALayer drawInContext:] + 115
18  AppKit                               0x00007fff8d01e0b8 -[_NSTiledLayer drawTile:inContext:] + 654
19  AppKit                               0x00007fff8d01ddbc -[_NSTiledLayerContents drawLayer:inContext:] + 172
20  QuartzCore                           0x00007fff8768bcc9 -[CALayer drawInContext:] + 115
21  AppKit                               0x00007fff8d7f2565 -[NSTileLayer drawInContext:] +     169
22  QuartzCore                           0x00007fff8768a852 CABackingStoreUpdate_ + 2220
23  QuartzCore                           0x00007fff87689fa0 ___ZN2CA5Layer8display_Ev_block_invoke + 59
24  QuartzCore                           0x00007fff87689f5c x_blame_allocations + 84
25  QuartzCore                           0x00007fff87689a6b _ZN2CA5Layer8display_Ev + 1539
26  AppKit                               0x00007fff8d01dccf -[NSTileLayer display] + 119
27  AppKit                               0x00007fff8d01a175 -[_NSTiledLayerContents update:] + 5545
28  AppKit                               0x00007fff8d0188e8 -[_NSTiledLayer display] + 404
29  QuartzCore                           0x00007fff8769ce1a _ZL16display_callbackPvS_ + 81
30  QuartzCore                           0x00007fff8769cd69 _ZN2CA13DispatchGroup8dispatchEb + 69
31  libdispatch.dylib                    0x00007fff91e9d2ad _dispatch_client_callout + 8
32  libdispatch.dylib                    0x00007fff91e9f09e _dispatch_root_queue_drain + 326
33  libdispatch.dylib                    0x00007fff91ea0193 _dispatch_worker_thread2 + 40
34  libsystem_pthread.dylib              0x00007fff905e9ef8 _pthread_wqthread + 314
35  libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 11:
0   libsystem_kernel.dylib               0x00007fff852b1e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 12:
0   libsystem_kernel.dylib               0x00007fff852b1e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 13:
0   libsystem_kernel.dylib               0x00007fff852b1e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib              0x00007fff905ecfb9 start_wqthread + 13

Thread 10 crashed with X86-64 Thread State:
   rip: 0x00007fff87f0e097    rbp: 0x000000011ab59d20    rsp: 0x000000011ab59cb8    rax: 0x00007fff76b7c648 
   rbx: 0x0000000000000001    rcx: 0x0000000000000000    rdx: 0x00007fff76b7c648    rdi: 0x00006080006321a0 
   rsi: 0x00007fff8d89320c     r8: 0x00007fff8d85082b     r9: 0x0000000000000032    r10: 0x00007fff8d89320c 
   r11: 0xbadd0dacedb8bead    r12: 0x0000608000232d00    r13: 0x0000000000000002    r14: 0x0000000000000003 
   r15: 0x0000000000000003 rflags: 0x0000000000010246     cs: 0x000000000000002b     fs: 0x0000000000000000 
    gs: 0x000000000e5d0000 

回答1:

The string Selector name found in current argument registers: isEqual: in the crash report is actually coming from HockeySDK and shows the last selector name objc_msgSend() was trying to call. It is identical to OS X showing the following string in their crash reports: objc_msgSend() selector name: isEqual:.

We'll improve this message in our SDK and also see what we can do in the backend for current incoming messages.

So the crash is not caused by HockeySDK!

The reason for the crash is, that objc_msgSend (thread 10 frame 0) was trying to call isEqual on an invalid object, hence the exception type SIGSEGV (See http://en.wikipedia.org/wiki/Segmentation_fault ). This was triggered by [NSButtonCell _currentTitle] in frame 4.

So you might want to check your table views and cells memory management. Especially when you assign a title to an NSButtonCell.