Bug 167890

Summary: [Soup] Long resources loaded by custom protocols sometimes never finish loading
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, mcatanzaro, tpopela
Priority: P2 Keywords: Gtk, Soup
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch mcatanzaro: review+

Description Carlos Garcia Campos 2017-02-06 10:14:54 PST
It's another bug that has appeared in WebKitSoupRequestInputStream after moving the custom protocols handling to the main thread. The problem is that webkitSoupRequestInputStreamPendingReadAsyncComplete invalidates pendingAsyncRead after calling webkitSoupRequestInputStreamReadAsyncResultComplete, but in some cases webkitSoupRequestInputStreamReadAsyncResultComplete completes the task in the same run loop iteration. In that case webkitSoupRequestInputStreamReadAsync is called again creating a new AsyncReadData that is destroyed right after webkitSoupRequestInputStreamReadAsyncResultComplete returns.
Comment 1 Carlos Garcia Campos 2017-02-06 10:19:48 PST
Created attachment 300731 [details]
Patch
Comment 2 Michael Catanzaro 2017-02-06 10:35:50 PST
Could this be the cause of bug #167887?
Comment 3 Carlos Garcia Campos 2017-02-06 22:04:58 PST
(In reply to comment #2)
> Could this be the cause of bug #167887?

I don't think so. I haven't looked at the yelp issue yet, but I would bet it's the same volume check.
Comment 4 Carlos Garcia Campos 2017-02-06 22:14:35 PST
Committed r211773: <http://trac.webkit.org/changeset/211773>