RESOLVED FIXED 15153
REGRESSION (r25395): Assertion failure in FrameView::scheduleRelayout() (m_frame->view() == this)
https://bugs.webkit.org/show_bug.cgi?id=15153
Summary REGRESSION (r25395): Assertion failure in FrameView::scheduleRelayout() (m_fr...
mitz
Reported 2007-09-06 13:35:12 PDT
I just hit this assertion (while Safari was in the background. I do not know how to reproduce): ASSERTION FAILED: m_frame->view() == this (WebCore/page/FrameView.cpp:650 void WebCore::FrameView::scheduleRelayout()) I very much suspect it is a result of <http://trac.webkit.org/projects/webkit/changeset/25395>. Backtrace: 0 com.apple.WebCore 0x01a53960 WebCore::FrameView::scheduleRelayout() + 144 1 com.apple.WebCore 0x01b56f90 WebCore::RenderObject::setNeedsLayout(bool, bool) + 116 2 com.apple.WebCore 0x01b58004 WebCore::RenderObject::setStyle(WebCore::RenderStyle*) + 4084 3 com.apple.WebCore 0x01b08b48 WebCore::RenderBox::setStyle(WebCore::RenderStyle*) + 88 4 com.apple.WebCore 0x01ae948c WebCore::RenderBlock::setStyle(WebCore::RenderStyle*) + 68 5 com.apple.WebCore 0x01b8f9f8 WebCore::RenderTextControl::setStyle(WebCore::RenderStyle*) + 40 6 com.apple.WebCore 0x01c9c684 WebCore::Node::setRenderStyle(WebCore::RenderStyle*) + 88 7 com.apple.WebCore 0x01ca99f4 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 864 8 com.apple.WebCore 0x01a1c51c WebCore::HTMLGenericFormElement::recalcStyle(WebCore::Node::StyleChange) + 40 9 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 10 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 11 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 12 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 13 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 14 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 15 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 16 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 17 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 18 com.apple.WebCore 0x01ca9c60 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1484 19 com.apple.WebCore 0x01a68cd0 WebCore::Document::recalcStyle(WebCore::Node::StyleChange) + 1448 20 com.apple.WebCore 0x01a5bfd8 WebCore::Document::updateRendering() + 80 21 com.apple.WebCore 0x01a5f3c0 WebCore::Document::updateDocumentsRendering() + 92 22 com.apple.WebCore 0x01c63e64 WebCore::EventTargetNode::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>, int&, bool) + 3044 23 com.apple.WebCore 0x01c64c34 WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, int&, bool, WebCore::EventTarget*) + 392 24 com.apple.WebCore 0x01c64cc8 WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, int&, bool) + 76 25 com.apple.WebCore 0x01a54fb0 WebCore::FrameView::scheduleEvent(WTF::PassRefPtr<WebCore::Event>, WTF::PassRefPtr<WebCore::EventTargetNode>, bool) + 140 26 com.apple.WebCore 0x01b3feac WebCore::RenderLayer::scrollToOffset(int, int, bool, bool) + 964 27 com.apple.WebCore 0x01b8c47c WebCore::RenderTextControl::forwardEvent(WebCore::Event*) + 280 28 com.apple.WebCore 0x01a1a508 WebCore::HTMLInputElement::defaultEventHandler(WebCore::Event*) + 4516 29 com.apple.WebCore 0x01c63e00 WebCore::EventTargetNode::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>, int&, bool) + 2944 30 com.apple.WebCore 0x01c64c34 WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, int&, bool, WebCore::EventTarget*) + 392 31 com.apple.WebCore 0x01c64cc8 WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, int&, bool) + 76 32 com.apple.WebCore 0x01c64044 WebCore::EventTargetNode::dispatchHTMLEvent(WebCore::AtomicString const&, bool, bool) + 224 33 com.apple.WebCore 0x01c640ac WebCore::EventTargetNode::dispatchBlurEvent() + 52 34 com.apple.WebCore 0x01a147c4 WebCore::HTMLInputElement::dispatchBlurEvent() + 228 35 com.apple.WebCore 0x01a63354 WebCore::Document::setFocusedNode(WTF::PassRefPtr<WebCore::Node>) + 940 36 com.apple.WebCore 0x01a639a0 WebCore::Document::focusedNodeRemoved(WebCore::Node*) + 48 37 com.apple.WebCore 0x01c9b590 WebCore::Node::willRemove() + 140 38 com.apple.WebCore 0x01a88494 WebCore::ContainerNode::willRemove() + 108 39 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 40 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 41 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 42 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 43 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 44 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 45 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 46 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 47 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 48 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 49 com.apple.WebCore 0x01a8846c WebCore::ContainerNode::willRemove() + 68 50 com.apple.WebCore 0x01a62bb0 WebCore::Document::detach() + 204 51 com.apple.WebCore 0x01fbca78 WebCore::CachedPage::clear() + 428 52 com.apple.WebCore 0x01fbdb04 WebCore::CachedPage::close() + 180 53 com.apple.WebCore 0x0201d028 WebCore::PageCache::releaseAutoreleasedPagesNow() + 156 54 com.apple.WebCore 0x0201d288 WebCore::PageCache::releaseAutoreleasedPagesNowOrReschedule(WebCore::Timer<WebCore::PageCache>*) + 472 55 com.apple.WebCore 0x0201eb0c WebCore::Timer<WebCore::PageCache>::fired() + 148 56 com.apple.WebCore 0x01c2cfdc WebCore::TimerBase::fireTimers(double, WTF::Vector<WebCore::TimerBase*, 0ul> const&) + 240 57 com.apple.WebCore 0x01c2d0bc WebCore::TimerBase::sharedTimerFired() + 128 58 com.apple.WebCore 0x01c2c284 WebCore::timerFired(__CFRunLoopTimer*, void*) + 136 59 com.apple.CoreFoundation 0x96289930 CFRunLoopRunSpecific + 2992 60 com.apple.HIToolbox 0x9420a0d8 RunCurrentEventLoopInMode + 264 61 com.apple.HIToolbox 0x94209efc ReceiveNextEventCommon + 412 62 com.apple.HIToolbox 0x94209d3c BlockUntilNextEventMatchingListInMode + 84 63 com.apple.AppKit 0x959b8330 _DPSNextEvent + 580 64 com.apple.AppKit 0x959b7d80 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 112 65 com.apple.Safari 0x00006cec 0x1000 + 23788 66 com.apple.AppKit 0x959b1b58 -[NSApplication run] + 736 67 com.apple.AppKit 0x95982754 NSApplicationMain + 548 68 com.apple.Safari 0x0004ce20 0x1000 + 310816 69 ??? 0x00000ffc 0 + 4092
Attachments
Test case (will assert) (315 bytes, text/html)
2007-09-06 13:52 PDT, mitz
no flags
mitz
Comment 1 2007-09-06 13:52:36 PDT
Created attachment 16211 [details] Test case (will assert)
mitz
Comment 2 2007-09-06 14:01:58 PDT
The test case does not crash release builds, although I think with more complicated layout it might. This is still a P1 regression in my opinion because of the change of behavior (blur event dispatched where it previously hadn't been, and with arbitrary timing). See also bug 12768.
Darin Adler
Comment 3 2007-09-06 14:05:03 PDT
Note You need to log in before you can comment on or make changes to this bug.