Bug 52425 - Hang occurs when loading content at http://news.yahoo.com/s/ap/20110114/ap_on_bi_ge/as_japan_politics
Summary: Hang occurs when loading content at http://news.yahoo.com/s/ap/20110114/ap_on...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.6
: P1 Major
Assignee: Nobody
URL: http://news.yahoo.com/s/ap/20110114/a...
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-13 22:36 PST by Chris Petersen
Modified: 2011-02-05 14:43 PST (History)
4 users (show)

See Also:


Attachments
Sample HTML file with QT movie (8.02 MB, application/octet-stream)
2011-02-05 14:43 PST, Chris Petersen
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Petersen 2011-01-13 22:36:56 PST
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
Comment 1 Chris Petersen 2011-01-22 10:44:18 PST
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
Comment 2 Simon Fraser (smfr) 2011-01-22 19:44:37 PST
Looks the plugin snapshotting issue.
Comment 3 Chris Petersen 2011-02-01 22:41:51 PST
With Webkit TOT r77359, I'm encountering this hang at http://abcnews.go.com/Technology/wireStory?id=12769164
Comment 4 Chris Petersen 2011-02-05 14:40:28 PST
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.
Comment 5 Chris Petersen 2011-02-05 14:43:55 PST
Created attachment 81376 [details]
Sample HTML file with QT movie