[Webkit-unassigned] [Bug 100791] ResourceLoader can start itself in cancel()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 31 07:23:00 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=100791





--- Comment #3 from Brady Eidson <beidson at apple.com>  2012-10-31 07:24:19 PST ---
> I've seen ResourceLoader starting itself in when cancelling.
> 
> The sequence is like:
> 
> DocumentLoader::stopLoading() cancels a ResourceLoader for a subresource which hasn't been started yet.
> ResourceLoader::cancel() calls releaseResources() which is a virtual function
> SubresourceLoader::releaseResources() triggers CachedResourceLoader::loadDone()
> CachedResourceLoader::loadDone() triggers ResourceLoadScheduler::servePendingRequests() which starts the same job
> ResourceLoader::start() is called..
> ...
> SubresourceLoader::releaseResources() calls ResourceLoader::releaseResources() at the end
> ResourceLoader::releaseResources() removes itself from ResourceLoadScheduler's list, however, it is too late!
> ResourceLoader::releaseResources() clears ResourceHandle's client but it doesn't cancel the job. So the real networking job could still be performed, depending on the implementation.
> 

To be absolutely clear - This backtrace is the *same* ResourceLoader in ::cancel() as it is in ::start()?  And not a different ResourceLoader start()ing as a result of a different one cancel()ing?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list