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
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to