Cyberduck Bounty

Since I have included Uli Kusterer’s Crashreporter in Cyberduck, there have been many reports sent in. Some of them made me aware of problems and bugs got fixed. However, there are some crashes, I cannot track down:

Thread 0 Crashed:
0 libjvm.dylib 0x9c18683c JVM_MonitorWait + 12492
1 libObjCJava.A.dylib 0x971a4b48 __JAVAMethodInvoke + 264
2 libObjCJava.A.dylib 0x971a4dc8 JAVAMethodInvokeBoolean + 52
3 libObjCJava.A.dylib 0x971aaefc _NSInvokeJavaMethod + 1020
4 libObjCJava.A.dylib 0x971a72f8 _BRIDGEMethodImp + 152
5 com.apple.AppKit 0x937e794c -[NSMenu _populate:] + 516
6 com.apple.AppKit 0x937e73a4 AppKitMenuEventHandler + 512
7 com.apple.HIToolbox 0x931ea554 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 692
8 com.apple.HIToolbox 0x931e9cac SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 372
9 com.apple.HIToolbox 0x931e9b28 SendEventToEventTargetWithOptions + 40
10 com.apple.HIToolbox 0x932832d4 SendMenuPopulate(MenuData*, OpaqueEventTargetRef*, unsigned long, double) + 212
11 com.apple.HIToolbox 0x9329c1d0 PopulateMenu(MenuData*, OpaqueEventTargetRef*, CheckMenuData*, unsigned long, double) + 28
12 com.apple.HIToolbox 0x9329c150 Check1MenuForKeyEvent(MenuData*, CheckMenuData*) + 104
13 com.apple.HIToolbox 0x9329c5fc CheckMenuItemsForKeyEvent(MenuData*, CheckMenuData*, unsigned long, bool*) + 1012
14 com.apple.HIToolbox 0x9329c164 Check1MenuForKeyEvent(MenuData*, CheckMenuData*) + 124
15 com.apple.HIToolbox 0x9329ba24 CheckMenusForKeyEvent(MenuData*, CheckMenuData*) + 564
16 com.apple.HIToolbox 0x9329b774 IsMenuKeyEvent(MenuData*, OpaqueEventRef*, unsigned long, MenuData**, unsigned short*) + 564
17 com.apple.HIToolbox 0x9329b4f8 IsMenuKeyEvent + 140
18 com.apple.AppKit 0x9378d58c _NSGetMenuItemForCommandKeyEvent + 300
19 com.apple.AppKit 0x936f157c _NSHandleCarbonMenuEvent + 496
20 com.apple.AppKit 0x936eee64 _DPSNextEvent + 1280
21 com.apple.AppKit 0x936ee7a8 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
22 com.apple.AppKit 0x936eacec -[NSApplication run] + 472
23 com.apple.AppKit 0x937db87c NSApplicationMain + 452
24 ch.sudo.cyberduck 0x00001f30 _start + 340 (crt.c:272)
25 ch.sudo.cyberduck 0x00001dd8 start + 60

This looks completly obscure to me. It might be some concurrency issue in the menu delegate code (e.g. in the BookmarkMenuDelegate (line 160), HistoryMenuDelegate (line 218) or RendezvousMenuDelegate (line 283) of CDMainController. Or not. It might be a completly different issue I am unaware of or it might be a bug I can’t even fix myself but is in closed code from Apple (I have filed radar://4784618). Any ‘diff’ sent to me resolving the crash gives a bounty (using Paypal) of 100$. You can check out the Cyberduck source code from the Subversion repository.