quicksilver/Quicksilver — pull request #1094 by pjrobertson (2012-09-02 07:42:10+00:00)
Title: Synchronize arrays whilst enumerating them to avoid crashes.

I've set this against the release branch as it's such a small change, and the crash report was the only crash report we currently have for ß70 pre :-)

Here's the crash report:

Process: Quicksilver [10530]
Path: /Applications/Quicksilver.app/Contents/MacOS/Quicksilver
Identifier: com.blacktree.Quicksilver
Version: ß70 (3933)
Code Type: X86 (Native)
Parent Process: ??? [1]

Date/Time: 2012-08-29 21:36:26.750 -1000
OS Version: Mac OS X 10.7.4 (11E53)
Report Version: 9

Interval Since Last Report: 32564 sec
Crashes Since Last Report: 1
Per-App Interval Since Last Report: 24 sec
Per-App Crashes Since Last Report: 1
Anonymous UUID: F36FD921-C11B-4253-9341-1872CECA0988

Crashed Thread: 2 Dispatch queue: com.apple.root.default-priority

Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000

Application Specific Information:
objc[10530]: garbage collection is OFF
objc[10530]: FREED(id): message countByEnumeratingWithState:objects:count: sent to freed object=0x473c90

Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib	0x9af06c22 mach_msg_trap + 10
1 libsystem_kernel.dylib	0x9af061f6 mach_msg + 70
2 com.apple.CoreFoundation	0x931859da __CFRunLoopServiceMachPort + 170
3 com.apple.CoreFoundation	0x9318eb04 __CFRunLoopRun + 1428
4 com.apple.CoreFoundation	0x9318e1dc CFRunLoopRunSpecific + 332
5 com.apple.CoreFoundation	0x9318e088 CFRunLoopRunInMode + 120
6 com.apple.HIToolbox	0x9b430723 RunCurrentEventLoopInMode + 318
7 com.apple.HIToolbox	0x9b437a8b ReceiveNextEventCommon + 381
8 com.apple.HIToolbox	0x9b4378fa BlockUntilNextEventMatchingListInMode + 88
9 com.apple.AppKit	0x957f90d8 _DPSNextEvent + 678
10 com.apple.AppKit	0x957f8942 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 113
11 com.apple.AppKit	0x957f4cb1 -[NSApplication run] + 911
12 com.apple.AppKit	0x95a85bd9 NSApplicationMain + 1054
13 com.blacktree.Quicksilver	0x0000277d 0x1000 + 6013

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib	0x9af0990a kevent + 10
1 libdispatch.dylib	0x93125e10 _dispatch_mgr_invoke + 969
2 libdispatch.dylib	0x9312485f _dispatch_mgr_thread + 53

Thread 2 Crashed:: Dispatch queue: com.apple.root.default-priority
0 libobjc.A.dylib	0x904ece49 _objc_trap + 3
1 libobjc.A.dylib	0x904ecda9 _objc_error + 114
2 libobjc.A.dylib	0x904ece7a __objc_error + 45
3 libobjc.A.dylib	0x904e9876 _freedHandler + 53
4 com.blacktree.QSFoundation	0x0003e483 -[NSArray(Transformation) arrayByPerformingSelector:] + 326