Bug 15752
| Summary: | REGRESSION: TOT Hanging in drawPattern code | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
| Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | Keywords: | NeedsReduction |
| Priority: | P1 | ||
| Version: | 523.x (Safari 3) | ||
| Hardware: | Mac | ||
| OS: | OS X 10.4 | ||
Eric Seidel (no email)
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
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Eric Seidel (no email)
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.
Eric Seidel (no email)
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.
mitz
*** This bug has been marked as a duplicate of 15750 ***