Bug 21798 - Assertion failure in FrameLoader::loadWithDocumentLoader when running fast/loader/frame-creation-removal.html
Summary: Assertion failure in FrameLoader::loadWithDocumentLoader when running fast/lo...
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar, LayoutTestFailure
: 23921 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-10-22 08:59 PDT by Adam Roben (:aroben)
Modified: 2015-01-07 12:45 PST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Roben (:aroben) 2008-10-22 08:59:35 PDT
To reproduce:

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

You'll hit the following assertion:

    ASSERT(m_frame->view());

I don't know what the effect is in Release builds. Here's the backtrace:

>	WebKit_debug.dll!WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader * loader=0x050899a8, WebCore::FrameLoadType type=FrameLoadTypeRedirectWithLockedHistory, WTF::PassRefPtr<WebCore::FormState> prpFormState={...})  Line 2266 + 0x2a bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadWithNavigationAction(const WebCore::ResourceRequest & request={...}, const WebCore::NavigationAction & action={...}, WebCore::FrameLoadType type=FrameLoadTypeRedirectWithLockedHistory, WTF::PassRefPtr<WebCore::FormState> formState={...})  Line 2227	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadURL(const WebCore::KURL & newURL={about:blank}, const WebCore::String & referrer={}, const WebCore::String & frameName={}, WebCore::FrameLoadType newLoadType=FrameLoadTypeRedirectWithLockedHistory, WebCore::Event * event=0x00000000, WTF::PassRefPtr<WebCore::FormState> prpFormState={...})  Line 2175	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadURL(const WebCore::KURL & newURL={about:blank}, const WebCore::String & referrer={}, const WebCore::String & frameName={lbIframe}, WebCore::FrameLoadType newLoadType=FrameLoadTypeRedirectWithLockedHistory, WebCore::Event * event=0x00000000, WTF::PassRefPtr<WebCore::FormState> prpFormState={...})  Line 2153 + 0x3a bytes	C++
 	WebKit_debug.dll!WebFrameLoaderClient::loadURLIntoChild(const WebCore::KURL & originalURL={about:blank}, const WebCore::String & referrer={}, WebFrame * childFrame=0x050da4a8)  Line 597	C++
 	WebKit_debug.dll!WebFrameLoaderClient::createFrame(const WebCore::KURL & URL={about:blank}, const WebCore::String & name={lbIframe}, WebCore::HTMLFrameOwnerElement * ownerElement=0x04f74fe0, const WebCore::String & referrer={})  Line 549	C++
 	WebKit_debug.dll!WebFrameLoaderClient::createFrame(const WebCore::KURL & url={about:blank}, const WebCore::String & name={lbIframe}, WebCore::HTMLFrameOwnerElement * ownerElement=0x04f74fe0, const WebCore::String & referrer={}, bool __formal=true, bool __formal=true, bool __formal=true)  Line 527 + 0x1c bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::loadSubframe(WebCore::HTMLFrameOwnerElement * ownerElement=0x04f74fe0, const WebCore::KURL & url={about:blank}, const WebCore::String & name={lbIframe}, const WebCore::String & referrer={file:///C:/cygwin/home/Adam%20Roben/dev/WebKit/OpenSource/LayoutTests/fast/loader/frame-creation-removal.html})  Line 475 + 0x5d bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::requestFrame(WebCore::HTMLFrameOwnerElement * ownerElement=0x04f74fe0, const WebCore::String & urlString={about:blank}, const WebCore::AtomicString & frameName={...})  Line 445 + 0x22 bytes	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::openURL()  Line 106	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::setNameAndOpenURL()  Line 162	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::setNameAndOpenURLCallback(WebCore::Node * n=0x04f74fe0)  Line 167	C++
 	WebKit_debug.dll!WebCore::ContainerNode::dispatchPostAttachCallbacks()  Line 573 + 0x9 bytes	C++
 	WebKit_debug.dll!WebCore::ContainerNode::attach()  Line 588	C++
 	WebKit_debug.dll!WebCore::Element::attach()  Line 657	C++
 	WebKit_debug.dll!WebCore::HTMLFrameElementBase::attach()  Line 195	C++
 	WebKit_debug.dll!WebCore::HTMLIFrameElement::attach()  Line 118	C++
 	WebKit_debug.dll!WebCore::Node::lazyAttach()  Line 461 + 0x12 bytes	C++
 	WebKit_debug.dll!WebCore::ContainerNode::appendChild(WTF::PassRefPtr<WebCore::Node> newChild={...}, int & ec=0, bool shouldLazyAttach=true)  Line 507	C++
 	WebKit_debug.dll!WebCore::JSNode::appendChild(JSC::ExecState * exec=0x03de0180, const JSC::ArgList & args={...})  Line 102 + 0x40 bytes	C++
 	WebKit_debug.dll!WebCore::jsNodePrototypeFunctionAppendChild(JSC::ExecState * exec=0x03de0180, JSC::JSObject * __formal=0x0298d5c0, JSC::JSValuePtr thisValue={...}, const JSC::ArgList & args={...})  Line 368 + 0x14 bytes	C++
 	WebKit_debug.dll!JSC::Machine::cti_op_call_NotJSFunction(void * * args=0x0012ead8)  Line 4766 + 0x3a bytes	C++
 	WebKit_debug.dll!JSC::Machine::cti_op_convert_this()  + 0xff bytes	C++
 	WebKit_debug.dll!JSC::Machine::execute(JSC::FunctionBodyNode * functionBodyNode=0x050a94d8, JSC::ExecState * callFrame=0x04b43d14, JSC::JSFunction * function=0x0298dbc0, JSC::JSObject * thisObj=0x0298dd40, const JSC::ArgList & args={...}, JSC::ScopeChainNode * scopeChain=0x051cda58, JSC::JSValuePtr * exception=0x0220d7ec)  Line 993 + 0x26 bytes	C++
 	WebKit_debug.dll!JSC::JSFunction::call(JSC::ExecState * exec=0x04b43d14, JSC::JSValuePtr thisValue={...}, const JSC::ArgList & args={...})  Line 82 + 0x54 bytes	C++
 	WebKit_debug.dll!JSC::call(JSC::ExecState * exec=0x04b43d14, 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=0x04f90648, bool isWindowEvent=true)  Line 98 + 0x32 bytes	C++
 	WebKit_debug.dll!WebCore::Document::handleWindowEvent(WebCore::Event * evt=0x04f90648, bool useCapture=false)  Line 2714 + 0x2e bytes	C++
 	WebKit_debug.dll!WebCore::EventTargetNode::dispatchWindowEvent(WTF::PassRefPtr<WebCore::Event> e={...})  Line 412	C++
 	WebKit_debug.dll!WebCore::EventTargetNode::dispatchWindowEvent(const WebCore::AtomicString & eventType={...}, bool canBubbleArg=false, bool cancelableArg=false)  Line 420	C++
 	WebKit_debug.dll!WebCore::Document::implicitClose()  Line 1581	C++
 	WebKit_debug.dll!WebCore::FrameLoader::checkCallImplicitClose()  Line 1354	C++
 	WebKit_debug.dll!WebCore::FrameLoader::checkCompleted()  Line 1309	C++
 	WebKit_debug.dll!WebCore::FrameLoader::finishedParsing()  Line 1257	C++
 	WebKit_debug.dll!WebCore::Document::finishedParsing()  Line 3837	C++
 	WebKit_debug.dll!WebCore::HTMLParser::finished()  Line 1556	C++
 	WebKit_debug.dll!WebCore::HTMLTokenizer::end()  Line 1854	C++
 	WebKit_debug.dll!WebCore::HTMLTokenizer::finish()  Line 1894	C++
 	WebKit_debug.dll!WebCore::Document::finishParsing()  Line 1723 + 0x15 bytes	C++
 	WebKit_debug.dll!WebCore::FrameLoader::endIfNotLoadingMainResource()  Line 1085	C++
 	WebKit_debug.dll!WebCore::FrameLoader::end()  Line 1063	C++
 	WebKit_debug.dll!WebCore::DocumentLoader::finishedLoading()  Line 345	C++
 	WebKit_debug.dll!WebCore::FrameLoader::finishedLoading()  Line 2976	C++
 	WebKit_debug.dll!WebCore::MainResourceLoader::didFinishLoading()  Line 334	C++
 	WebKit_debug.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal=0x02248b58)  Line 398 + 0xf bytes	C++
 	WebKit_debug.dll!WebCore::didFinishLoading(_CFURLConnection * conn=0x04ffb090, const void * clientInfo=0x02248b58)  Line 119 + 0x1e bytes	C++
...CFNetwork frames elided...
 	user32.dll!_InternalCallWinProc@20()  + 0x28 bytes	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7 bytes	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc bytes	
 	user32.dll!_DispatchMessageW@4()  + 0xf bytes	
 	DumpRenderTree_debug.exe!runTest(const char * pathOrURL=0x0012f6e8)  Line 751 + 0xc bytes	C++
 	DumpRenderTree_debug.exe!main(int argc=2, char * * argv=0x01bf1208)  Line 1088 + 0xc bytes	C++
 	DumpRenderTree_debug.exe!__tmainCRTStartup()  Line 597 + 0x19 bytes	C
 	DumpRenderTree_debug.exe!mainCRTStartup()  Line 414	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23 bytes
Comment 1 Adam Roben (:aroben) 2008-10-22 09:06:04 PDT
<rdar://problem/6310683>
Comment 2 mitz 2009-02-12 16:52:38 PST
*** Bug 23921 has been marked as a duplicate of this bug. ***
Comment 3 Brent Fulgham 2015-01-07 12:45:33 PST
This bug seems to have been fixed. I can no longer reproduce it with Debug or Release builds on Windows.