As part of our port I'm occasionally hitting the following assert in
FrameLoad::addData; but do not have a reproducible case yet. I think this is
most likely happening for failures from the network stack occurring and then a
new request being issued (I'm using ResourceHandleWin in our build).
ASSERT(m_frame->document()->parsing());
This is happening during cancel(ling) any pending loading phase during a new
request. Is there something that I need to add to the client to cancel any
outstanding requests? I'm just using the my own version of the winlauncher
code to make the requests which doesn't have any logic for cancelling existing
ones.
The stack trace during this assert shows that it's from a check to stop loading
previous requests and somehow I get into a state that the FrameLoader believes
it is still parsing data and triggers the assert during the cancel operation.
How does the FrameLoader parsing state normally reset?
---- stack trace ---
WEBKIT!WebCore::FrameLoader::addData(const char * 0x00000000, int 0) line 1439
+ 72 bytes WEBKIT!WebFrameLoaderClient::receivedData(const char * 0x00000000,
int 9082496, const WebCore::String & {...}) line 484
WEBKIT!WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader *
0x008a6f20, const char * 0x00000000, int 0) line 455
WEBKIT!WebFrameLoaderClient::finishedLoading(WebCore::DocumentLoader *
0x008a6f20) line 493
WEBKIT!WebCore::FrameLoader::finishedLoadingDocument(WebCore::DocumentLoader *
0x0000ab5f) line 2735
WEBKIT!WebCore::DocumentLoader::finishedLoading() line 330
WEBKIT!WebCore::FrameLoader::finishedLoading() line 2675
WEBKIT!WebCore::MainResourceLoader::didFinishLoading() line 394
WEBKIT!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle *
0x008ac460) line 408
WEBKIT!WebCore::ResourceHandle::finish() line 466
WEBKIT!WebCore::ResourceHandle::cancel(const WebCore::ResourceHandleClient *
0x00000000) line 1063 WEBKIT!WebCore::ResourceLoader::didCancel(const
WebCore::ResourceError & {...}) line 334
WEBKIT!WebCore::MainResourceLoader::didCancel(const WebCore::ResourceError &
{...}) line 103 WEBKIT!WebCore::ResourceLoader::cancel(const
WebCore::ResourceError & {...}) line 354 + 56 bytes
WEBKIT!WebCore::ResourceLoader::cancel() line 344 + 52 bytes
WEBKIT!WebCore::DocumentLoader::stopLoading(WebCore::DatabasePolicy
DatabasePolicyContinue) line 294 + 24 bytes
WEBKIT!WebCore::FrameLoader::stopAllLoaders(WebCore::DatabasePolicy
DatabasePolicyStop) line 2234
WEBKIT!WebCore::FrameLoader::continueLoadAfterNavigationPolicy(const
WebCore::ResourceRequest & {...}, WTF::PassRefPtr<WebCore::FormState> *
0x43c0d244, bool true) line 3428
WEBKIT!WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy(void *
0x004b1a50, const WebCore::ResourceRequest & {...},
WTF::PassRefPtr<WebCore::FormState> * 0x0011e3a4, bool true) line 3382
WEBKIT!WebCore::PolicyCallback::call(bool true) line 102
WEBKIT!WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction
9463168) line 161
WEBKIT!WebFrame::receivedPolicyDecision(WebCore::PolicyAction PolicyUse) line
1535
WEBKIT!WebFramePolicyListener::receivedPolicyDecision(WebCore::PolicyAction
PolicyUse) line 129
WEBKIT!WebFramePolicyListener::use() line 100
WEBKIT!DefaultPolicyDelegate::decidePolicyForNavigationAction(IWebView *
0x00000005, IPropertyBag * 0x00900003, IWebURLRequest * 0x00908c20, IWebFrame *
0x00000005, IWebPolicyDecisionListener * 0x00000000) line 120 + 28 bytes
WEBKIT!WebFrame::dispatchDecidePolicyForNavigationAction(void
(WebCore::PolicyAction)* 0x00908c20, const WebCore::NavigationAction & {...},
const WebCore::ResourceRequest & {...}, WTF::PassRefPtr<WebCore::FormState> *
0x0089c7a0) line 1584 + 168 bytes
WEBKIT!WebCore::PolicyChecker::checkNavigationPolicy(const
WebCore::ResourceRequest & {...}, WebCore::DocumentLoader * 0x0011e7df,
WTF::PassRefPtr<WebCore::FormState> * 0x00000004, void (void *, const
WebCore::ResourceRequest &, WTF::PassRefPtr<WebCore::FormState>, bool)*
0x00000007, void * 0x00000007) line 89
WEBKIT!WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader *
0x004b1a50, WebCore::FrameLoadType 5128704, WTF::PassRefPtr<WebCore::FormState>
* 0x009076a8) line 2018
WEBKIT!WebCore::FrameLoader::load(WebCore::DocumentLoader * 0x00907460) line
1971 WEBKIT!WebCore::FrameLoader::load(const WebCore::ResourceRequest & {...},
const WebCore::SubstituteData & {...}, bool true) line 1912
WEBKIT!WebCore::FrameLoader::load(const WebCore::ResourceRequest & {...}, bool
false) line 1898 + 40 bytes WEBKIT!WebFrame::loadRequest(IWebURLRequest *
0x009062c0) line 504
LAUNCHER!loadURL(wchar_t * 0x00906288) line 491 + 32 bytes
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev