<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>146545</bug_id>
          
          <creation_ts>2015-07-02 05:34:41 -0700</creation_ts>
          <short_desc>REGRESSION(r186025): [SOUP] NetworkCache gets blocked in traverse since r186025</short_desc>
          <delta_ts>2015-07-03 01:46:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Regression, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1106370</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-07-02 05:34:41 -0700</bug_when>
    <thetext>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&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106372</commentid>
    <comment_count>1</comment_count>
      <attachid>256006</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-07-02 05:38:41 -0700</bug_when>
    <thetext>Created attachment 256006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106373</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-02 05:40:53 -0700</bug_when>
    <thetext>Attachment 256006 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106655</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-07-03 01:46:17 -0700</bug_when>
    <thetext>Committed r186258: &lt;http://trac.webkit.org/changeset/186258&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256006</attachid>
            <date>2015-07-02 05:38:41 -0700</date>
            <delta_ts>2015-07-03 00:31:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-cache-traverse-soup.diff</filename>
            <type>text/plain</type>
            <size>5216</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBiODAxN2ExLi45NmFhN2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzEg
QEAKIDIwMTUtMDctMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFJFR1JFU1NJT04ocjE4NjAyNSk6IFtTT1VQXSBOZXR3b3JrQ2FjaGUgZ2V0
cyBibG9ja2VkIGluIHRyYXZlcnNlIHNpbmNlIHIxODYwMjUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjU0NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHIxODYwMjUgdGhlIHJlYWRTeW5jIG1ldGhv
ZCB1c2VkIHdoZW4gdHJhdmVyc2luZyB0aGUgY2FjaGUKKyAgICAgICAgZmlsZXMgd2FzIHJlbW92
ZWQgaW4gZmF2b3Igb2YgdXNpbmcgcGFyYWxsZWwgYXN5bmMgcmVhZHMgdG8gc3BlZWQKKyAgICAg
ICAgdXAgdGhlIHRyYXZlcnNlLiBUaGUgYXBwcm9hY2ggdXNlZCBkb2Vzbid0IHdvcmsgZm9yIHNv
dXAsIGJlY2F1c2UKKyAgICAgICAgdGhlIElPIG9wZXJhdGlvbnMgYXJlIGFzeW5jLCBidXQgcnVu
IHRoZWlyIGNhbGxiYWNrcyBpbiB0aGUKKyAgICAgICAgY3VycmVudCB0aHJlYWQuIFRoZSBuZXR3
b3JrIGNhY2hlIG5vdyBydW5zIHVwIHRvIDUgYXN5bmMgcmVhZHMgaW4KKyAgICAgICAgdGhlIGlv
IHdvcmsgcXVldWUgdGhyZWFkLCBhbmQgd2FpdHMgZm9yIHRoZW0gdG8gZmluaXNoLCBhbmQgdGhv
c2UKKyAgICAgICAgYXN5Y24gcmVhZHMgbmV2ZXIgZmluaXNoIGZvciB0aGUgc291cCBiYWNrZW5k
IGJlY2F1c2UgdGhlIHRocmVhZAorICAgICAgICBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIHRoZW0u
IFdlIG5lZWQgdG8gdXNlIGEgZGlmZmVyZW50IHRocmVhZCB0bworICAgICAgICBydW4gdGhvc2Ug
cmVhZHMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0No
YW5uZWwuaDogQWRkCisgICAgICAgIHJlYWRTeW5jSW5UaHJlYWQgcHJpdmF0ZSBtZXRob2QuCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlSU9DaGFubmVsU291cC5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6SU9DaGFubmVsOjpyZWFkKTogV2hl
biBub3QgY2FsbGVkIGluIHRoZQorICAgICAgICBtYWluIHRocmVhZCwgY2FsbCByZWFkU3luY0lu
VGhyZWFkKCkgaW5zdGVhZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpJT0NoYW5u
ZWw6OnJlYWRTeW5jSW5UaHJlYWQpOiBSdW4gdGhlIHJlYWQKKyAgICAgICAgb3BlcmF0aW9uIHN5
bmNocm9ub3VzbHkgaW4gYSBkaWZmZXJlbnQgdGhyZWFkLCBzaW5jZSB0aGUgY3VycmVudAorICAg
ICAgICB0aHJlYWQgbWlnaHQgYmUgYmxvY2tlZCB3YWl0aW5nIGZvciB1cy4KKworMjAxNS0wNy0w
MiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKICAgICAgICAg
W0dUS10gV2ViU1FMIGRvZXNuJ3Qgd29yayBiZWNhdXNlIG9wZW5EYXRhYmFzZSBhbHdheXMgZmFp
bHMgd2l0aCBET00gRXhjZXB0aW9uIDE4CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDYyMzQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlSU9DaGFubmVsLmggYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaAppbmRleCA0MTQz
OTBhLi5jNWVkYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaApAQCAtNTksNiArNTksMTAgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBJT0NoYW5uZWwoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwg
SU9DaGFubmVsOjpUeXBlKTsKIAorI2lmIFVTRShTT1VQKQorICAgIHZvaWQgcmVhZFN5bmNJblRo
cmVhZChzaXplX3Qgb2Zmc2V0LCBzaXplX3QsIFdvcmtRdWV1ZSosIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRGF0YSYsIGludCBlcnJvcik+KTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fcGF0aDsKICAg
ICBUeXBlIG1fdHlwZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlSU9DaGFubmVsU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcAppbmRleCAw
YTRhZjI1Li5kN2Q1MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcApAQCAt
MTY1LDYgKzE2NSwxMSBAQCB2b2lkIElPQ2hhbm5lbDo6cmVhZChzaXplX3Qgb2Zmc2V0LCBzaXpl
X3Qgc2l6ZSwgV29ya1F1ZXVlKiBxdWV1ZSwgc3RkOjpmdW5jdGlvbgogICAgICAgICByZXR1cm47
CiAgICAgfQogCisgICAgaWYgKCFpc01haW5UaHJlYWQoKSkgeworICAgICAgICByZWFkU3luY0lu
VGhyZWFkKG9mZnNldCwgc2l6ZSwgcXVldWUsIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIHNpemVfdCBidWZmZXJTaXplID0gc3RkOjptaW4oc2l6ZSwg
Z0RlZmF1bHRSZWFkQnVmZmVyU2l6ZSk7CiAgICAgdWludDhfdCogYnVmZmVyRGF0YSA9IHN0YXRp
Y19jYXN0PHVpbnQ4X3QqPihmYXN0TWFsbG9jKGJ1ZmZlclNpemUpKTsKICAgICBHUmVmUHRyPFNv
dXBCdWZmZXI+IGJ1ZmZlciA9IGFkb3B0R1JlZihzb3VwX2J1ZmZlcl9uZXdfd2l0aF9vd25lcihi
dWZmZXJEYXRhLCBidWZmZXJTaXplLCBidWZmZXJEYXRhLCBmYXN0RnJlZSkpOwpAQCAtMTc1LDYg
KzE4MCw0OCBAQCB2b2lkIElPQ2hhbm5lbDo6cmVhZChzaXplX3Qgb2Zmc2V0LCBzaXplX3Qgc2l6
ZSwgV29ya1F1ZXVlKiBxdWV1ZSwgc3RkOjpmdW5jdGlvbgogICAgICAgICByZWludGVycHJldF9j
YXN0PEdBc3luY1JlYWR5Q2FsbGJhY2s+KGlucHV0U3RyZWFtUmVhZFJlYWR5Q2FsbGJhY2spLCBh
c3luY0RhdGEpOwogfQogCit2b2lkIElPQ2hhbm5lbDo6cmVhZFN5bmNJblRocmVhZChzaXplX3Qg
b2Zmc2V0LCBzaXplX3Qgc2l6ZSwgV29ya1F1ZXVlKiBxdWV1ZSwgc3RkOjpmdW5jdGlvbjx2b2lk
IChEYXRhJiwgaW50IGVycm9yKT4gY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgQVNTRVJUKCFp
c01haW5UaHJlYWQoKSk7CisKKyAgICBSZWZQdHI8SU9DaGFubmVsPiBjaGFubmVsKHRoaXMpOwor
ICAgIGNyZWF0ZVRocmVhZCgiSU9DaGFubmVsOjpyZWFkU3luYyIsIFtjaGFubmVsLCBzaXplLCBx
dWV1ZSwgY29tcGxldGlvbkhhbmRsZXJdIHsKKyAgICAgICAgc2l6ZV90IGJ1ZmZlclNpemUgPSBz
dGQ6Om1pbihzaXplLCBnRGVmYXVsdFJlYWRCdWZmZXJTaXplKTsKKyAgICAgICAgdWludDhfdCog
YnVmZmVyRGF0YSA9IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihmYXN0TWFsbG9jKGJ1ZmZlclNpemUp
KTsKKyAgICAgICAgR1JlZlB0cjxTb3VwQnVmZmVyPiByZWFkQnVmZmVyID0gYWRvcHRHUmVmKHNv
dXBfYnVmZmVyX25ld193aXRoX293bmVyKGJ1ZmZlckRhdGEsIGJ1ZmZlclNpemUsIGJ1ZmZlckRh
dGEsIGZhc3RGcmVlKSk7CisgICAgICAgIERhdGEgZGF0YTsKKyAgICAgICAgc2l6ZV90IHBlbmRp
bmdCeXRlc1RvUmVhZCA9IHNpemU7CisgICAgICAgIHNpemVfdCBieXRlc1RvUmVhZCA9IGJ1ZmZl
clNpemU7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgb2Zm
c2V0LgorICAgICAgICAgICAgZ3NzaXplIGJ5dGVzUmVhZCA9IGdfaW5wdXRfc3RyZWFtX3JlYWQo
Y2hhbm5lbC0+bV9pbnB1dFN0cmVhbS5nZXQoKSwgY29uc3RfY2FzdDxjaGFyKj4ocmVhZEJ1ZmZl
ci0+ZGF0YSksIGJ5dGVzVG9SZWFkLCBudWxscHRyLCBudWxscHRyKTsKKyAgICAgICAgICAgIGlm
IChieXRlc1JlYWQgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICBydW5UYXNrSW5RdWV1ZShbY2hh
bm5lbCwgY29tcGxldGlvbkhhbmRsZXJdIHsKKyAgICAgICAgICAgICAgICAgICAgRGF0YSBkYXRh
OworICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLCAtMSk7CisgICAg
ICAgICAgICAgICAgfSwgcXVldWUpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgaWYgKCFieXRlc1JlYWQpCisgICAgICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgICAgIEFTU0VSVChieXRlc1JlYWQgPiAwKTsKKyAgICAgICAgICAgIGZp
bGxEYXRhRnJvbVJlYWRCdWZmZXIocmVhZEJ1ZmZlci5nZXQoKSwgc3RhdGljX2Nhc3Q8c2l6ZV90
PihieXRlc1JlYWQpLCBkYXRhKTsKKworICAgICAgICAgICAgcGVuZGluZ0J5dGVzVG9SZWFkID0g
c2l6ZSAtIGRhdGEuc2l6ZSgpOworICAgICAgICAgICAgYnl0ZXNUb1JlYWQgPSBzdGQ6Om1pbihw
ZW5kaW5nQnl0ZXNUb1JlYWQsIHJlYWRCdWZmZXItPmxlbmd0aCk7CisgICAgICAgIH0gd2hpbGUg
KHBlbmRpbmdCeXRlc1RvUmVhZCk7CisKKyAgICAgICAgR1JlZlB0cjxTb3VwQnVmZmVyPiBidWZm
ZXJDYXB0dXJlID0gZGF0YS5zb3VwQnVmZmVyKCk7CisgICAgICAgIHJ1blRhc2tJblF1ZXVlKFtj
aGFubmVsLCBidWZmZXJDYXB0dXJlLCBjb21wbGV0aW9uSGFuZGxlcl0geworICAgICAgICAgICAg
R1JlZlB0cjxTb3VwQnVmZmVyPiBidWZmZXIgPSBidWZmZXJDYXB0dXJlOworICAgICAgICAgICAg
RGF0YSBkYXRhID0geyBXVEY6Om1vdmUoYnVmZmVyKSB9OworICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoZGF0YSwgMCk7CisgICAgICAgIH0sIHF1ZXVlKTsKKyAgICB9KTsKK30KKwogc3Ry
dWN0IFdyaXRlQXN5bmNEYXRhIHsKICAgICBSZWZQdHI8SU9DaGFubmVsPiBjaGFubmVsOwogICAg
IEdSZWZQdHI8U291cEJ1ZmZlcj4gYnVmZmVyOwo=
</data>
<flag name="review"
          id="281093"
          type_id="1"
          status="+"
          setter="svillar"
    />
          </attachment>
      

    </bug>

</bugzilla>