[Webkit-unassigned] [Bug 13938] New: REGRESSION: Difficult to repro crash in RenderBlock::layoutBlock using iGoogle
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed May 30 12:45:57 PDT 2007
http://bugs.webkit.org/show_bug.cgi?id=13938
Summary: REGRESSION: Difficult to repro crash in
RenderBlock::layoutBlock using iGoogle
Product: WebKit
Version: 522+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: NEW
Keywords: InRadar
Severity: Normal
Priority: P1
Component: Layout and Rendering
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: bdakin at apple.com
We have had several reports of people crashing loading/playing with the new
iGoogle Google homepage. Here is what we have learned about the crash so far:
1. It was introduced with
http://trac.webkit.org/projects/webkit/changeset/21183
2. Antti caught this in the debugger once, and discovered that the problem is
that we are triggering layout() from SelectionController()::caretRect() and end
up over-popping layout state. He crashed in RenderView::layout() at
ASSERT(!m_layoutState); Here is the relevant part of his debug stack trace:
#0 0x0114587a in WebCore::RenderView::layout at RenderView.cpp:104
#1 0x010c4d6f in WebCore::FrameView::layout at FrameView.cpp:418
#2 0x010c7aad in WebCore::Document::updateLayout at Document.cpp:1054
#3 0x010c7a2b in WebCore::Document::updateLayout at Document.cpp:1046
#4 0x010d2efc in WebCore::Document::updateLayoutIgnorePendingStylesheets
at Document.cpp:1080
#5 0x011e998b in WebCore::VisiblePosition::canonicalPosition at
VisiblePosition.cpp:130
#6 0x011e9d4c in WebCore::VisiblePosition::init at VisiblePosition.cpp:58
#7 0x011e9f48 in WebCore::VisiblePosition::VisiblePosition at
VisiblePosition.cpp:45
#8 0x011d9e54 in WebCore::SelectionController::layout at
SelectionController.cpp:839
#9 0x011da04f in WebCore::SelectionController::caretRect at
SelectionController.cpp:856
#10 0x011da360 in WebCore::SelectionController::recomputeCaretRect at
SelectionController.cpp:896
#11 0x010b7475 in WebCore::Frame::selectionLayoutChanged at Frame.cpp:585
#12 0x010b7616 in WebCore::Frame::invalidateSelection at Frame.cpp:522
#13 0x010c4db7 in WebCore::FrameView::layout at FrameView.cpp:423
#14 0x0127518c in WebCore::RenderPart::updateWidgetPosition at
RenderPart.cpp:115
#15 0x01146723 in WebCore::RenderView::updateWidgetPositions at
RenderView.cpp:447
#16 0x0115c510 in WebCore::RenderLayer::scrollToOffset at
RenderLayer.cpp:671
#17 0x0115e2dc in WebCore::RenderLayer::updateScrollInfoAfterLayout at
RenderLayer.cpp:1170
#18 0x0113a89e in WebCore::RenderBlock::layoutBlock at RenderBlock.cpp:647
And here is the full stack trace that we have:
Thread 0 Crashed (i386):
>#0 com.apple.WebCore 0x9556eab8 WebCore::RenderBlock::layoutBlock(bool) + 2360
#1 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#2 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#3 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#4 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#5 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#6 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#7 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#8 com.apple.WebCore 0x9555d3fb
WebCore::RenderBlock::layoutInlineChildren(bool, int&, int&) + 2235
#9 com.apple.WebCore 0x9556e453
WebCore::RenderBlock::layoutBlock(bool) + 723
#10 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#11 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#12 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#13 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#14 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#15 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#16 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#17 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#18 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#19 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#20 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#21 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#22 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#23 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#24 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#25 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#26 com.apple.WebCore 0x9556dc4e
WebCore::RenderBlock::layoutBlockChildren(bool) + 814
#27 com.apple.WebCore 0x9556e892
WebCore::RenderBlock::layoutBlock(bool) + 1810
#28 com.apple.WebCore 0x955618c8 WebCore::RenderBlock::layout() +
40
#29 com.apple.WebCore 0x95579c48 WebCore::RenderView::layout() +
200
#30 com.apple.WebCore 0x954f25c6 WebCore::FrameView::layout(bool)
+ 422
#31 com.apple.WebCore 0x95851a62
WebCore::Timer<WebCore::FrameView>::fired() + 82
#32 com.apple.WebCore 0x95617e19
WebCore::TimerBase::fireTimers(double, WTF::Vector<WebCore::TimerBase*, 0ul>
const&) + 137
#33 com.apple.WebCore 0x95617ed2
WebCore::TimerBase::sharedTimerFired() + 162
#34 com.apple.CoreFoundation 0x95ab1414 __CFRunLoopRun + 4180
#35 com.apple.CoreFoundation 0x95ab17b9 CFRunLoopRunSpecific + 553
#36 com.apple.CoreFoundation 0x95ab1848 CFRunLoopRunInMode + 88
#37 com.apple.HIToolbox 0x90628055 RunCurrentEventLoopInMode + 305
#38 com.apple.HIToolbox 0x9062da61 ReceiveNextEventCommon + 374
#39 com.apple.HIToolbox 0x9062db6d
BlockUntilNextEventMatchingListInMode + 106
#40 com.apple.AppKit 0x932de79f _DPSNextEvent + 657
#41 com.apple.AppKit 0x932de0f2 -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
#42 com.apple.Safari 0x00006fde
#43 com.apple.AppKit 0x932d8121 -[NSApplication run] + 795
#44 com.apple.AppKit 0x932cb480 NSApplicationMain + 663
#45 com.apple.Safari 0x00002e4f
#46 com.apple.Safari 0x0004c159
#47 page zero 0x00000002
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list