Webkit Freezes if MobileMe sync is running. When Sync is in progess Webkit has a spinning wheel and will not respond. I have 5 tabs open to various web and local pages, incl. Facebook and Flickr.
Are you able to reproduce this problem again? If so, can you please run Activity Monitor, select WebKit and select View -> Sample Process *while* WebKit is frozen. Then attach the resulting data to this bug report.
I think I have narrowed it down to right-clicking (two finger click on my Macbook Pro) when on the tuaw.com website. I have repeatedly confirmed that to right click a link on their site cause the color wheel to spin and the browser to freeze requiring a forced quit. In fact I just opened Only the tuaw.com page and then right clicked on the "link" link in the Parallels article and voila! spinning wheel of freeze! Plain clicking them works as normal. Sync seems to be unrelated.
Sampling process 5653 for 3 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling Safari (pid 5653) every 1 millisecond Call graph: 1042 Thread_2503 1042 0xb9b16 1042 NSApplicationMain 1042 -[NSApplication run] 1042 0x2ab58 1042 -[NSApplication sendEvent:] 1042 0x2b0d3 1042 -[NSWindow sendEvent:] 1042 -[NSControl _rightMouseUpOrDown:] 1042 -[NSView rightMouseDown:] 1042 -[NSMenu _popUpMenuWithEvent:forView:] 1042 -[NSMenu _popUpContextMenu:withEvent:forView:] 1042 -[NSMenu _popUpContextMenu:withEvent:forView:withFont:] 1042 -[NSCarbonMenuImpl _popUpContextMenu:withEvent:forView:withFont:] 1042 _NSPopUpCarbonMenu1 1042 _NSPopUpCarbonMenu2 1042 _NSPopUpCarbonMenu3 1042 _FM_CM_i_AllMenuItemsAreDisabled 1042 _ContextualMenuInsertItems 1042 _ContextualMenuInsertItems(MenuData*, unsigned short, AEDesc const*, ContextualMenuHelp const*, unsigned long*, OpaqueContextualMenuItemsRef**) 1042 TContextualMenuPluginList::ExamineContext(AEDesc const*, TPluginCommandList&, long) 1042 TContextualMenuPlugin::ExamineContext(AEDesc const*, TPluginCommandList&, unsigned long, unsigned char&) 1042 CMPluginExamineContext 1042 createStandardMenu(AEDesc*) 1042 _targetAppServicesProxy() 1042 _CF_forwarding_prep_0 1042 ___forwarding___ 1042 -[NSDistantObject forwardInvocation:] 1042 -[NSConnection sendInvocation:internal:] 1042 -[NSConcretePortCoder sendBeforeTime:sendReplyPort:] 1042 -[NSMachPort sendBeforeTime:streamData:components:from:msgid:] 1042 +[NSMachPort sendBeforeTime:streamData:components:to:from:msgid:reserved:] 1042 mach_msg 1042 mach_msg_trap 1042 mach_msg_trap 1042 Thread_2603 1042 thread_start 1042 _pthread_start 1042 __ape_agent 1042 mach_msg 1042 mach_msg_trap 1042 mach_msg_trap 1042 Thread_2703 1042 thread_start 1042 _pthread_start 1042 WebCore::IconDatabase::iconDatabaseSyncThread() 1042 WebCore::IconDatabase::syncThreadMainLoop() 1042 pthread_cond_wait$UNIX2003 1042 __semwait_signal 1042 __semwait_signal 1042 Thread_2803 1042 thread_start 1042 _pthread_start 1042 CFURLCacheWorkerThread(void*) 1042 CFRunLoopRunInMode 1042 CFRunLoopRunSpecific 1042 mach_msg 1042 mach_msg_trap 1042 mach_msg_trap 1042 Thread_2903 1042 thread_start 1042 _pthread_start 1042 __NSThread__main__ 1042 -[NSThread main] 1042 -[NSUIHeartBeat _heartBeatThread:] 1042 -[NSConditionLock lockWhenCondition:] 1042 -[NSConditionLock lockWhenCondition:beforeDate:] 1042 -[NSCondition waitUntilDate:] 1042 pthread_cond_timedwait_relative_np 1042 _pthread_cond_wait 1042 semaphore_timedwait_signal_trap 1042 semaphore_timedwait_signal_trap 1042 Thread_2a03 1042 thread_start 1042 _pthread_start 1042 WebCore::LocalStorageThread::localStorageThread() 1042 pthread_cond_wait$UNIX2003 1042 __semwait_signal 1042 __semwait_signal 1042 Thread_2b03 1042 thread_start 1042 _pthread_start 1042 0x118081 1042 0x117fd3 1042 0x118d4d 1042 CFRunLoopRunInMode 1042 CFRunLoopRunSpecific 1042 mach_msg 1042 mach_msg_trap 1042 mach_msg_trap 1042 Thread_2c03 1042 thread_start 1042 _pthread_start 1042 __NSThread__main__ 1042 -[NSThread main] 1042 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] 1042 CFRunLoopRunInMode 1042 CFRunLoopRunSpecific 1042 mach_msg 1042 mach_msg_trap 1042 mach_msg_trap 1042 Thread_2d03 1042 thread_start 1042 _pthread_start 1042 ReadSchedulerThreadEntryPoint 1042 TSWaitOnSemaphoreCommon 1042 TSWaitOnConditionTimedRelative 1042 pthread_cond_timedwait_relative_np 1042 _pthread_cond_wait 1042 semaphore_timedwait_signal_trap 1042 semaphore_timedwait_signal_trap 1042 Thread_2e03 1042 thread_start 1042 _pthread_start 1042 select$DARWIN_EXTSN 1042 select$DARWIN_EXTSN 1042 Thread_2f03 1042 start_wqthread 1042 __workq_ops 1042 __workq_ops 1042 Thread_3103 1042 thread_start 1042 _pthread_start 1042 Flash_EnforceLocalSecurity 1042 mach_msg 1042 mach_msg_trap 1042 mach_msg_trap 1042 Thread_3203 1042 thread_start 1042 _pthread_start 1042 0x171932cc 1042 Flash_EnforceLocalSecurity 1042 0x17192ece 1042 pthread_cond_wait 1042 _pthread_cond_wait 1042 semaphore_wait_signal_trap 1042 semaphore_wait_signal_trap 1042 Thread_3303 1042 thread_start 1042 _pthread_start 1042 0x171932cc 1042 Flash_EnforceLocalSecurity 1042 0x17192ece 1042 pthread_cond_wait 1042 _pthread_cond_wait 1042 semaphore_wait_signal_trap 1042 semaphore_wait_signal_trap Total number in stack (recursive counted multiple, when >=5): 12 _pthread_start 12 thread_start 6 mach_msg 6 mach_msg_trap Sort by top of stack, same collapsed (when >= 5): mach_msg_trap 6252 __semwait_signal 2084 semaphore_timedwait_signal_trap 2084 semaphore_wait_signal_trap 2084 __workq_ops 1042 select$DARWIN_EXTSN 1042 Sample analysis of process 5653 written to file /dev/stdout
I'm almost certain that this is caused by a third-party context menu plugin rather than anything in WebKit or Safari. I can't tell what the plugin is from that information, but the info shows execution is stuck below TContextualMenuPlugin which indicates a call in to third-party code. I would suggest removing all third-party extensions and context menu plugins and checking whether the problem still occurs.