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
<rdar://problem/6310683>
*** Bug 23921 has been marked as a duplicate of this bug. ***
This bug seems to have been fixed. I can no longer reproduce it with Debug or Release builds on Windows.