Steps to Reproduce: 1) Launch TOT webkit build (r75767) on 10.6.6 2) Go to http://news.yahoo.com/s/ap/20110114/ap_on_bi_ge/as_japan_politics 3) After the page loads, a hang occurs. This page does contain some flash based ads which appear to trigger a hang. Here is a sample of TOT: Sampling process 12272 for 3 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling Safari (pid 12272) every 1 millisecond Call graph: 2370 Thread_26647 DispatchQueue_1: com.apple.main-thread (serial) 2370 0x10000a1c0 2370 NSApplicationMain 2370 -[NSApplication run] 2370 0x1000162f4 2370 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 2370 _DPSNextEvent 2370 BlockUntilNextEventMatchingListInMode 2370 ReceiveNextEventCommon 2370 RunCurrentEventLoopInMode 2370 CFRunLoopRunSpecific 2370 __CFRunLoopRun 2370 __NSFireTimer 2370 0x100045d97 2370 0x100045ed6 2370 0x10004642e 2370 0x1000465eb 2370 0x1000468e6 2370 0x100046bcc 2370 -[NSView displayRectIgnoringOpacity:inContext:] 2370 -[WebHTMLView(WebPrivate) _recursive:displayRectIgnoringOpacity:inContext:topView:] 2370 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inContext:topView:] 2370 -[WebHTMLView drawRect:] 2370 -[WebHTMLView drawSingleRect:] 2370 -[WebFrame(WebInternal) _drawRect:contentsOnly:] 2370 WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&) 2370 WebCore::FrameView::notifyWidgetsInAllFrames(WebCore::WidgetNotification) 2370 WebCore::RenderView::notifyWidgets(WebCore::WidgetNotification) 2370 NetscapePluginWidget::notifyWidget(WebCore::WidgetNotification) 2370 -[WebBaseNetscapePluginView cacheSnapshot] 2370 -[WebHostedNetscapePluginView drawRect:] 2370 WebKit::NetscapePluginInstanceProxy::snapshot(CGContext*, unsigned int, unsigned int) 2370 WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply(unsigned int) 2370 WebKit::NetscapePluginHostProxy::processRequests() 2370 mach_msg 2370 mach_msg_trap 2370 Thread_26649 DispatchQueue_2: com.apple.libdispatch-manager (serial) 2370 start_wqthread 2370 _pthread_wqthread 2370 _dispatch_worker_thread2 2370 _dispatch_queue_invoke 2370 _dispatch_mgr_invoke 2369 kevent 1 _dispatch_run_timers 1 _dispatch_timer_list_update 2370 Thread_26662: WebCore: IconDatabase 2370 thread_start 2370 _pthread_start 2370 WebCore::IconDatabase::iconDatabaseSyncThread() 2370 WebCore::IconDatabase::syncThreadMainLoop() 2370 _pthread_cond_wait 2370 __semwait_signal 2370 Thread_26668: Safari: SafeBrowsingManager 2370 thread_start 2370 _pthread_start 2370 0x10002f829 2370 0x10002f899 2370 CFRunLoopRunSpecific 2370 __CFRunLoopRun 2370 mach_msg 2370 mach_msg_trap 2370 Thread_26670 2370 thread_start 2370 _pthread_start 2370 __NSThread__main__ 2370 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] 2370 CFRunLoopRunSpecific 2370 __CFRunLoopRun 2370 mach_msg 2370 mach_msg_trap 2370 Thread_26672: com.apple.CFSocket.private 2370 thread_start 2370 _pthread_start 2370 __CFSocketManager 2370 select$DARWIN_EXTSN 2370 Thread_26692: Safari: SnapshotStore 2370 thread_start 2370 _pthread_start 2370 0x1000471f9 2370 0x10004737b 2370 0x1001be869 2370 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) 2370 _pthread_cond_wait 2370 __semwait_signal 2370 Thread_26723 2370 thread_start 2370 _pthread_start 2370 thread_fun 2370 CA::Render::Server::server_thread(void*) 2370 mach_msg 2370 mach_msg_trap 2370 Thread_26896: WebCore: LocalStorage 2370 thread_start 2370 _pthread_start 2370 WebCore::LocalStorageThread::threadEntryPoint() 2370 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) 2370 _pthread_cond_wait 2370 __semwait_signal 2370 Thread_26916 2370 thread_start 2370 _pthread_start 2370 startIOThread(void*) 2370 CVDisplayLink::runIOThread() 2370 _pthread_cond_wait 2370 __semwait_signal 2370 Thread_26918: Safari: SpinningProgressIndicator 2370 thread_start 2370 _pthread_start 2370 __NSThread__main__ 2370 0x10009032b 2370 -[NSRunLoop(NSRunLoop) run] 2370 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 2370 CFRunLoopRunSpecific 2370 __CFRunLoopRun 2364 mach_msg 2364 mach_msg_trap 6 __NSFireTimer 3 0x10009098e 3 0x100090ce0 3 0x10008f7c0 3 -[NSImage compositeToPoint:operation:] 3 -[NSImage _composite:delta:fromRect:toPoint:] 3 -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] 3 -[NSImage _usingBestRepresentationForRect:context:hints:body:] 2 __-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke_1 2 -[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:] 2 __-[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke_1 2 CGContextDrawImage 2 ripc_DrawImage 2 ripc_AcquireImage 2 CGSImageDataLock 2 img_data_lock 1 CGColorSpaceGetNumberOfComponents 1 malloc 1 malloc_zone_malloc 1 szone_malloc_should_clear 1 -[NSImage bestRepresentationForRect:context:hints:] 1 -[NSImage _processedHintsForHints:includeOnlyIfAvailable:] 1 objc_msgSend 2 0x1000909d3 2 ripc_Operation 2 CGSDeviceSynchronize 1 CGSShmemSeedIncrement 1 _CGSFlushRegionInline 1 0x10009089f 1 -[NSCFDictionary keyEnumerator] 1 look_up_class 1 NXMapGet 1 _mapStrHash 2369 Thread_27015 2369 start_wqthread 2369 _pthread_wqthread 2369 __workq_kernreturn 1 Thread_27015 DispatchQueue_12: CFMachPort (serial) 1 start_wqthread 1 _pthread_wqthread 1 _dispatch_worker_thread2 1 _dispatch_queue_invoke 1 _dispatch_queue_drain 1 _dispatch_queue_invoke 1 _dispatch_source_invoke 1 __CFMachPortChecker 1 mach_port_type 1 mach_msg 1 mach_msg_trap Total number in stack (recursive counted multiple, when >=5): 9 _pthread_start 9 thread_start 6 mach_msg 6 mach_msg_trap Sort by top of stack, same collapsed (when >= 5): mach_msg_trap 11845 __semwait_signal 9480 select$DARWIN_EXTSN 2370 __workq_kernreturn 2369 kevent 2369 Sample analysis of process 12272 written to file /dev/stdout
This looks like the same hang on TOT Webkit ( r76427 ) when I finish loading http://www.apple.com/itunes/. Sampling process 33921 for 3 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling Safari (pid 33921) every 1 millisecond Call graph: 2474 Thread_107352 DispatchQueue_1: com.apple.main-thread (serial) 2474 0x10000a1b8 2474 NSApplicationMain 2474 -[NSApplication run] 2474 0x1000162ec 2474 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 2474 _DPSNextEvent 2474 BlockUntilNextEventMatchingListInMode 2474 ReceiveNextEventCommon 2474 RunCurrentEventLoopInMode 2474 CFRunLoopRunSpecific 2474 __CFRunLoopRun 2474 __NSFireTimer 2474 0x100045d8f 2474 0x100045ece 2474 0x100046426 2474 0x1000465e3 2474 0x1000468de 2474 0x100046bc4 2474 -[NSView displayRectIgnoringOpacity:inContext:] 2474 -[WebHTMLView(WebPrivate) _recursive:displayRectIgnoringOpacity:inContext:topView:] 2474 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inContext:topView:] 2474 -[WebHTMLView drawRect:] 2474 -[WebHTMLView drawSingleRect:] 2474 -[WebFrame(WebInternal) _drawRect:contentsOnly:] 2474 WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&) 2474 WebCore::FrameView::notifyWidgetsInAllFrames(WebCore::WidgetNotification) 2474 WebCore::RenderView::notifyWidgets(WebCore::WidgetNotification) 2474 NetscapePluginWidget::notifyWidget(WebCore::WidgetNotification) 2474 -[WebBaseNetscapePluginView cacheSnapshot] 2474 -[WebHostedNetscapePluginView drawRect:] 2474 WebKit::NetscapePluginInstanceProxy::snapshot(CGContext*, unsigned int, unsigned int) 2474 WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply(unsigned int) 2474 WebKit::NetscapePluginHostProxy::processRequests() 2474 mach_msg 2474 mach_msg_trap 2474 Thread_107353 DispatchQueue_2: com.apple.libdispatch-manager (serial) 2474 start_wqthread 2474 _pthread_wqthread 2474 _dispatch_worker_thread2 2474 _dispatch_queue_invoke 2474 _dispatch_mgr_invoke 2474 kevent 2474 Thread_107357: WebCore: IconDatabase 2474 thread_start 2474 _pthread_start 2474 WebCore::IconDatabase::iconDatabaseSyncThread() 2474 WebCore::IconDatabase::syncThreadMainLoop() 2474 _pthread_cond_wait 2474 __semwait_signal 2474 Thread_107361: Safari: SafeBrowsingManager 2474 thread_start 2474 _pthread_start 2474 0x10002f821 2474 0x10002f891 2474 CFRunLoopRunSpecific 2474 __CFRunLoopRun 2474 mach_msg 2474 mach_msg_trap 2474 Thread_107363 2474 thread_start 2474 _pthread_start 2474 __NSThread__main__ 2474 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] 2474 CFRunLoopRunSpecific 2474 __CFRunLoopRun 2474 mach_msg 2474 mach_msg_trap 2474 Thread_107368: com.apple.CFSocket.private 2474 thread_start 2474 _pthread_start 2474 __CFSocketManager 2474 select$DARWIN_EXTSN 2474 Thread_107372: Safari: SnapshotStore 2474 thread_start 2474 _pthread_start 2474 0x1000471f1 2474 0x100047373 2474 0x1001be861 2474 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) 2474 _pthread_cond_wait 2474 __semwait_signal 2474 Thread_107518 2474 thread_start 2474 _pthread_start 2474 thread_fun 2474 CA::Render::Server::server_thread(void*) 2474 mach_msg 2474 mach_msg_trap 2474 Thread_107554: Safari: SpinningProgressIndicator 2474 thread_start 2474 _pthread_start 2474 __NSThread__main__ 2474 0x100090323 2474 -[NSRunLoop(NSRunLoop) run] 2474 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 2474 CFRunLoopRunSpecific 2474 __CFRunLoopRun 2468 mach_msg 2468 mach_msg_trap 5 __NSFireTimer 1 0x1000908f9 1 0x100090ac3 1 -[NSObject(NSObject) retain] 1 __CFDoExternRefOperation 1 CFBasicHashAddValue 1 ___CFBasicHashFindBucket1 1 0x100090933 1 objc_msgSend_stret 1 0x100090986 1 0x100090cd8 1 0x10008f7b8 1 objc_msgSend 1 0x1000909a2 1 -[__NSFastEnumerationEnumerator nextObject] 1 _CFAppVersionCheckLessThan 1 CFEqual 1 0x1000909cb 1 ripc_Operation 1 CGSDeviceSynchronize 1 _CGSFlushRegionInline 1 mach_msg 1 mach_msg_trap 1 mk_timer_arm 2474 Thread_107570 2474 start_wqthread 2474 _pthread_wqthread 2474 __workq_kernreturn Total number in stack (recursive counted multiple, when >=5): 7 _pthread_start 7 thread_start 6 mach_msg 6 mach_msg_trap Sort by top of stack, same collapsed (when >= 5): mach_msg_trap 12365 __semwait_signal 4948 __workq_kernreturn 2474 kevent 2474 select$DARWIN_EXTSN 2474 Sample analysis of process 33921 written to file /dev/stdout
Looks the plugin snapshotting issue.
With Webkit TOT r77359, I'm encountering this hang at http://abcnews.go.com/Technology/wireStory?id=12769164
Hmm. I'm seeing this problem with sites that contain QT movies or flash content. I have attached a simple page that loads a QT movie. When the movie loads, a hang occurs.
Created attachment 81376 [details] Sample HTML file with QT movie