Sporadic EXC_BAD_INSTRUCTION (SIGILL) when in 64 bit mode

Posted by Ger Teunis on Stack Overflow See other posts from Stack Overflow or by Ger Teunis
Published on 2010-05-02T10:40:42Z Indexed on 2010/05/02 10:47 UTC
Read the original article Hit count: 293

Filed under:
|
|
|
|

For some reason for a low-number of users (say 1 in a few hundred) the application seem to crash when run in 64bit mode on a Snow Leopard 10.6.3

I've attached the code, but please remind IT IS NOT A CODE issue. The crashed seem to be random in com.apple.AppKit at random locations and random moments. Anyone else had any experiences?

Using GCC compiler of Xcode 3.2.2

Crash #1 of user

Code Type:       X86-64 (Native)
Parent Process:  launchd [90]

Date/Time:       2010-05-02 04:12:59.708 -0500
OS Version:      Mac OS X 10.6.3 (10D573)
Report Version:  6

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc[232]: alt handlers in objc runtime are buggy!

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                0x00007fff874dd8b7 _objc_fatal + 238
1   libobjc.A.dylib                0x00007fff874de57c objc_addExceptionHandler + 1026
2   com.apple.CoreFoundation       0x00007fff83914212 _CFDoExceptionOperation + 402
3   com.apple.AppKit               0x00007fff87afc55d _NSAppKitLock + 79
4   com.apple.AppKit               0x00007fff87bd1f93 +[NSColorList _findColorListNamed:forDeviceType:] + 86
5   com.apple.AppKit               0x00007fff87b9d304 -[NSCatalogColor colorUsingColorSpaceName:device:] + 255
6   com.apple.AppKit               0x00007fff87c985ad -[NSLayoutManager(NSPrivate) _drawGlyphsForGlyphRange:atPoint:parameters:] + 4764
7   com.apple.AppKit               0x00007fff87c5d79c -[NSTextView drawRect:] + 1839
8   com.apple.AppKit               0x00007fff87c5ce2e -[NSTextView _drawRect:clip:] + 2343
9   com.apple.AppKit               0x00007fff87be4485 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1325
10  com.apple.AppKit               0x00007fff87be47ef -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2199
11  com.apple.AppKit               0x00007fff87be2b57 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 767
12  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
13  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
14  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
15  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
16  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
17  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
18  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
19  com.apple.AppKit               0x00007fff87be3a23 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4555
20  com.apple.AppKit               0x00007fff87be2678 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 254
21  com.apple.AppKit               0x00007fff87bdef27 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2683
22  com.apple.AppKit               0x00007fff87b58777 -[NSView displayIfNeeded] + 969
23  com.apple.AppKit               0x00007fff87b53622 _handleWindowNeedsDisplay + 678
24  com.apple.Foundation           0x00007fff8600fa4d __NSFireTimer + 114
25  com.apple.CoreFoundation       0x00007fff83908708 __CFRunLoopRun + 6488
26  com.apple.CoreFoundation       0x00007fff839068df CFRunLoopRunSpecific + 575
27  com.apple.HIToolbox            0x00007fff821b5ada RunCurrentEventLoopInMode + 333
28  com.apple.HIToolbox            0x00007fff821b58df ReceiveNextEventCommon + 310
29  com.apple.HIToolbox            0x00007fff821b5798 BlockUntilNextEventMatchingListInMode + 59
30  com.apple.AppKit               0x00007fff87b28a2a _DPSNextEvent + 708
31  com.apple.AppKit               0x00007fff87b28379 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
32  com.apple.AppKit               0x00007fff87d37060 -[NSTextView mouseDown:] + 8426
33  com.apple.AppKit               0x00007fff87c21f1b -[NSWindow sendEvent:] + 5409
34  com.apple.AppKit               0x00007fff87b57662 -[NSApplication sendEvent:] + 4719
35  com.apple.AppKit               0x00007fff87aee0aa -[NSApplication run] + 474
36  com.apple.AppKit               0x00007fff87ae6d7c NSApplicationMain + 364
37  com.NZBVortex.NZBVortex        0x0000000100000fe0 start + 52

Crash #2 from same user moments later

Code Type:       X86-64 (Native)
Parent Process:  launchd [76]

Date/Time:       2010-05-02 11:59:33.226 +0200
OS Version:      Mac OS X 10.6.3 (10D573)
Report Version:  6

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc[4360]: alt handlers in objc runtime are buggy!

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                0x00007fff8015d8b7 _objc_fatal + 238
1   libobjc.A.dylib                0x00007fff8015e57c objc_addExceptionHandler + 1026
2   com.apple.CoreFoundation       0x00007fff85367212 _CFDoExceptionOperation + 402
3   com.apple.AppKit               0x00007fff840b5f2f -[NSViewHierarchyLock lockForReadingWithExceptionHandler:] + 478
4   com.apple.AppKit               0x00007fff8420753e -[NSConcreteTextStorage _lockForReading] + 243
5   com.apple.AppKit               0x00007fff841e1449 -[NSLayoutManager(NSPrivate) _fillGlyphHoleForCharacterRange:startGlyphIndex:desiredNumberOfCharacters:] + 320
6   com.apple.AppKit               0x00007fff840e204a _NSFastFillAllGlyphHolesForGlyphRange + 719
7   com.apple.AppKit               0x00007fff841e10e2 _NSFastFillAllLayoutHolesUpToEndOfContainerForGlyphIndex + 653
8   com.apple.AppKit               0x00007fff841e0c72 -[NSLayoutManager textContainerForGlyphAtIndex:effectiveRange:] + 243
9   com.apple.AppKit               0x00007fff840f6786 -[NSLayoutManager glyphRangeForTextContainer:] + 286
10  com.apple.AppKit               0x00007fff846664a9 -[NSToolTipStringDrawingLayoutManager _sizeWithSize:attributedString:] + 883
11  com.apple.AppKit               0x00007fff84665dad +[NSToolTipStringDrawingLayoutManager sizeForDisplayingAttributedString:] + 354
12  com.apple.AppKit               0x00007fff84667292 -[NSToolTipManager displayToolTip:] + 616
13  com.apple.AppKit               0x00007fff846657d4 toolTipTimerFired + 114
14  com.apple.CoreFoundation       0x00007fff8535b708 __CFRunLoopRun + 6488
15  com.apple.CoreFoundation       0x00007fff853598df CFRunLoopRunSpecific + 575
16  com.apple.HIToolbox            0x00007fff88510ada RunCurrentEventLoopInMode + 333
17  com.apple.HIToolbox            0x00007fff885108df ReceiveNextEventCommon + 310
18  com.apple.HIToolbox            0x00007fff88510798 BlockUntilNextEventMatchingListInMode + 59
19  com.apple.AppKit               0x00007fff840d1a2a _DPSNextEvent + 708
20  com.apple.AppKit               0x00007fff840d1379 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
21  com.apple.AppKit               0x00007fff8409705b -[NSApplication run] + 395
22  com.apple.AppKit               0x00007fff8408fd7c NSApplicationMain + 364
23  com.NZBVortex.NZBVortex        0x0000000100000fe0 start + 52

Weirdly enough the crashes seem to go away for these users when running the code in 32 bit mode.

Any suggestions other then running the application in 32 bit only? Please do not dilute the feedback by asking for or blaming the code, the code is 100% solid, guaranteed! No memory leaks, the crashes clearly are triggered in 32 bit mode only just after start inside the AppKit itself like deep inside NSThread sleep's callstack.

© Stack Overflow or respective owner

Related posts about cocoa

Related posts about 64bit