Bug 5238 - Safari SVG beachballed on loading an interactive SVG
Summary: Safari SVG beachballed on loading an interactive SVG
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P4 Normal
Assignee: Eric Seidel (no email)
URL: http://www.carto.net/papers/svg/navig...
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-02 17:07 PDT by Thomas Worrall
Modified: 2005-10-02 22:18 PDT (History)
0 users

See Also:


Attachments
sample for the freeze (6.77 KB, text/plain)
2005-10-02 17:09 PDT, Thomas Worrall
no flags Details
Patch to fix this hang/crash. (924 bytes, patch)
2005-10-02 17:25 PDT, Eric Seidel (no email)
mjs: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Worrall 2005-10-02 17:07:25 PDT
Sample output:



Analysis of sampling pid 1700 every 10.000000 milliseconds
Call graph:
    12177 Thread_0f17
      12177 0x56e28
        12177 0x21e8
          12177 NSApplicationMain
            12177 -[NSApplication run]
              12177 0x6bbc
                12177 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
                  12177 _DPSNextEvent
                    12177 BlockUntilNextEventMatchingListInMode
                      12177 ReceiveNextEventCommon
                        12177 RunCurrentEventLoopInMode
                          12177 CFRunLoopRunSpecific
                            12177 __CFRunLoopRun
                              12177 __CFRunLoopDoTimer
                                12177 __NSFireTimer
                                  12177 CFSetRemoveAllValues
                                    12177 _CFRelease
                                      12177 __CFDictionaryDeallocate
                                        12177 -[KWQPageState dealloc]
                                          12177 DOM::DocumentImpl::detach()
                                            12177 DOM::ContainerNodeImpl::detach()
                                              12177 DOM::ContainerNodeImpl::detach()
                                                12177 DOM::ContainerNodeImpl::detach()
                                                  12177 DOM::ContainerNodeImpl::detach()
                                                    12177 DOM::ContainerNodeImpl::detach()
                                                      12177 DOM::ContainerNodeImpl::detach()
                                                        12177 DOM::ContainerNodeImpl::detach()
                                                          12177 DOM::NodeImpl::detach()
                                                            12177 khtml::RenderWidget::detach()
                                                              12177 khtml::RenderObject::arenaDelete(RenderArena*, void*)
                                                                12177 khtml::RenderPartObject::~RenderPartObject [in-
charge deleting]()
                                                                  12177 khtml::RenderPart::~RenderPart [not-in-charge]()
                                                                    12177 KHTMLView::~KHTMLView [in-charge deleting]()
                                                                      12177 KHTMLViewPrivate::~KHTMLViewPrivate [in-charge]
()
                                                                        12177 
DOM::KDOMNodeTreeWrapperImpl::~KDOMNodeTreeWrapperImpl [in-charge deleting]()
                                                                          12177 KSVG::SVGDocumentImpl::~SVGDocumentImpl 
[in-charge deleting]()
                                                                            12177 KDOM::DocumentImpl::~DocumentImpl [not-
in-charge]()
                                                                              12177 KDOM::DocumentLoader::~DocumentLoader 
[in-charge]()
                                                                                12177 KDOM::Loader::cancelRequests
(KDOM::DocumentLoader*)
                                                                                  12177 KWQListImpl::remove(bool)
                                                                                    12177 QPtrList<KDOM::Request>::deleteFunc
(void*)
                                                                                      12177 KDOM::Request::~Request [in-charge]()
                                                                                        12177 KDOM::CachedObject::setRequest
(KDOM::Request*)
                                                                                          12177 KDOM::CachedObject::allowInLRUList() 
const
                                                                                            12177 KDOM::CachedObject::canDelete() 
const
                                                                                              12177 objc_msgSend_rtp
                                                                                                12177 objc_msgSend_rtp
    12177 Thread_1003
      12177 _pthread_body
        12177 forkThreadForFunction
          12177 +[WebFileDatabase _syncLoop:]
            12177 -[NSRunLoop run]
              12177 -[NSRunLoop runMode:beforeDate:]
                12177 CFRunLoopRunSpecific
                  12177 __CFRunLoopRun
                    12177 mach_msg
                      12177 mach_msg_trap
                        12177 mach_msg_trap
    12177 Thread_1103
      12177 _pthread_body
        12177 forkThreadForFunction
          12177 +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:]
            12177 CFRunLoopRunSpecific
              12177 __CFRunLoopRun
                12177 mach_msg
                  12177 mach_msg_trap
                    12177 mach_msg_trap
    12177 Thread_1203
      12177 _pthread_body
        12177 forkThreadForFunction
          12177 +[NSURLCache _diskCacheSyncLoop:]
            12177 CFRunLoopRunSpecific
              12177 __CFRunLoopRun
                12177 mach_msg
                  12177 mach_msg_trap
                    12177 mach_msg_trap
    12177 Thread_1303
      12177 _pthread_body
        12177 forkThreadForFunction
          12177 -[AsyncDB _run:]
            12177 -[NSConditionLock lockWhenCondition:]
              12177 pthread_cond_wait
                12177 semaphore_wait_signal_trap
                  12177 semaphore_wait_signal_trap
    12177 Thread_1403
      12177 _pthread_body
        12177 __CFSocketManager
          12177 select
            12177 select
    12177 Thread_1503
      12177 _pthread_body
        12177 forkThreadForFunction
          12177 -[NSUIHeartBeat _heartBeatThread:]
            12177 -[NSConditionLock lockWhenCondition:]
              12177 pthread_cond_wait
                12177 semaphore_wait_signal_trap
                  12177 semaphore_wait_signal_trap
    12177 Thread_1603
      12177 _pthread_body
        12177 forkThreadForFunction
          12177 0x3593c
            12177 -[NSRunLoop run]
              12177 -[NSRunLoop runMode:beforeDate:]
                12177 CFRunLoopRunSpecific
                  12177 __CFRunLoopRun
                    12177 mach_msg
                      12177 mach_msg_trap
                        12177 mach_msg_trap

Total number in stack (recursive counted multiple, when >=5):
        7       DOM::ContainerNodeImpl::detach()
        7       _pthread_body
        6       forkThreadForFunction
        5       CFRunLoopRunSpecific
        5       __CFRunLoopRun

Sort by top of stack, same collapsed (when >= 5):
        mach_msg_trap        48708
        semaphore_wait_signal_trap        24354
        objc_msgSend_rtp        12177
        select        12177
Comment 1 Thomas Worrall 2005-10-02 17:09:25 PDT
Created attachment 4160 [details]
sample for the freeze
Comment 2 Eric Seidel (no email) 2005-10-02 17:25:04 PDT
Created attachment 4161 [details]
Patch to fix this hang/crash.
Comment 3 Maciej Stachowiak 2005-10-02 19:51:38 PDT
Surprising this hangs instead of crashing, but r=me