Bug 146545 - REGRESSION(r186025): [SOUP] NetworkCache gets blocked in traverse since r186025
Summary: REGRESSION(r186025): [SOUP] NetworkCache gets blocked in traverse since r186025
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Keywords: Gtk, Regression, Soup
Depends on:
Reported: 2015-07-02 05:34 PDT by Carlos Garcia Campos
Modified: 2015-07-03 01:46 PDT (History)
3 users (show)

See Also:

Patch (5.09 KB, patch)
2015-07-02 05:38 PDT, Carlos Garcia Campos
svillar: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2015-07-02 05:34:41 PDT
In r186025 the readSync method used when traversing the cache files was removed in favor of using parallel async reads to speed up the traverse. The approach used doesn't work for soup, because the IO operations are async, but run their callbacks in the current thread. The network cache now runs up to 5 async reads in the io work queue thread, and waits for them to finish, and those asycn reads never finish for the soup backend because the thread is blocked waiting for them. We need to use a different thread to run those reads.
Comment 1 Carlos Garcia Campos 2015-07-02 05:38:41 PDT
Created attachment 256006 [details]
Comment 2 WebKit Commit Bot 2015-07-02 05:40:53 PDT
Attachment 256006 [details] did not pass style-queue:

ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannel.h:63:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:183:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 3 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Carlos Garcia Campos 2015-07-03 01:46:17 PDT
Committed r186258: <http://trac.webkit.org/changeset/186258>