Bug 69187

Summary: ASSERT in RenderBox::mapAbsoluteToLocalPoint opening fast/events/offsetX-offsetY.html
Product: WebKit Reporter: Sam Weinig <sam>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: ap, aroben, bdakin, dimitris.apostolou, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.7   

Description Sam Weinig 2011-09-30 16:42:52 PDT
I am seeing an ASSERT whenever I open fast/events/offsetX-offsetY.html on Lion with overlay scrollbars enabled.

ASSERTION FAILED: !view() || !view()->layoutStateEnabled()
/Volumes/Data/Lion/Users/weinig/Code/webkit/OpenSource/Source/WebCore/rendering/RenderBox.cpp(1357) : virtual void WebCore::RenderBox::mapAbsoluteToLocalPoint(bool, bool, WebCore::TransformState &) const
1   WebCore::RenderBox::mapAbsoluteToLocalPoint(bool, bool, WebCore::TransformState&) const
2   WebCore::RenderObject::absoluteToLocal(WebCore::FloatPoint const&, bool, bool) const
3   WebCore::FrameView::convertToRenderer(WebCore::RenderObject const*, WebCore::IntPoint const&) const
4   WebCore::RenderLayer::convertFromContainingViewToScrollbar(WebCore::Scrollbar const*, WebCore::IntPoint const&) const
5   WebCore::Scrollbar::convertFromContainingView(WebCore::IntPoint const&) const
6   -[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]
7   -[NSScrollerImpPair _updateOverlayScrollersStateWithReason:forceAtLeastKnobsVisible:]
8   WebCore::ScrollAnimatorMac::notifyPositionChanged()
9   WebCore::ScrollAnimatorMac::immediateScrollToPoint(WebCore::FloatPoint const&)
10  WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation(WebCore::FloatPoint const&)
11  WebCore::ScrollableArea::scrollToOffsetWithoutAnimation(WebCore::FloatPoint const&)
12  WebCore::RenderLayer::scrollToOffset(int, int, WebCore::RenderLayer::ScrollOffsetClamping)
13  WebCore::RenderLayer::updateScrollInfoAfterLayout()
14  WebCore::RenderBlock::updateScrollInfoAfterLayout()
15  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
16  WebCore::RenderBlock::layout()
17  WebCore::RenderObject::layoutIfNeeded()
18  WebCore::RenderBlock::layoutPositionedObjects(bool)
19  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
20  WebCore::RenderBlock::layout()
21  WebCore::RenderView::layout()
22  WebCore::FrameView::layout(bool)
23  WebCore::Document::implicitClose()
24  WebCore::FrameLoader::checkCallImplicitClose()
25  WebCore::FrameLoader::checkCompleted()
26  WebCore::FrameLoader::finishedParsing()
27  WebCore::Document::finishedParsing()
28  WebCore::HTMLTreeBuilder::finished()
29  WebCore::HTMLDocumentParser::end()
30  WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()
31  WebCore::HTMLDocumentParser::prepareToStopParsing()
Comment 1 Simon Fraser (smfr) 2011-09-30 16:44:47 PDT
We never expected layout state to be enabled while calling mapAbsoluteToLocalPoint() during layout.
Actually, calling mapAbsoluteToLocalPoint() during layout is just wrong, because layout isn't done yet; the mapping may give back the wrong answer.
Comment 2 Alexey Proskuryakov 2011-10-26 08:21:20 PDT
*** Bug 70422 has been marked as a duplicate of this bug. ***
Comment 3 Alexey Proskuryakov 2011-10-26 08:22:56 PDT
Bug 70422 has alternative steps to reproduce.

Do we know when this started, or what the release build symptoms are?
Comment 4 Adam Roben (:aroben) 2011-12-02 09:57:19 PST
See also bug 73348.
Comment 5 Simon Fraser (smfr) 2011-12-02 11:09:04 PST
73348 has a bit more info.

*** This bug has been marked as a duplicate of bug 73348 ***
Comment 6 Alexey Proskuryakov 2011-12-02 11:16:31 PST
It feels like this has become much more frequent lately.
Comment 7 Alexey Proskuryakov 2011-12-02 11:17:28 PST
Ah right, bug 73348 explains why.