Bug 15752 - REGRESSION: TOT Hanging in drawPattern code
Summary: REGRESSION: TOT Hanging in drawPattern code
Status: RESOLVED DUPLICATE of bug 15750
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 523.x (Safari 3)
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL:
Keywords: NeedsReduction
Depends on:
Blocks:
 
Reported: 2007-10-29 11:03 PDT by Eric Seidel (no email)
Modified: 2007-10-29 11:14 PDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2007-10-29 11:03:27 PDT
I was trying to test ap's most recent change for XSLTProcessor by opening
fast/xsl/xslt-missing-namespace-in-xslt.xml and viewing the inspector.

Safari went off the deep end:

Analysis of sampling Safari (pid 5434) every 1 millisecond
Call graph:
    7108 Thread_2503
      7108 0x2876
        7108 NSApplicationMain
          7108 -[NSApplication run]
            7108 0x9d4e
              7108 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
                7108 _DPSNextEvent
                  7108 BlockUntilNextEventMatchingListInMode
                    7108 ReceiveNextEventCommon
                      7108 RunCurrentEventLoopInMode
                        7108 CFRunLoopRunInMode
                          7108 CFRunLoopRunSpecific
                            7108 __CFRunLoopDoObservers
                              7108 _handleWindowNeedsDisplay
                                7108 -[NSWindow displayIfNeeded]
                                  7108 -[NSView displayIfNeeded]
                                    7108 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
                                      7108 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                        7108 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                          7108 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                            7108 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                              7108 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                7108 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                  7108 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                    7108 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                      7108 -[WebHTMLView(WebPrivate) _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                        7108 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                          7108 -[NSView _drawRect:clip:]
                                                            7108 -[WebHTMLView drawRect:]
                                                              7108 -[WebHTMLView drawSingleRect:]
                                                                7108 -[WebCoreFrameBridge drawRect:]
                                                                  7108 WebCore::Frame::paint(WebCore::GraphicsContext*, WebCore::IntRect const&)
                                                                    7108 WebCore::RenderLayer::paint(WebCore::GraphicsContext*, WebCore::IntRect const&, WebCore::PaintRestriction, WebCore::RenderObject*)
                                                                      7108 WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, bool, WebCore::PaintRestriction, WebCore::RenderObject*)
                                                                        7108 WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, bool, WebCore::PaintRestriction, WebCore::RenderObject*)
                                                                          7108 WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, bool, WebCore::PaintRestriction, WebCore::RenderObject*)
                                                                            7108 WebCore::RenderListItem::paint(WebCore::RenderObject::PaintInfo&, int, int)
                                                                              7108 WebCore::RenderBlock::paint(WebCore::RenderObject::PaintInfo&, int, int)
                                                                                7108 WebCore::RenderBlock::paintObject(WebCore::RenderObject::PaintInfo&, int, int)
                                                                                  7108 WebCore::RenderBlock::paintFloats(WebCore::RenderObject::PaintInfo&, int, int, bool)
                                                                                    7108 WebCore::RenderBlock::paint(WebCore::RenderObject::PaintInfo&, int, int)
                                                                                      7108 WebCore::RenderBlock::paintObject(WebCore::RenderObject::PaintInfo&, int, int)
                                                                                        7108 WebCore::RenderBox::paintBoxDecorations(WebCore::RenderObject::PaintInfo&, int, int)
                                                                                          7108 WebCore::RenderBox::paintBackgrounds(WebCore::GraphicsContext*, WebCore::Color const&, WebCore::BackgroundLayer const*, int, int, int, int, int, int)
                                                                                            7108 WebCore::RenderBox::paintBackgrounds(WebCore::GraphicsContext*, WebCore::Color const&, WebCore::BackgroundLayer const*, int, int, int, int, int, int)
                                                                                              7108 WebCore::RenderBox::paintBackground(WebCore::GraphicsContext*, WebCore::Color const&, WebCore::BackgroundLayer const*, int, int, int, int, int, int)
                                                                                                7108 WebCore::RenderBox::paintBackgroundExtended(WebCore::GraphicsContext*, WebCore::Color const&, WebCore::BackgroundLayer const*, int, int, int, int, int, int, bool, bool)
                                                                                                  7108 WebCore::GraphicsContext::drawTiledImage(WebCore::Image*, WebCore::IntRect const&, WebCore::IntPoint const&, WebCore::IntSize const&, WebCore::CompositeOperator)
                                                                                                    7108 WebCore::Image::drawTiled(WebCore::GraphicsContext*, WebCore::FloatRect const&, WebCore::FloatPoint const&, WebCore::FloatSize const&, WebCore::CompositeOperator)
                                                                                                      7108 WebCore::Image::drawPattern(WebCore::GraphicsContext*, WebCore::FloatRect const&, WebCore::AffineTransform const&, WebCore::FloatPoint const&, WebCore::CompositeOperator, WebCore::FloatRect const&)
                                                                                                        7108 CGContextDrawTiledImage
                                                                                                          7108 CGContextFillRect
                                                                                                            7108 CGContextFillRects
                                                                                                              7108 ripc_DrawRects
                                                                                                                7108 ripc_Render
                                                                                                                  7108 ripc_GetColor
                                                                                                                    7108 ripc_TilePattern
                                                                                                                      5950 ripc_DrawImages
                                                                                                                        3149 ripc_DrawImages
                                                                                                                        1460 CGRectEqualToRect
                                                                                                                          1460 CGRectEqualToRect
                                                                                                                        1172 CGRectContainsRect
                                                                                                                          1172 CGRectContainsRect
                                                                                                                        107 ceil
                                                                                                                          107 ceil
                                                                                                                        62 floor$fenv_access_off
                                                                                                                          62 floor$fenv_access_off
                                                                                                                      340 ceil
                                                                                                                        340 ceil
                                                                                                                      337 floor$fenv_access_off
                                                                                                                        337 floor$fenv_access_off
                                                                                                                      174 dyld_stub_ceil
                                                                                                                        174 dyld_stub_ceil
                                                                                                                      166 dyld_stub_floor
                                                                                                                        166 dyld_stub_floor
                                                                                                                      73 dyld_stub_CGRectEqualToRect
                                                                                                                        73 dyld_stub_CGRectEqualToRect
                                                                                                                      68 dyld_stub_CGRectContainsRect
                                                                                                                        68 dyld_stub_CGRectContainsRect
    7108 Thread_2603
      7108 thread_start
        7108 _pthread_start
          7108 WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*)
            7108 WebCore::IconDatabase::iconDatabaseSyncThread()
              7108 WebCore::IconDatabase::syncThreadMainLoop()
                7108 WebCore::ThreadCondition::wait(WebCore::Mutex&)
                  7108 pthread_cond_wait$UNIX2003
                    7108 __semwait_signal
                      7108 __semwait_signal
    7108 Thread_2703
      7108 thread_start
        7108 _pthread_start
          7108 select$DARWIN_EXTSN
            7108 select$DARWIN_EXTSN
    7108 Thread_2803
      7108 thread_start
        7108 _pthread_start
          7108 CFURLCacheWorkerThread(void*)
            7108 CFRunLoopRunInMode
              7108 CFRunLoopRunSpecific
                7108 mach_msg
                  7108 mach_msg_trap
                    7108 mach_msg_trap
    7108 Thread_2903
      7108 thread_start
        7108 _pthread_start
          7108 __NSThread__main__
            7108 -[NSThread main]
              7108 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
                7108 CFRunLoopRunInMode
                  7108 CFRunLoopRunSpecific
                    7108 mach_msg
                      7108 mach_msg_trap
                        7108 mach_msg_trap

Total number in stack (recursive counted multiple, when >=5):
        6       -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]

Sort by top of stack, same collapsed (when >= 5):
        mach_msg_trap        14216
        __semwait_signal        7108
        select$DARWIN_EXTSN        7108
        ripc_DrawImages        3149
        CGRectEqualToRect        1460
        CGRectContainsRect        1172
        ceil        447
        floor$fenv_access_off        399
        dyld_stub_ceil        174
        dyld_stub_floor        166
        dyld_stub_CGRectEqualToRect        73
        dyld_stub_CGRectContainsRect        68
Comment 1 Eric Seidel (no email) 2007-10-29 11:05:34 PDT
This reproduces for me.  Assuming I don't have a busted build, this is a P1 regression.  Open fast/xsl/xslt-missing-namespace-in-xslt.xml and click somewhere and choose "inspect element".  I then tried to disclose the "Other" section of the right hand column in the inspector, but I think Safari had already hung by then.
Comment 2 Eric Seidel (no email) 2007-10-29 11:06:41 PDT
I saw this in the console of at least one Safari instance:
2007-10-29 12:30:42.904 Safari[5434:613] *** Exception received from DOM API: 8
dom
Mon Oct 29 12:39:09 HackTop.local Safari[5434] <Error>: CGAffineTransformInvert: singular matrix.

I'm not sure those logs appeared every time.
Comment 3 mitz 2007-10-29 11:14:40 PDT

*** This bug has been marked as a duplicate of 15750 ***