Summary: | Assertions when !renderer->needsLayout() | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adam Barth <abarth> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | linchong_jx, mitz, sam |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Description
Adam Barth
2011-09-30 18:09:21 PDT
Windows too: ASSERTION FAILED: !renderer->needsLayout() Backtrace: WebCore::RenderView::layout [0x011B588B+795] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\rendering\renderview.cpp:147) WebCore::FrameView::layout [0x0132966B+2347] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\page\frameview.cpp:1096) WebCore::Document::implicitClose [0x01AFB814+852] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\dom\document.cpp:2235) WebCore::FrameLoader::checkCallImplicitClose [0x013D89B4+132] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\frameloader.cpp:797) WebCore::FrameLoader::checkCompleted [0x013D8742+242] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\frameloader.cpp:746) WebCore::FrameLoader::finishedParsing [0x013D84A8+152] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\frameloader.cpp:680) WebCore::Document::finishedParsing [0x01B0487F+351] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\dom\document.cpp:4295) WebCore::HTMLTreeBuilder::finished [0x01AD3D44+100] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\html\parser\htmltreebuilder.cpp:2826) WebCore::HTMLDocumentParser::end [0x01AA45C3+131] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:382) WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd [0x01AA4696+182] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:391) WebCore::HTMLDocumentParser::prepareToStopParsing [0x01AA33EC+188] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:154) WebCore::HTMLDocumentParser::attemptToEnd [0x01AA4709+57] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:402) WebCore::HTMLDocumentParser::finish [0x01AA4863+51] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:430) WebCore::DocumentWriter::endIfNotLoadingMainResource [0x014A3625+229] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\documentwriter.cpp:235) WebCore::DocumentWriter::end [0x014A3527+39] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\documentwriter.cpp:215) WebCore::DocumentLoader::finishedLoading [0x014804A4+84] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\documentloader.cpp:286) WebCore::FrameLoader::finishedLoading [0x013DE702+82] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\frameloader.cpp:2085) WebCore::MainResourceLoader::didFinishLoading [0x0176B8B0+304] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\mainresourceloader.cpp:477) WebCore::ResourceLoader::didFinishLoading [0x017645F1+97] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webcore\loader\resourceloader.cpp:451) WebCore::ResourceHandleInternal::didFinishLoading [0x00A7DBC0+144] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\source\webkit\chromium\src\resourcehandle.cpp:158) webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest [0x00B7B505+533] (e:\b\build\slave\webkit_win__dbg__1_\build\src\webkit\glue\weburlloader_impl.cc:629) `anonymous namespace'::RequestProxy::NotifyCompletedRequest [0x00AFFD49+57] (e:\b\build\slave\webkit_win__dbg__1_\build\src\webkit\tools\test_shell\simple_resource_loader_bridge.cc:289) [0x00B08211+33] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\tuple.h:560) [0x00B067B5+53] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\task.h:348) base::subtle::TaskClosureAdapter::Run [0x022BE672+50] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\task.cc:56) base::internal::Invoker1<0,base::internal::InvokerStorage1<void (__thiscall base::subtle::TaskClosureAdapter::*)(void),base::subtle::TaskClosureAdapter *>,void (__thiscall base::subtle::TaskClosureAdapter::*)(void)>::DoInvoke [0x022B8EED+45] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\bind_internal.h:595) base::Callback<void __cdecl(void)>::Run [0x008BA37F+47] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\callback.h:269) MessageLoop::RunTask [0x022AF595+293] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_loop.cc:478) MessageLoop::DeferOrRunPendingTask [0x022AF6D3+51] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_loop.cc:495) MessageLoop::DoWork [0x022B00AD+221] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_loop.cc:682) base::MessagePumpForUI::DoRunLoop [0x0231B574+84] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_pump_win.cc:203) base::MessagePumpWin::RunWithDispatcher [0x0231ADF2+130] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_pump_win.cc:51) base::MessagePumpWin::Run [0x0231B05C+28] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_pump_win.h:80) MessageLoop::RunInternal [0x022AF2E7+247] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_loop.cc:443) MessageLoop::RunHandler [0x022AF0BE+46] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_loop.cc:417) MessageLoop::Run [0x022AE9CA+58] (e:\b\build\slave\webkit_win__dbg__1_\build\src\base\message_loop.cc:341) webkit_support::RunMessageLoop [0x0090058F+15] (e:\b\build\slave\webkit_win__dbg__1_\build\src\webkit\support\webkit_support.cc:401) TestShell::waitTestFinished [0x0042CEBD+141] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\tools\dumprendertree\chromium\testshellwin.cpp:106) TestShell::runFileTest [0x0044796F+479] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\tools\dumprendertree\chromium\testshell.cpp:233) runTest [0x0041BB3D+733] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\tools\dumprendertree\chromium\dumprendertree.cpp:125) main [0x0041B336+2262] (e:\b\build\slave\webkit_win__dbg__1_\build\src\third_party\webkit\tools\dumprendertree\chromium\dumprendertree.cpp:256) __tmainCRTStartup [0x00AA5857+279] (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:266) mainCRTStartup [0x00AA572F+15] (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:182) RegisterWaitForInputIdle [0x7C817077+73] None Seems to have been caused but this patch: http://trac.webkit.org/changeset/96427 Adding the authors of the patch that is triggering the assertions. I've removed the assert in http://trac.webkit.org/changeset/96445. If this assert is catching real bugs, we should fix those bugs and then add the assert back. I would comment on the original bug, but it's only in rdar. fast/flexbox/021.html seems to be a popular test to trigger the assert. I am terribly sorry. This was not meant to be checked in, and not part of the patch as reviewed. Thanks for reverting the change! ASSERT FAILED: ASSERT(!renderer()->needsLayout()); 1 0x1129a33 WebCore::HTMLFormControlElement::isFocusable() const 2 0x1142445 WebCore::HTMLInputElement::isMouseFocusable() const 3 0x114c3a1 WebCore::HTMLLabelElement::defaultEventHandler(WebCore::Event*) 4 0xfc46b9 WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) 5 0x13e331b WebCore::MouseEventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const 6 0xfc3465 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) 7 0x1400273 WebCore::Node::dispatchMouseEvent(WebCore::PlatformMouseEvent const&, WTF::AtomicString const&, int, WebCore::Node*) 8 0xfcd55b WebCore::EventHandler::dispatchMouseEvent(WTF::AtomicString const&, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&, bool) 9 0xfcee75 WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&) (In reply to comment #8) > ASSERT FAILED: > ASSERT(!renderer()->needsLayout()); > 1 0x1129a33 WebCore::HTMLFormControlElement::isFocusable() const > 2 0x1142445 WebCore::HTMLInputElement::isMouseFocusable() const > 3 0x114c3a1 WebCore::HTMLLabelElement::defaultEventHandler(WebCore::Event*) > 4 0xfc46b9 WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) > 5 0x13e331b WebCore::MouseEventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const > 6 0xfc3465 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) > 7 0x1400273 WebCore::Node::dispatchMouseEvent(WebCore::PlatformMouseEvent const&, WTF::AtomicString const&, int, WebCore::Node*) > 8 0xfcd55b WebCore::EventHandler::dispatchMouseEvent(WTF::AtomicString const&, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&, bool) > 9 0xfcee75 WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&) SVN:112327 |