WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WORKSFORME
15183
Reproducible assertion failure in XMLHttpRequest::didFinishLoading (loader == m_loader)
https://bugs.webkit.org/show_bug.cgi?id=15183
Summary
Reproducible assertion failure in XMLHttpRequest::didFinishLoading (loader ==...
mitz
Reported
2007-09-11 13:25:21 PDT
To reproduce: Open the URL and when it finishes loading, close the browser window. Result: ASSERTION FAILED: loader == m_loader (WebCore/xml/XMLHttpRequest.cpp:646 virtual void WebCore::XMLHttpRequest::didFinishLoading(WebCore::SubresourceLoader*))
Attachments
Add attachment
proposed patch, testcase, etc.
mitz
Comment 1
2007-09-11 13:27:23 PDT
Backtrace: 0 com.apple.WebCore 0x021143a8 WebCore::XMLHttpRequest::didFinishLoading(WebCore::SubresourceLoader*) + 132 (XMLHttpRequest.cpp:646) 1 com.apple.WebCore 0x02111fa0 WebCore::XMLHttpRequest::didFail(WebCore::SubresourceLoader*, WebCore::ResourceError const&) + 64 (XMLHttpRequest.cpp:638) 2 com.apple.WebCore 0x01ff9708 WebCore::SubresourceLoader::didFail(WebCore::ResourceError const&) + 208 (SubresourceLoader.cpp:213) 3 com.apple.WebCore 0x01ff8668 WebCore::ResourceLoader::load(WebCore::ResourceRequest const&) + 496 (ResourceLoader.cpp:115) 4 com.apple.WebCore 0x01ff9af8 WebCore::SubresourceLoader::load(WebCore::ResourceRequest const&) + 152 (SubresourceLoader.cpp:82) 5 com.apple.WebCore 0x01ff9e8c WebCore::SubresourceLoader::create(WebCore::Frame*, WebCore::SubresourceLoaderClient*, WebCore::ResourceRequest const&, bool, bool, bool) + 884 (SubresourceLoader.cpp:122) 6 com.apple.WebCore 0x021150dc WebCore::XMLHttpRequest::send(WebCore::String const&, int&) + 2040 (XMLHttpRequest.cpp:461) 7 com.apple.WebCore 0x01d18108 KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 2036 (JSXMLHttpRequest.cpp:275) 8 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 9 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 10 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 11 com.apple.JavaScriptCore 0x004ee274 KJS::SourceElementsNode::execute(KJS::ExecState*) + 620 12 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 13 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 14 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 15 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 16 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 17 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 18 com.apple.JavaScriptCore 0x004ee120 KJS::SourceElementsNode::execute(KJS::ExecState*) + 280 19 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 20 com.apple.JavaScriptCore 0x004f19d4 KJS::IfNode::execute(KJS::ExecState*) + 500 21 com.apple.JavaScriptCore 0x004ee274 KJS::SourceElementsNode::execute(KJS::ExecState*) + 620 22 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 23 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 24 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 25 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 26 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 27 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 28 com.apple.JavaScriptCore 0x004ee274 KJS::SourceElementsNode::execute(KJS::ExecState*) + 620 29 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 30 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 31 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 32 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 33 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 34 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 35 com.apple.JavaScriptCore 0x004ee274 KJS::SourceElementsNode::execute(KJS::ExecState*) + 620 36 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 37 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 38 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 39 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 40 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 41 com.apple.JavaScriptCore 0x004f218c KJS::ReturnNode::execute(KJS::ExecState*) + 380 42 com.apple.JavaScriptCore 0x004ee274 KJS::SourceElementsNode::execute(KJS::ExecState*) + 620 43 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 44 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 45 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 46 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 47 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 48 com.apple.JavaScriptCore 0x004f218c KJS::ReturnNode::execute(KJS::ExecState*) + 380 49 com.apple.JavaScriptCore 0x004ee120 KJS::SourceElementsNode::execute(KJS::ExecState*) + 280 50 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 51 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 52 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 53 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 54 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 55 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 56 com.apple.JavaScriptCore 0x004ee120 KJS::SourceElementsNode::execute(KJS::ExecState*) + 280 57 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 58 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 59 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 60 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 61 com.apple.JavaScriptCore 0x005060bc KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 988 62 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 63 com.apple.JavaScriptCore 0x004ee274 KJS::SourceElementsNode::execute(KJS::ExecState*) + 620 64 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 65 com.apple.JavaScriptCore 0x004ee4bc KJS::TryNode::execute(KJS::ExecState*) + 224 66 com.apple.JavaScriptCore 0x004ee120 KJS::SourceElementsNode::execute(KJS::ExecState*) + 280 67 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 68 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 69 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 70 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 71 com.apple.JavaScriptCore 0x00506ff0 KJS::FunctionCallResolveNode::evaluate(KJS::ExecState*) + 788 72 com.apple.JavaScriptCore 0x004f1b4c KJS::ExprStatementNode::execute(KJS::ExecState*) + 216 73 com.apple.JavaScriptCore 0x004ee120 KJS::SourceElementsNode::execute(KJS::ExecState*) + 280 74 com.apple.JavaScriptCore 0x004f1d70 KJS::BlockNode::execute(KJS::ExecState*) + 212 75 com.apple.JavaScriptCore 0x004f2948 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 88 76 com.apple.JavaScriptCore 0x004f336c KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 684 77 com.apple.JavaScriptCore 0x004e5d84 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) + 284 78 com.apple.WebCore 0x01d25e04 WebCore::JSAbstractEventListener::handleEvent(WebCore::Event*, bool) + 756 (kjs_events.cpp:116) 79 com.apple.WebCore 0x01ab8aa4 WebCore::Document::handleWindowEvent(WebCore::Event*, bool) + 412 (Document.cpp:2376) 80 com.apple.WebCore 0x01cc2a90 WebCore::EventTargetNode::dispatchWindowEvent(WebCore::AtomicString const&, bool, bool) + 364 (EventTargetNode.cpp:337) 81 com.apple.WebCore 0x01fe48c4 WebCore::FrameLoader::stopLoading(bool) + 416 (FrameLoader.cpp:579) 82 com.apple.WebCore 0x01fe4cf8 WebCore::FrameLoader::closeURL() + 40 (FrameLoader.cpp:645) 83 com.apple.WebCore 0x01fe4d70 WebCore::FrameLoader::detachFromParent() + 60 (FrameLoader.cpp:3118) 84 com.apple.WebKit 0x00225434 -[WebView(WebPrivate) _close] + 520
David Kilzer (:ddkilzer)
Comment 2
2007-09-11 20:59:58 PDT
<
rdar://problem/5476100
>
David Kilzer (:ddkilzer)
Comment 3
2007-09-12 13:35:39 PDT
I can't get this to reproduce with a debug build of
r25517
with Safari 3 Public Beta v. 3.0.3 (522.12.1) on Mac OS X 10.4.10 (8R218). I did notice that there are number of URL "flashes" that show up if the status bar is enabled on Safari. When do I know if the page is loading? Or do I have to close it at just the right time?
David Kilzer (:ddkilzer)
Comment 4
2007-09-12 21:03:45 PDT
(In reply to
comment #3
)
> I did notice that there are number of URL "flashes" that show up if the status > bar is enabled on Safari. When do I know if the page is loading? Or do I have > to close it at just the right time?
When do I know if the page is *done* loading?
mitz
Comment 5
2007-09-13 04:03:22 PDT
(In reply to
comment #4
)
> When do I know if the page is *done* loading?
By "done loading" I meant when the progress bar in the URL field is gone and the progress indicator in the tab disappears. I am unable to reproduce the bug today. The backtrace makes it seem like it happened when an unload handler sent an XMLHttpRequest, but even when the bug happened I could not follow the JS code that did this.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug