Bug 80543

Summary: Assertion failure in ResourceHandle::setDefersLoading(): d->m_defersLoading != defers
Product: WebKit Reporter: Pratik Solanki <psolanki>
Component: WebCore Misc.Assignee: Pratik Solanki <psolanki>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, japhet, koivisto, psolanki, simon.fraser, webkit.review.bot
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch ggaren: review+

Pratik Solanki
Reported 2012-03-07 14:36:08 PST
It's possible to hit the assertion in ResourceHandle::setDefersLoading() in the following sequence - We create a ResourceLoader (subresource loader) with defersLoading = false - But the ResourceLoader hasn't been added to the subresource list in DocumentLoader and instead is sitting the pending requests list in ResourceLoadScheduler. - Page::setDefersLoading(true) gets called which changes the flag on all subresources except those sitting in the pending requests list. - Later, the request in the pending request list get started which adds them into the subresource list in DocumentLoader - A subsequent call to Page::setDefersLoading() triggers the assert.
Attachments
Patch (1.72 KB, patch)
2012-03-07 15:03 PST, Pratik Solanki
ggaren: review+
Pratik Solanki
Comment 1 2012-03-07 14:36:27 PST
Pratik Solanki
Comment 2 2012-03-07 15:03:07 PST
Geoffrey Garen
Comment 3 2012-03-08 16:54:54 PST
Comment on attachment 130704 [details] Patch r=me
Pratik Solanki
Comment 4 2012-03-09 16:45:35 PST
Note You need to log in before you can comment on or make changes to this bug.