<?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>138740</bug_id>
          
          <creation_ts>2014-11-14 05:51:20 -0800</creation_ts>
          <short_desc>Network process crash when running http/tests/appcache/fallback.html</short_desc>
          <delta_ts>2014-11-15 00:37:23 -0800</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>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>ap</cc>
    
    <cc>beidson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048737</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-14 05:51:20 -0800</bug_when>
    <thetext>It happens because ResourceHandle::continueWillSendRequest() is called with a null request. Mac doesn&apos;t crash, I guess because they correctly handle the case of a null request. We could handle that in Soup, of course, but the thing is that the behaviour is not the same for async loads, or when loading with in the web process. In WebResourceLoader::willSendRequest(), ResourceRequest::willSendRequest is called, that cancels the load if the client returns a null request. In this case, the Resource Loader is detached and WebResourceLoader::willSendRequest() returns early without sending the ContinueWillSendRequest message to the network process. However, for synchronous loads, NetworkResourceLoader::continueWillSendRequest() is always called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048739</commentid>
    <comment_count>1</comment_count>
      <attachid>241583</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-14 05:58:38 -0800</bug_when>
    <thetext>Created attachment 241583
Patch

Note that this makes the test pass because the network process doesn&apos;t crash anymore, but the behaviour is still different than the web process or for async loads when running this partiuclar test. When using the web process or async loads, the fallback resource is actually loaded, the load is not cancelled. We are cancelling the load for sync requests because protocol and host of the redirected url don&apos;t match, I don&apos;t know why we do that, though I guess we need to fix the FIXME there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049000</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-15 00:37:23 -0800</bug_when>
    <thetext>Committed r176154: &lt;http://trac.webkit.org/changeset/176154&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241583</attachid>
            <date>2014-11-14 05:58:38 -0800</date>
            <delta_ts>2014-11-14 11:47:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-network-process-will-send-request-sync.diff</filename>
            <type>text/plain</type>
            <size>2536</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBkZjg4MWVkLi5kZmYzNWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzIg
QEAKIDIwMTQtMTEtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIE5ldHdvcmsgcHJvY2VzcyBjcmFzaCB3aGVuIHJ1bm5pbmcgaHR0cC90ZXN0
cy9hcHBjYWNoZS9mYWxsYmFjay5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzg3NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJdCBoYXBwZW5zIGJlY2F1c2UgUmVzb3VyY2VIYW5kbGU6OmNvbnRp
bnVlV2lsbFNlbmRSZXF1ZXN0KCkgaXMKKyAgICAgICAgY2FsbGVkIHdpdGggYSBudWxsIHJlcXVl
c3QuIFdlIGNvdWxkIGhhbmRsZSB0aGF0IGNhc2UgaW4gdGhlCisgICAgICAgIFJlc291cmNlSGFu
ZGxlLCBidXQgdGhlIHRoaW5nIGlzIHRoYSB0aGUgYmVoYXZpb3VyIGlzCisgICAgICAgIG5vdCB0
aGUgc2FtZSBmb3IgYXN5bmMgbG9hZHMsIG9yIHdoZW4gbG9hZGluZyBpbiB0aGUgd2ViCisgICAg
ICAgIHByb2Nlc3MuIEluIFdlYlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QoKSwKKyAg
ICAgICAgUmVzb3VyY2VSZXF1ZXN0Ojp3aWxsU2VuZFJlcXVlc3QoKSBpcyBjYWxsZWQsIGFuZCBj
YW5jZWxzIHRoZSBsb2FkCisgICAgICAgIGlmIHRoZSBjbGllbnQgcmV0dXJucyBhIG51bGwgcmVx
dWVzdC4gSW4gdGhpcyBjYXNlLCB0aGUKKyAgICAgICAgUmVzb3VyY2VMb2FkZXIgaXMgZGV0YWNo
ZWQgYW5kIFdlYlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QoKQorICAgICAgICByZXR1
cm5zIGVhcmx5IHdpdGhvdXQgc2VuZGluZyB0aGUgQ29udGludWVXaWxsU2VuZFJlcXVlc3QgbWVz
c2FnZQorICAgICAgICB0byB0aGUgbmV0d29yayBwcm9jZXNzLiBIb3dldmVyLCBmb3Igc3luY2hy
b25vdXMgbG9hZHMsCisgICAgICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxs
U2VuZFJlcXVlc3QoKSBpcyBhbHdheXMgY2FsbGVkLgorCisgICAgICAgIEZpeGVzIGh0dHAvdGVz
dHMvYXBwY2FjaGUvZmFsbGJhY2suaHRtbCBmb3IgR1RLIHBvcnQgd2hlbiB1c2luZworICAgICAg
ICB0aGUgbmV0d29yayBwcm9jZXNzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdCk6IERvIG5vdAorICAgICAgICBjYWxsIFJlc291
cmNlSGFuZGxlOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdCgpIGlmIHRoZSBjbGllbnQKKyAgICAg
ICAgcmVxdWVzdCBpcyBudWxsLCBzaW5jZSB0aGUgbG9hZCBpcyBnb2luZyB0byBiZSBjYW5jZWxs
ZWQuCisKKzIwMTQtMTEtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgorCiAgICAgICAgIFtTT1VQXSBFbmNvZGUvRGVjb2RlIGFsbG93Q29va2llcyBpbiBSZXNv
dXJjZVJlcXVlc3QKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzODczMAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAyYTUyYTA1Li5mNjJiOTU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTMwMSwxMiArMzAxLDEzIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVy
Ojpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlCiAg
ICAgbV9jdXJyZW50UmVxdWVzdC51cGRhdGVGcm9tRGVsZWdhdGVQcmVzZXJ2aW5nT2xkUHJvcGVy
dGllcyhuZXdSZXF1ZXN0KTsKICNlbmRpZgogCi0gICAgbV9oYW5kbGUtPmNvbnRpbnVlV2lsbFNl
bmRSZXF1ZXN0KG1fY3VycmVudFJlcXVlc3QpOwotCiAgICAgaWYgKG1fY3VycmVudFJlcXVlc3Qu
aXNOdWxsKCkpIHsKICAgICAgICAgbV9oYW5kbGUtPmNhbmNlbCgpOwogICAgICAgICBkaWRGYWls
KG1faGFuZGxlLmdldCgpLCBjYW5jZWxsZWRFcnJvcihtX2N1cnJlbnRSZXF1ZXN0KSk7CisgICAg
ICAgIHJldHVybjsKICAgICB9CisKKyAgICBtX2hhbmRsZS0+Y29udGludWVXaWxsU2VuZFJlcXVl
c3QobV9jdXJyZW50UmVxdWVzdCk7CiB9CiAKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpj
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpCg==
</data>
<flag name="review"
          id="266445"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>