Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

ß72 crash - QSLib/QSTask #1367

Closed
pjrobertson opened this Issue · 37 comments

4 participants

@pjrobertson
Owner

I sent a copy of 'ß72' (based on #1048 ) into the wild for testing, and here's a crash @philostein has been having. Seems to be related to our recent change @tiennou and I discussed to actually run catalog scans on a background thread:

Process:         Quicksilver [5709]
Path:            /Applications/Quicksilver.app/Contents/MacOS/Quicksilver
Identifier:      com.blacktree.Quicksilver
Version:         ß71:AppleScript (3942)
Code Type:       X86-64 (Native)
Parent Process:  launchd [245]
User ID:         501

Date/Time:       2013-02-02 17:29:38.299 +0900
OS Version:      Mac OS X 10.8.2 (12C60)
Report Version:  10

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                 0x00007fff8941f758 objc_msgSend_vtable14 + 24
1   com.apple.CoreFoundation        0x00007fff94eee85a CFRelease + 170
2   com.apple.CoreFoundation        0x00007fff94ef2e0a __CFBasicHashDrain + 442
3   com.apple.CoreFoundation        0x00007fff94eee9af CFRelease + 511
4   com.apple.CoreFoundation        0x00007fff94ef2e0a __CFBasicHashDrain + 442
5   com.apple.CoreFoundation        0x00007fff94eee9af CFRelease + 511
6   com.apple.CoreFoundation        0x00007fff94f15c25 -[__NSArrayM dealloc] + 229
7   libobjc.A.dylib                 0x00007fff89422230 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 464
8   com.apple.CoreFoundation        0x00007fff94f16342 _CFAutoreleasePoolPop + 34
9   com.apple.Foundation            0x00007fff91cf64fa -[NSAutoreleasePool drain] + 154
10  com.apple.Foundation            0x00007fff91cfdfa0 _NSAppleEventManagerGenericHandler + 125
11  com.apple.AE                    0x00007fff945bfb48 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 307
12  com.apple.AE                    0x00007fff945bf9a9 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 37
13  com.apple.AE                    0x00007fff945bf869 aeProcessAppleEvent + 318
14  com.apple.HIToolbox             0x00007fff8d2f58e9 AEProcessAppleEvent + 100
15  com.apple.AppKit                0x00007fff8fc8b916 _DPSNextEvent + 1456
16  com.apple.AppKit                0x00007fff8fc8aed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
17  com.apple.AppKit                0x00007fff8fc82283 -[NSApplication run] + 517
18  com.apple.AppKit                0x00007fff8fc26cb6 NSApplicationMain + 869
19  com.blacktree.Quicksilver       0x0000000100001a04 0x100000000 + 6660

Thread 1:
0   libsystem_kernel.dylib          0x00007fff913a76d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff892c6eec _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff892c6cb3 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x00007fff913a7d16 kevent + 10
1   libdispatch.dylib               0x00007fff8e2c9dea _dispatch_mgr_invoke + 883
2   libdispatch.dylib               0x00007fff8e2c99ee _dispatch_mgr_thread + 54

Thread 3:: Dispatch queue: com.apple.root.low-priority
0   libsystem_kernel.dylib          0x00007fff913a56c2 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff8e2cbc32 _dispatch_thread_semaphore_wait + 16
2   libdispatch.dylib               0x00007fff8e2cba92 _dispatch_barrier_sync_f_slow + 188
3   com.blacktree.QSCore            0x00000001000f9369 -[QSTask setStatus:] + 76
4   com.blacktree.QSCore            0x00000001000dacb0 __42-[QSLibrarian scanCatalogIgnoringIndexes:]_block_invoke + 92
5   libdispatch.dylib               0x00007fff8e2caf01 _dispatch_call_block_and_release + 15
6   libdispatch.dylib               0x00007fff8e2c70b6 _dispatch_client_callout + 8
7   libdispatch.dylib               0x00007fff8e2c81fa _dispatch_worker_thread2 + 304
8   libsystem_c.dylib               0x00007fff892c6cab _pthread_wqthread + 404
9   libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 4:: Dispatch queue: com.apple.root.default-priority
0   libsystem_kernel.dylib          0x00007fff913a70fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff892c8f89 _pthread_cond_wait + 869
2   com.apple.Foundation            0x00007fff91d2fcc6 -[NSCondition wait] + 240
3   com.apple.Foundation            0x00007fff91d28468 -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 796
4   com.apple.Foundation            0x00007fff91d280c8 -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] + 131
5   com.blacktree.QSCore            0x00000001000f9b61 -[QSTaskController taskWithIdentifier:] + 46
6   com.blacktree.QSCore            0x00000001000f9b91 -[QSTaskController updateTask:status:progress:] + 37
7   com.blacktree.Quicksilver.QSServicesMenuPlugIn  0x00000001084f87bd 0x1084f6000 + 10173
8   libdispatch.dylib               0x00007fff8e2caf01 _dispatch_call_block_and_release + 15
9   libdispatch.dylib               0x00007fff8e2c70b6 _dispatch_client_callout + 8
10  libdispatch.dylib               0x00007fff8e2c81fa _dispatch_worker_thread2 + 304
11  libsystem_c.dylib               0x00007fff892c6cab _pthread_wqthread + 404
12  libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 5:: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib          0x00007fff913a5686 mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff913a4c42 mach_msg + 70
2   com.apple.CoreFoundation        0x00007fff94f15803 __CFRunLoopServiceMachPort + 195
3   com.apple.CoreFoundation        0x00007fff94f1aee6 __CFRunLoopRun + 1078
4   com.apple.CoreFoundation        0x00007fff94f1a6b2 CFRunLoopRunSpecific + 290
5   com.apple.Foundation            0x00007fff91cd3586 +[NSURLConnection(Loader) _resourceLoadLoop:] + 356
6   com.apple.Foundation            0x00007fff91d31612 __NSThread__main__ + 1345
7   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
8   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 6:: JavaScriptCore::BlockFree
0   libsystem_kernel.dylib          0x00007fff913a70fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff892c8f89 _pthread_cond_wait + 869
2   com.apple.JavaScriptCore        0x00007fff90c07d96 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 118
3   com.apple.JavaScriptCore        0x00007fff90e29d0a JSC::BlockAllocator::blockFreeingThreadMain() + 90
4   com.apple.JavaScriptCore        0x00007fff90e3f36f WTF::wtfThreadEntryPoint(void*) + 15
5   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
6   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 7:: JavaScriptCore::Marking
0   libsystem_kernel.dylib          0x00007fff913a70fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff892c8f89 _pthread_cond_wait + 869
2   com.apple.JavaScriptCore        0x00007fff90d8c724 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 212
3   com.apple.JavaScriptCore        0x00007fff90d8c606 JSC::MarkStackThreadSharedData::markingThreadMain() + 214
4   com.apple.JavaScriptCore        0x00007fff90e3f36f WTF::wtfThreadEntryPoint(void*) + 15
5   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
6   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 8:: JavaScriptCore::Marking
0   libsystem_kernel.dylib          0x00007fff913a70fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff892c8f89 _pthread_cond_wait + 869
2   com.apple.JavaScriptCore        0x00007fff90d8c724 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 212
3   com.apple.JavaScriptCore        0x00007fff90d8c606 JSC::MarkStackThreadSharedData::markingThreadMain() + 214
4   com.apple.JavaScriptCore        0x00007fff90e3f36f WTF::wtfThreadEntryPoint(void*) + 15
5   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
6   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 9:: JavaScriptCore::Marking
0   libsystem_kernel.dylib          0x00007fff913a70fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff892c8f89 _pthread_cond_wait + 869
2   com.apple.JavaScriptCore        0x00007fff90d8c724 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 212
3   com.apple.JavaScriptCore        0x00007fff90d8c606 JSC::MarkStackThreadSharedData::markingThreadMain() + 214
4   com.apple.JavaScriptCore        0x00007fff90e3f36f WTF::wtfThreadEntryPoint(void*) + 15
5   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
6   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 10:
0   libsystem_kernel.dylib          0x00007fff913a7d16 kevent + 10
1   com.blacktree.QSCore            0x00000001000fd604 -[VDKQueue watcherThread:] + 199
2   com.apple.Foundation            0x00007fff91d31612 __NSThread__main__ + 1345
3   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
4   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 11:
0   libsystem_kernel.dylib          0x00007fff913a76d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff892c6eec _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff892c6cb3 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 12:
0   libsystem_kernel.dylib          0x00007fff913a56c2 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff8e2cbc32 _dispatch_thread_semaphore_wait + 16
2   libdispatch.dylib               0x00007fff8e2cba92 _dispatch_barrier_sync_f_slow + 188
3   com.blacktree.QSCore            0x00000001000f9261 -[QSTask setName:] + 76
4   com.blacktree.Quicksilver       0x0000000100007c6a 0x100000000 + 31850
5   com.apple.Foundation            0x00007fff91d31612 __NSThread__main__ + 1345
6   libsystem_c.dylib               0x00007fff892c4742 _pthread_start + 327
7   libsystem_c.dylib               0x00007fff892b1181 thread_start + 13

Thread 13:
0   libsystem_kernel.dylib          0x00007fff913a76d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff892c6eec _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff892c6cb3 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 14:
0   libsystem_kernel.dylib          0x00007fff913a76d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff892c6eec _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff892c6cb3 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 15:
0   libsystem_kernel.dylib          0x00007fff913a76d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff892c6eec _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff892c6cb3 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff892b1171 start_wqthread + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x6572646c69684374  rbx: 0x0000000106a50ef0  rcx: 0x0000000108519a70  rdx: 0x00000000000001ad
  rdi: 0x00000001082c90a0  rsi: 0x00007fff904b2c76  rbp: 0x00007fff5fbfebb0  rsp: 0x00007fff5fbfeb68
   r8: 0x00000001080ac0a0   r9: 0x0000000052a059b1  r10: 0x0000000108341510  r11: 0x000000005aac6ec1
  r12: 0x0000000000000009  r13: 0x00000000a5baadb9  r14: 0x00000000a7baadb1  r15: 0x00000001082c90a0
  rip: 0x00007fff8941f758  rfl: 0x0000000000010246  cr2: 0x00007fff7a593260
Logical CPU: 0

Binary Images:
       0x100000000 -        0x100030fff +com.blacktree.Quicksilver (ß71:AppleScript - 3942) <93E9EE93-AA78-3614-B8EB-0CBD57054EB6> /Applications/Quicksilver.app/Contents/MacOS/Quicksilver
       0x100049000 -        0x100087fff +com.blacktree.QSFoundation (2.0) <B9ABC3C8-6D87-3628-ADA0-CB3F078A3269> /Applications/Quicksilver.app/Contents/Frameworks/QSFoundation.framework/Versions/A/QSFoundation
       0x1000b1000 -        0x1000beff7 +com.blacktree.QSEffects (2.0) <DA59EFBB-DC0B-39C2-B1C4-32B479316D2D> /Applications/Quicksilver.app/Contents/Frameworks/QSEffects.framework/Versions/A/QSEffects
       0x1000c9000 -        0x100118fff +com.blacktree.QSCore (2.0) <E3B40E8A-FA1B-3E91-AED0-039F010F2335> /Applications/Quicksilver.app/Contents/Frameworks/QSCore.framework/Versions/A/QSCore
       0x100150000 -        0x100182fff +com.blacktree.QSInterface (2.0) <4C5B33A6-110C-31AB-9943-631625A99CAF> /Applications/Quicksilver.app/Contents/Frameworks/QSInterface.framework/Versions/A/QSInterface
       0x1001aa000 -        0x1001acfff  com.apple.ExceptionHandling (1.5 - 10) <47FF83ED-0C07-308C-A375-2A2189DB1056> /System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling
       0x1069f8000 -        0x1069fafff +com.blacktree.Quicksilver.QSDisplaysPlugIn (1.0.0 - 89) <8C924313-F77B-304D-8919-CEA9A8191268> /Users/USER/Library/Application Support/Quicksilver/*/Displays Plugin
       0x1081f2000 -        0x1081f9fff +com.blacktree.Quicksilver.QSSpotlightPlugIn (2.1.0 - ED) <1017562C-3803-3832-AB68-F1B2A240DE76> /Users/USER/Library/Application Support/Quicksilver/*/Spotlight Plugin
       0x1084dd000 -        0x1084e9fff +com.blacktree.Quicksilver.QSiTunesPlugIn (2.3.0 - 34C) <6F0E415A-340B-34EC-BA14-FAD97EC568C0> /Users/USER/Library/Application Support/Quicksilver/*/iTunes Plugin
       0x1084f1000 -        0x1084f3fff +com.blacktree.Quicksilver.QSCommandLineTool (0.6.2 - 45) <B10B421B-D16A-3D3C-924A-1E706FB47605> /Users/USER/Library/Application Support/Quicksilver/*/Command Line Tool
       0x1084f6000 -        0x1084faff7 +com.blacktree.Quicksilver.QSServicesMenuPlugIn (1.3.0 - DE) <DFE0D4C5-4347-3818-B330-287B68AB8E93> /Users/USER/Library/Application Support/Quicksilver/*/Services Menu Plugin
       0x108b52000 -        0x108b68fff +com.blacktree.Quicksilver.QSCorePlugIn (1.0.0 - 99) <C8161A23-D128-3C9E-AE4C-321317D204E4> /Applications/Quicksilver.app/Contents/PlugIns/Core Support.qsplugin/Contents/MacOS/Core Support
       0x108b75000 -        0x108b7cfff +com.binaryminded.QSRememberTheMilk (1.5.0 - F7) <A428F38D-8D86-3E59-8D04-D163358903B9> /Users/USER/Library/Application Support/Quicksilver/*/RememberTheMilk
       0x108b82000 -        0x108b85fff +com.blacktree.Quicksilver.QSShelfPlugIn (1.2.4 - 77) <CE073163-DFC1-30FD-920A-2BBF75C04F0E> /Users/USER/Library/Application Support/Quicksilver/*/Shelf Plugin
       0x108b95000 -        0x108b9afff +com.blacktree.Quicksilver.QSUIAccessPlugIn (2.0 - 1DF) <7908D6B6-FBA4-3F1E-9C00-85B21D642D8A> /Users/USER/Library/Application Support/Quicksilver/*/UI Access
       0x108b9f000 -        0x108ba4fff +com.blacktree.Quicksilver.QSKeychainPlugIn (1.1.0 - 13C) <6CC56220-61DC-372E-A37F-C437B98481CA> /Users/USER/Library/Application Support/Quicksilver/*/Keychain Plugin
       0x108ba9000 -        0x108baffff +com.blacktree.Quicksilver.QSClipboardPlugIn (1.2.1 - 110) <95C8A03C-4385-3756-98D8-D4E6A1B2F4D3> /Users/USER/Library/Application Support/Quicksilver/*/Clipboard Plugin
       0x108bb5000 -        0x108bb8fff +com.qsapp.Networking (1.1.0 - 7) <2DD2DEA4-51E9-3363-9E70-B5980E02C5E7> /Users/USER/Library/Application Support/Quicksilver/*/Networking Plugin
       0x108bbd000 -        0x108bc1fff +com.blacktree.Quicksilver.QSSafariPlugIn (2.1.5 - 137) <AB4C4C49-2AC6-36E2-B024-94050568FF79> /Users/USER/Library/Application Support/Quicksilver/*/Safari Plugin
       0x108bc6000 -        0x108bcafff +com.blacktree.Quicksilver.QSTerminalPlugIn (2.2.2 - 139) <518D79FD-3640-338A-BCBE-5BCB45A4E175> /Users/USER/Library/Application Support/Quicksilver/*/Terminal Plugin
       0x108bcf000 -        0x108bd3ff7 +com.blacktree.Quicksilver.QSiPhotoPlugIn (2.0.1 - FE) <05E0B63A-4779-3837-B50F-50CF7364CA71> /Users/USER/Library/Application Support/Quicksilver/*/iPhoto Plugin
       0x108bd8000 -        0x108bd9fff +com.blacktree.quicksilver.TSCalculatorPlugin (2.1.1 - 19F) <CE2D4B88-A45B-3C37-A6AF-F0555A3B7135> /Users/USER/Library/Application Support/Quicksilver/*/Calculator Module
       0x108bdc000 -        0x108be8fff  com.apple.framework.calculate (1.3.2 - 17) <BA9E6060-4666-30D8-994A-A3419D9A7B24> /System/Library/PrivateFrameworks/Calculate.framework/Versions/A/Calculate
       0x108bef000 -        0x108bf4fff +com.blacktree.Quicksilver.QSAddressBookPlugIn (2.1.0 - 171) <85826F1C-5668-3350-9081-859D58F2A9F1> /Users/USER/Library/Application Support/Quicksilver/*/QSAddressBookPlugin
       0x108d00000 -        0x108da2ff7 +se.stdin.quicksilver.GoogleChrome (1.1.1 - 18) <1E094A42-3272-36E5-93B5-349BF7B7A30C> /Users/USER/Library/Application Support/Quicksilver/*/GoogleChrome
       0x108dbd000 -        0x108dc3ff7 +com.blacktree.Quicksilver.QSAppleMailPlugIn (3.0.2 - 11F) <5DAC451E-DB4B-3221-9C3D-8D450C339A79> /Users/USER/Library/Application Support/Quicksilver/*/Apple Mail Plugin
       0x1090a0000 -        0x1090a0fff  com.apple.applescript.component (2.2.3 - 2.2.3) <207FA517-458E-3765-89F1-3F714D7DAEDE> /System/Library/Components/AppleScript.component/Contents/MacOS/AppleScript
       0x1090a4000 -        0x10912ffff  com.apple.applescript (2.2.3 - 2.2.3) <A2AB0913-1DE0-3B92-8357-026929F8F3EB> /System/Library/PrivateFrameworks/AppleScript.framework/Versions/A/AppleScript
       0x109559000 -        0x10955dfff +com.blacktree.Quicksilver.QSWebSearchPlugIn (2.7.0 - 245) <AF90AD86-7FD4-3E61-96F9-AB9335D188DE> /Users/USER/Library/Application Support/Quicksilver/*/Web Search Plugin
       0x109562000 -        0x109565fff +com.blacktree.Quicksilver.QSHotKeyTriggerPlugIn (3.0.0 - 1939) <2586429F-50E7-3FD0-B425-4CACA7F3CD4E> /Applications/Quicksilver.app/Contents/PlugIns/HotKey Triggers.qsplugin/Contents/MacOS/HotKey Triggers
       0x109569000 -        0x109574fff +com.blacktree.Quicksilver.QSMouseTriggerPlugIn (1.0.1 - 16B) <FB7CB92E-C751-3E8C-9776-69D42E9758C1> /Users/USER/Library/Application Support/Quicksilver/*/Mouse Triggers
       0x10957f000 -        0x109582fff +com.blacktree.Quicksilver.BezelInterfacePlugIn (1.0.1 - 186C) <61B348FD-5C6E-35FC-8697-767D06C1BF78> /Applications/Quicksilver.app/Contents/PlugIns/Bezel Interface.qsplugin/Contents/MacOS/Bezel Interface
       0x109bfb000 -        0x109bfcfff +com.blacktree.Quicksilver.QSGrowlPlugIn (1.3.2 - 66) <4D1C7B1E-CE4F-3A66-BFDE-8910D4B2DA60> /Users/USER/Library/Application Support/Quicksilver/*/Growl Module
@pjrobertson
Owner

Actually, looking again, it might be here

Isn't that [[mutableArray copy] autorelease] OK?

@pjrobertson
Owner

Update: Phil says this is just a random crash, so not related to the AS changes.

Who's been playing with mutable arrays...?

@pjrobertson
Owner

@tiennou - is this a memory leak I've just found?
alloc/init the Mutable array here
then set the iVar here without releasing the original alloced MArray


More notes: I guess @tiennou's method here is an alternative to what I did here, but they should both be valid right?

I've been through all the commits (I didn't realise how many of them there were, since it includes everything since ß71 pre) and can't see anything else 'bad' other than those comments. Hmm...

@tiennou
Owner

Yes, looks like a leak, it needs an additional [sets release] on the last line.

I actually prefer your way, it's shorter ;-). It looks safe to use [[thing copy] autorelease] if you want to convert mutable to immutable arrays/dicts. It's just that I try keep objects away from autorelease pools if I can (hard to debug crashes are one example ;-)).

@philostein

FYI: AS QS crashes 5 or 6 times on launch, but eventually it stays open and is generally fine until the next relaunch.

@pjrobertson
Owner

This same crash has come back to bite us.

Any ideas would be helpful. @philostein - if you have the time it may be worth doing a debugging session.
Can you try running Quicksilver from within Xcode (make sure the scheme is set to 'Quicksilver Distribution', and the build configuration to 'Debug' - open this panel by pressing ⌘⇧<)

@philostein

I gave it a go. Downloaded the .zip from quicksilver/Quicksilver, used these settings:

Picture 91

Got this error:

Picture 92

Found the files on the net and added them to : /Quicksilver-master/Quicksilver/Code-External/VDKQueue/

Rebuilt, then got this:

Picture 93

Now, stuck. :)

@tiennou
Owner

Do a git submodule update --init from the root of the repository. This will clone the required submodules in the project tree.

@philostein

cd ~/Quicksilver-master/

then

git submodule update --init

in Terminal? (I'm sure the answer's no, 'cause it's not working.) I've got git installed BTW: /usr/local/git/bin/git

@pjrobertson
Owner

That should work, personally I wouldn't have downloaded the zip file, maybe it doesn't pull all the right files :/
Try running this:

# go to the home folder
cd ~
# create a folder with the github project
git clone git://github.com/quicksilver/Quicksilver.git Quicksilver-project
# go to the new folder
cd Quicksilver-project
# checkout the release branch
git checkout release
# update any submodules
git submodule update --init
@tiennou
Owner

personally I wouldn't have downloaded the zip file, maybe it doesn't pull all the right files :/

Yeah, maybe it's not even a git repo ;-).

@philostein

Bingo! It builds and runs. I now only have this latest build on my system. Now what?

@pjrobertson
Owner
@philostein

Sorry guys, if I build it, it goes to /private/tmp/QS/build/Debug and I can run it from there, but I can't seem to run it through Xcode. The scheme is Quicksilver Distribution, and the build configuration is Debug.

When I run the faulty script from before, QS now shows this:

Screen Shot 2013-02-11 at 6 55 32 PM

– and it relaunches without trouble.

@tiennou
Owner

I think you have to edit the Scheme.
From the top-left drop down menu, with "Quicksilver Distribution" selected, choose "Edit Scheme...". Then in the following window, set "Quicksilver.app" as the executable.

Now QS should be run under the debugger when you hit cmd-R.

@pjrobertson
Owner

and to add to that: make sure the configuration is set to 'Debug' in the screen Etienne mentiones as well, not release

Screen Shot 2013-02-11 at 10 13 17

@pjrobertson
Owner

...then use product > Run to run it from within QS (or ⌘R)

@philostein

Great, that did it. Ran the offending script to crash QS, and got this output:

Screen Shot 2013-02-11 at 7 18 22 PM

@tiennou
Owner

Cool ;-). Now in the bottom right part on the screen (where's there the (lldb) prompt) enter bt and press return. This will output the crashed thread back trace. You can then paste that here (just that part, not the full debug log).

@philostein

Wow, got it first time. :)

* thread #1: tid = 0x1d07, 0x00007fff945c1733 AE`cloneForCompatability(AEDesc const*, AEDesc*) + 75, stop reason = EXC_BAD_ACCESS (code=1, address=0xc)
    frame #0: 0x00007fff945c1733 AE`cloneForCompatability(AEDesc const*, AEDesc*) + 75
    frame #1: 0x00007fff945c2cb2 AE`AEPutParamDesc + 126
    frame #2: 0x0000000106c82d03 Core Support`-[QSAppleScriptActions performAction:directObject:indirectObject:](self=0x0000000109485060, _cmd=0x00000001001a91c6, action=0x0000000109543360, dObject=0x00000001095e4b20, iObject=0x0000000108cdb690) + 1283 at QSAppleScriptActions.m:238
    frame #3: 0x000000010014da8c QSCore`-[QSAction performOnDirectObject:indirectObject:](self=0x0000000109543360, _cmd=0x00000001001a91a0, dObject=0x00000001095e4b20, iObject=0x0000000108cdb690) + 1116 at QSAction.m:340
    frame #4: 0x0000000100158365 QSCore`-[QSCommand execute](self=0x0000000106ad96a0, _cmd=0x00007fff9556f8c7) + 757 at QSCommand.m:459
    frame #5: 0x0000000100234ec1 QSInterface`-[QSInterfaceController executeCommandThreaded](self=0x000000010b350d00, _cmd=0x000000010025d53e) + 481 at QSInterfaceController.m:587
    frame #6: 0x0000000100235618 QSInterface`-[QSInterfaceController executeCommand:cont:encapsulate:](self=0x000000010b350d00, _cmd=0x000000010025d5c1, sender=0x000000010b8b43d0, cont='\0', encapsulate='\0') + 968 at QSInterfaceController.m:648
    frame #7: 0x0000000100235bf8 QSInterface`-[QSInterfaceController executeCommand:](self=0x000000010b350d00, _cmd=0x00007fff94323b03, sender=0x000000010b8b43d0) + 72 at QSInterfaceController.m:716
    frame #8: 0x000000010024fe2c QSInterface`-[QSSearchObjectView executeCommand:](self=0x000000010b8b43d0, _cmd=0x00007fff94323b03, sender=0x0000000000000000) + 268 at QSSearchObjectView.m:943
    frame #9: 0x0000000100252cee QSInterface`-[QSSearchObjectView insertNewline:](self=0x000000010b8b43d0, _cmd=0x00007fff9051ff5a, sender=0x0000000000000000) + 62 at QSSearchObjectView.m:1491
    frame #10: 0x00007fff8fb871cc AppKit`-[NSResponder doCommandBySelector:] + 75
    frame #11: 0x0000000100253275 QSInterface`-[QSSearchObjectView doCommandBySelector:](self=0x000000010b8b43d0, _cmd=0x00007fff904bc4e3, aSelector=0x00007fff9051ff5a) + 149 at QSSearchObjectView.m:1555
    frame #12: 0x00007fff8fc09f4e AppKit`-[NSKeyBindingManager(NSKeyBindingManager_MultiClients) interpretEventAsCommand:forClient:] + 2200
    frame #13: 0x00007fff8fc093bb AppKit`-[NSTextInputContext handleEvent:] + 939
    frame #14: 0x00007fff8fc08f87 AppKit`-[NSView interpretKeyEvents:] + 183
    frame #15: 0x0000000100250ef4 QSInterface`-[QSSearchObjectView keyDown:](self=0x000000010b8b43d0, _cmd=0x00007fff904c7923, theEvent=0x000000010729a210) + 1604 at QSSearchObjectView.m:1111
    frame #16: 0x00007fff8fd71120 AppKit`-[NSWindow sendEvent:] + 9687
    frame #17: 0x0000000100131f55 QSEffects`-[QSWindow sendEvent:](self=0x000000010b8b5df0, _cmd=0x00007fff904b9487, theEvent=0x000000010729a210) + 741 at QSWindow.m:178
    frame #18: 0x00007fff8fd6c744 AppKit`-[NSApplication sendEvent:] + 5761
    frame #19: 0x0000000100002d2a Quicksilver`-[QSApp sendEvent:](self=0x0000000101215ee0, _cmd=0x00007fff904b9487, theEvent=0x000000010729a210) + 2026 at QSApp.m:133
    frame #20: 0x00007fff8fc822fa AppKit`-[NSApplication run] + 636
    frame #21: 0x00007fff8fc26cb6 AppKit`NSApplicationMain + 869
    frame #22: 0x000000010001fe96 Quicksilver`main(argc=3, argv=0x00007fff5fbffb28) + 198 at main.m:21
    frame #23: 0x0000000100002064 Quicksilver`start + 52
@pjrobertson
Owner

Did you get this crash just launching the app, or were you using it at the time? Looks like an AS related crash, but when an applescript was being used :S

@pjrobertson
Owner

If that's the crash related to what you have said on #1048, then I have fixed that just now #1385

We're more concerned about the crashes you are getting on startup, have these stopped happening?

@philostein

Yes, I haven't seen a recurring crash on startup in this build. I was doing the script crash as a reliable way of getting QS to crash. It always starts up again without a problem now (after showing the stability dialog).

@pjrobertson
Owner
@philostein

OK, Downloaded ß71 again, ran it, quit, trashed it, ran ß72 in Xcode and it crashed on start up. Here's the bt:

* thread #1: tid = 0x1c07, 0x00007fff8941f750 libobjc.A.dylib`objc_msgSend_vtable14 + 16, stop reason = EXC_BAD_ACCESS (code=13, address=0x0)
    frame #0: 0x00007fff8941f750 libobjc.A.dylib`objc_msgSend_vtable14 + 16
    frame #1: 0x00007fff94eee85a CoreFoundation`CFRelease + 170
    frame #2: 0x00007fff94ef2e0a CoreFoundation`__CFBasicHashDrain + 442
    frame #3: 0x00007fff94eee9af CoreFoundation`CFRelease + 511
    frame #4: 0x00007fff94ef2e0a CoreFoundation`__CFBasicHashDrain + 442
    frame #5: 0x00007fff94eee9af CoreFoundation`CFRelease + 511
    frame #6: 0x00007fff94f15c25 CoreFoundation`-[__NSArrayM dealloc] + 229
    frame #7: 0x00007fff89422230 libobjc.A.dylib`(anonymous namespace)::AutoreleasePoolPage::pop(void*) + 464
    frame #8: 0x00007fff94f16342 CoreFoundation`_CFAutoreleasePoolPop + 34
    frame #9: 0x00007fff91cf64fa Foundation`-[NSAutoreleasePool drain] + 154
    frame #10: 0x00007fff91cfdfa0 Foundation`_NSAppleEventManagerGenericHandler + 125
    frame #11: 0x00007fff945bfb48 AE`aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 307
    frame #12: 0x00007fff945bf9a9 AE`dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 37
    frame #13: 0x00007fff945bf869 AE`aeProcessAppleEvent + 318
    frame #14: 0x00007fff8d2f58e9 HIToolbox`AEProcessAppleEvent + 100
    frame #15: 0x00007fff8fc8b916 AppKit`_DPSNextEvent + 1456
    frame #16: 0x00007fff8fc8aed2 AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
    frame #17: 0x00007fff8fc82283 AppKit`-[NSApplication run] + 517
    frame #18: 0x00007fff8fc26cb6 AppKit`NSApplicationMain + 869
    frame #19: 0x000000010001fe96 Quicksilver`main(argc=3, argv=0x00007fff5fbffa90) + 198 at main.m:21
    frame #20: 0x0000000100002064 Quicksilver`start + 52
@pjrobertson
Owner

Thanks, we're getting somewhere :)

Can you do what you've just done (sorry for all the crashing!)
but when you start ß72 from Xcode, hold down ⌥ so QS is put into Verbose mode
There will be a lot of junk in the console then, but just copy it all and put it somewhere for us to look at (don't type bt this time).
I'm just interested to know at what point QS is crashing in the startup process

@tiennou
Owner

Early, if that's the same crash that the one I've seen recently. I think it's related to the reloading of indexes, but it's just a guess.

@philostein

It's in here (saw 'verbose' in the log, should be right):

http://dl.dropbox.com/u/157506/Quicksilver%20ß72%20crash.txt

@pjrobertson
Owner

oh no, hang on... you didn't seem to get a crash there did you?

P.S. if you want to jump onto irc://freenode.net/#quicksilver (download Colloquy and click that link in Safari) it might be easier to chat there? :)

@pjrobertson
Owner

OK tiennou I think I might have it...QSController.m:L1041

seems like the @selector in [NSThread detachNewThreadSelector:@selector(delayedStartup) toTarget:self withObject:nil]; should set up its own autorelease pool, which we're not doing. I know we had a similar crash in the services menu plugin. I fixed it by changing to GCD and disatch_async

@pjrobertson
Owner

...or maybe not. :/

Seems like the setup process is all working fine. Perhaps the QSApplicationDidFinishLaunchingNotification notif is being sent to some funky plugin that's causing the crash

@philostein

OK, on Colloquy. Or have you worked it out now? :)

@pjrobertson
Owner
@tiennou
Owner

irc://irc.freenode.net/quicksilver should connect you there directly. Copy that to your browser's address bar and hit return.

@skurfer
Owner

I was seeing crashes for a while on startup that were definitely related to loading indexed objects, but there was always a reference to -[QSObject setIndentifier:] in those reports. Also, I think it was only because I was switching between branches where one would store details in the cache, and another would store them as metadata. Once I stopped doing that, the crashes stopped.

@pjrobertson
Owner

Pretty sure this is fixed now, or will be fixed soon with the qslib changes... (hopeful!)

@philostein

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.