Bug 23921

Summary: Assertion failure in FrameLoader::loadWithDocumentLoader when running fast/loader/frame-creation-removal.html
Product: WebKit Reporter: Adam Roben (:aroben) <aroben>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal Keywords: InRadar, LayoutTestFailure, PlatformOnly
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   

Description Adam Roben (:aroben) 2009-02-12 07:47:51 PST
To reproduce:

1. Run fast/loader/frame-creation-removal.html

You'll hit this assertion:

    // Unfortunately the view must be non-nil, this is ultimately due
    // to parser requiring a FrameView.  We should fix this dependency.

    ASSERT(m_frame->view());

I don't know what the effect is in a Release build.

I've added this test to the Skipped list.

Here's the backtrace:

>	WebKit_debug.dll!WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader * loader=0x025f1af8, WebCore::FrameLoadType type=FrameLoadTypeRedirectWithLockedBackForwardList, WTF::PassRefPtr<WebCore::FormState> prpFormState={...})  Line 2368 + 0x2a bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadWithNavigationAction(const WebCore::ResourceRequest & request={...}, const WebCore::NavigationAction & action={...}, bool lockHistory=false, WebCore::FrameLoadType type=FrameLoadTypeRedirectWithLockedBackForwardList, WTF::PassRefPtr<WebCore::FormState> formState={...})  Line 2329	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadURL(const WebCore::KURL & newURL={about:blank}, const WebCore::String & referrer={}, const WebCore::String & frameName={}, bool lockHistory=false, WebCore::FrameLoadType newLoadType=FrameLoadTypeRedirectWithLockedBackForwardList, WebCore::Event * event=0x00000000, WTF::PassRefPtr<WebCore::FormState> prpFormState={...})  Line 2272	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadURL(const WebCore::KURL & newURL={about:blank}, const WebCore::String & referrer={}, const WebCore::String & frameName={lbIframe}, bool lockHistory=false, WebCore::FrameLoadType newLoadType=FrameLoadTypeRedirectWithLockedBackForwardList, WebCore::Event * event=0x00000000, WTF::PassRefPtr<WebCore::FormState> prpFormState={...})  Line 2250 + 0x3e bytes	C++
 	WebKit_debug.dll!WebFrameLoaderClient::loadURLIntoChild(const WebCore::KURL & originalURL={about:blank}, const WebCore::String & referrer={}, WebFrame * childFrame=0x025f99a0)  Line 637	C++
 	WebKit_debug.dll!WebFrameLoaderClient::createFrame(const WebCore::KURL & URL={about:blank}, const WebCore::String & name={lbIframe}, WebCore::HTMLFrameOwnerElement * ownerElement=0x0260e148, const WebCore::String & referrer={})  Line 593	C++
 	WebKit_debug.dll!WebFrameLoaderClient::createFrame(const WebCore::KURL & url={about:blank}, const WebCore::String & name={lbIframe}, WebCore::HTMLFrameOwnerElement * ownerElement=0x0260e148, const WebCore::String & referrer={}, bool __formal=true, bool __formal=true, bool __formal=true)  Line 571 + 0x1c bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadSubframe(WebCore::HTMLFrameOwnerElement * ownerElement=0x0260e148, const WebCore::KURL & url={about:blank}, const WebCore::String & name={lbIframe}, const WebCore::String & referrer={file:///h:/cyghome/dev/WebKit/OpenSource/LayoutTests/fast/loader/frame-creation-removal.html})  Line 474 + 0x5d bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::requestFrame(WebCore::HTMLFrameOwnerElement * ownerElement=0x0260e148, const WebCore::String & urlString={about:blank}, const WebCore::AtomicString & frameName={...})  Line 444 + 0x23 bytes	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::openURL()  Line 105	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::setNameAndOpenURL()  Line 161	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::setNameAndOpenURLCallback(WebCore::Node * n=0x0260e148)  Line 166	C++
 	WebKit_debug.dll!WebCore::ContainerNode::dispatchPostAttachCallbacks()  Line 562 + 0x9 bytes	C++
 	WebKit_debug.dll!WebCore::ContainerNode::attach()  Line 577	C++
 	WebKit_debug.dll!WebCore::Element::attach()  Line 688	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::attach()  Line 194	C++
 	WebKit_debug.dll!WebCore::HTMLIFrameElement::attach()  Line 119	C++
 	WebKit_debug.dll!WebCore::Node::lazyAttach()  Line 674 + 0x12 bytes	C++
 	WebKit_debug.dll!WebCore::ContainerNode::appendChild(WTF::PassRefPtr<WebCore::Node> newChild={...}, int & ec=0, bool shouldLazyAttach=true)  Line 496	C++
 	WebKit_debug.dll!WebCore::JSNode::appendChild(JSC::ExecState * exec=0x03ba0150, const JSC::ArgList & args={...})  Line 103 + 0x40 bytes	C++
 	WebKit_debug.dll!WebCore::jsNodePrototypeFunctionAppendChild(JSC::ExecState * exec=0x03ba0150, JSC::JSObject * __formal=0x02177840, JSC::JSValuePtr thisValue={...}, const JSC::ArgList & args={...})  Line 1253 + 0x14 bytes	C++
 	WebKit_debug.dll!JSC::Interpreter::cti_op_call_NotJSFunction(void * * args=0x0012e550)  Line 4891 + 0x2b bytes	C++
 	WebKit_debug.dll!JSC::Interpreter::cti_op_convert_this()  + 0xff bytes	C++
 	WebKit_debug.dll!JSC::JITCode::execute(JSC::RegisterFile * registerFile=0x0245b644, JSC::ExecState * callFrame=0x03ba0050, JSC::JSGlobalData * globalData=0x024e1a68, JSC::JSValuePtr * exception=0x024e1a74)  Line 86 + 0x21 bytes	C++
 	WebKit_debug.dll!JSC::Interpreter::execute(JSC::FunctionBodyNode * functionBodyNode=0x02649e80, JSC::ExecState * callFrame=0x02605354, JSC::JSFunction * function=0x02177ac0, JSC::JSObject * thisObj=0x02178be0, const JSC::ArgList & args={...}, JSC::ScopeChainNode * scopeChain=0x02466838, JSC::JSValuePtr * exception=0x024e1a74)  Line 934 + 0x2d bytes	C++
 	WebKit_debug.dll!JSC::JSFunction::call(JSC::ExecState * exec=0x02605354, JSC::JSValuePtr thisValue={...}, const JSC::ArgList & args={...})  Line 82 + 0x4d bytes	C++
 	WebKit_debug.dll!JSC::call(JSC::ExecState * exec=0x02605354, JSC::JSValuePtr functionObject={...}, JSC::CallType callType=CallTypeJS, const JSC::CallData & callData={...}, JSC::JSValuePtr thisValue={...}, const JSC::ArgList & args={...})  Line 39 + 0x23 bytes	C++
 	WebKit_debug.dll!WebCore::JSAbstractEventListener::handleEvent(WebCore::Event * event=0x024650e8, bool isWindowEvent=true)  Line 115 + 0x32 bytes	C++
 	WebKit_debug.dll!WebCore::Document::handleWindowEvent(WebCore::Event * event=0x024650e8, bool useCapture=false)  Line 2751 + 0x20 bytes	C++
 	WebKit_debug.dll!WebCore::Node::dispatchWindowEvent(WTF::PassRefPtr<WebCore::Event> e={...})  Line 2485	C++
 	WebKit_debug.dll!WebCore::Node::dispatchWindowEvent(const WebCore::AtomicString & eventType={...}, bool canBubbleArg=false, bool cancelableArg=false)  Line 2493	C++
 	WebKit_debug.dll!WebCore::Document::implicitClose()  Line 1597	C++
 	WebKit_debug.dll!WebCore::FrameLoader::checkCallImplicitClose()  Line 1334	C++
 	WebKit_debug.dll!WebCore::FrameLoader::checkCompleted()  Line 1290	C++
 	WebKit_debug.dll!WebCore::FrameLoader::finishedParsing()  Line 1242	C++
 	WebKit_debug.dll!WebCore::Document::finishedParsing()  Line 3919	C++
 	WebKit_debug.dll!WebCore::HTMLParser::finished()  Line 1559 + 0x1a bytes	C++
 	WebKit_debug.dll!WebCore::HTMLTokenizer::end()  Line 1828	C++
 	WebKit_debug.dll!WebCore::HTMLTokenizer::finish()  Line 1868	C++
 	WebKit_debug.dll!WebCore::Document::finishParsing()  Line 1740 + 0x1b bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::endIfNotLoadingMainResource()  Line 1075	C++
 	WebKit_debug.dll!WebCore::FrameLoader::end()  Line 1054	C++
 	WebKit_debug.dll!WebCore::DocumentLoader::finishedLoading()  Line 351	C++
 	WebKit_debug.dll!WebCore::FrameLoader::finishedLoading()  Line 3102	C++
 	WebKit_debug.dll!WebCore::MainResourceLoader::didFinishLoading()  Line 367	C++
 	WebKit_debug.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal=0x0259f388)  Line 416 + 0xf bytes	C++
 	WebKit_debug.dll!WebCore::didFinishLoading(_CFURLConnection * conn=0x0260c580, const void * clientInfo=0x0259f388)  Line 188 + 0x1e bytes	C++
Comment 1 Adam Roben (:aroben) 2009-02-12 07:48:15 PST
<rdar://problem/6580472>
Comment 2 mitz 2009-02-12 16:52:38 PST

*** This bug has been marked as a duplicate of 21798 ***