<?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>113616</bug_id>
          
          <creation_ts>2013-03-29 15:47:34 -0700</creation_ts>
          <short_desc>Crash when &quot;willSendRequest&quot; causes the ResourceLoader to be cancelled.</short_desc>
          <delta_ts>2013-03-29 16:00:58 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>866440</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-29 15:47:34 -0700</bug_when>
    <thetext>Crash when &quot;willSendRequest&quot; causes the ResourceLoader to be cancelled.

This can happen a lot of ways.  One example is with the url http://www.rackspace.com/blog/mathematics-cannot-be-patented-case-dismissed/ where an XHR fails a redirect check and therefore the loader is cancelled.

When the WebCore loader is cancelled, the WebResourceLoader is destroyed but then it tries to access freed objects.

This was only introduced with the asynchronous ResourceHandleClient model so it&apos;s very new.

By adding a RefPtr&lt;&gt; protector we avoid the crash completely.  By adding a &quot;detachFromCoreLoader&quot; to call when the WebCore loader is aborting we can avoid unnecessary messaging back to the NetworkProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866441</commentid>
    <comment_count>1</comment_count>
      <attachid>195811</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-29 15:53:22 -0700</bug_when>
    <thetext>Created attachment 195811
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866442</commentid>
    <comment_count>2</comment_count>
      <attachid>195811</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-29 15:57:23 -0700</bug_when>
    <thetext>Comment on attachment 195811
Patch v1

View in context: https://bugs.webkit.org/attachment.cgi?id=195811&amp;action=review

&gt; Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp:161
&gt; +    ASSERT(loader);
&gt; +    if (!loader)
&gt; +        return;

How strongly do you feel about this? We usually do not not add such checks without knowing that this actually happens, and waiting for reproducible cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866443</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-29 15:59:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 195811 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=195811&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp:161
&gt; &gt; +    ASSERT(loader);
&gt; &gt; +    if (!loader)
&gt; &gt; +        return;
&gt; 
&gt; How strongly do you feel about this? We usually do not not add such checks without knowing that this actually happens, and waiting for reproducible cases.

I don&apos;t feel strongly about it, I&apos;ll remove it. (leaving the ASSERT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866446</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-29 16:00:58 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/147257</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195811</attachid>
            <date>2013-03-29 15:53:22 -0700</date>
            <delta_ts>2013-03-29 15:57:23 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5366</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0NDE0YjAzLi40OTNhNGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjgg
QEAKIDIwMTMtMDMtMjkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIENyYXNoIHdoZW4gIndpbGxTZW5kUmVxdWVzdCIgY2F1c2VzIHRoZSBSZXNvdXJjZUxvYWRl
ciB0byBiZSBjYW5jZWxsZWQuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzUzMTY3OT4gYW5k
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBjYWxsYmFja3Mg
dG8gdGhlIFdlYkNvcmUgUmVzb3VyY2VMb2FkZXIgY2FuIGNhdXNlIHRoZSBXZWJSZXNvdXJjZUxv
YWRlciB0byBiZSBkZXN0cm95ZWQuCisgICAgICAgIEEgUmVmUHRyPD4gcHJvdGVjdG9yIGZpeGVz
IHRoYXQuCisKKyAgICAgICAgQWRkaXRpb25hbGx5IHdlIGNhbiBpbnZhbGlkYXRlIHRoZSBXZWJS
ZXNvdXJjZUxvYWRlciB0byBhdm9pZCB1bm5lY2Vzc2FyeSBjYWxsYmFja3MgdG8gdGhlIE5ldHdv
cmtQcm9jZXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFNjaGVkdWxl
cjo6cmVtb3ZlKTogQ2FsbCBkZXRhY2hGcm9tQ29yZUxvYWRlcigpIG9uIGEgcmVtb3ZlZCBXZWJS
ZXNvdXJjZUxvYWRlci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpkZXRhY2hG
cm9tQ29yZUxvYWRlcik6IENsZWFyIG91dCB0aGUgUmVzb3VyY2VMb2FkZXIgcG9pbnRlci4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6IFByb3Rl
Y3QgdGhpcywgYW5kIGRvbid0IG1lc3NhZ2UgYmFjayB0byB0aGUgTmV0d29ya1Byb2Nlc3MgaWYg
aXRzIG5vdCBuZWVkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpjYW5B
dXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKTogRGl0dG8KKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZSk6IFBhcmFub2lkIGhhcmRl
bmluZyAtIFByb3RlY3QgdGhpcyBiZWZvcmUgZGVsaXZlcmluZyB0aGUgZGF0YSB0byB0aGUgV2Vi
Q29yZQorICAgICAgICAgIFJlc291cmNlTG9hZGVyLCBhbmQgbnVsbCBjaGVjayBpdCBiZWZvcmUg
ZGVsaXZlcmluZyB0aGUgImRpZEZpbmlzaExvYWRlciIgY2FsbC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKworMjAxMy0wMy0yOSAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKICAgICAgICAgU2hvdWxkIG5ldmVyIHNlbmQgZXZl
bnRzIHRvIHBsdWdpbnMgd2FpdGluZyBvbiBhc3luY2hyb25vdXMgaW5pdGlhbGl6YXRpb24uCiAg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzUzODk0NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MTIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApp
bmRleCBiNTFlMjVjLi5lNGU5ODY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAt
MTU1LDggKzE1NSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVtb3ZlKFJl
c291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKICAgICAvLyBJZiBhIHJlc291cmNlIGxvYWQg
d2FzIGFjdHVhbGx5IHN0YXJ0ZWQgd2l0aGluIHRoZSBOZXR3b3JrUHJvY2VzcyB0aGVuIHRoZSBO
ZXR3b3JrUHJvY2VzcyBoYW5kbGVzIGNsZWFyaW5nIG91dCB0aGUgaWRlbnRpZmllci4KICAgICBX
ZWJQcm9jZXNzOjpzaGFyZWQoKS5uZXR3b3JrQ29ubmVjdGlvbigpLT5jb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZW1vdmVMb2FkSWRl
bnRpZmllcihpZGVudGlmaWVyKSwgMCk7CiAgICAgCi0gICAgQVNTRVJUKG1fd2ViUmVzb3VyY2VM
b2FkZXJzLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKLSAgICBtX3dlYlJlc291cmNlTG9hZGVycy5y
ZW1vdmUoaWRlbnRpZmllcik7CisgICAgUmVmUHRyPFdlYlJlc291cmNlTG9hZGVyPiBsb2FkZXIg
PSBtX3dlYlJlc291cmNlTG9hZGVycy50YWtlKGlkZW50aWZpZXIpOworICAgIEFTU0VSVChsb2Fk
ZXIpOworICAgIGlmICghbG9hZGVyKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJdCdzIHBv
c3NpYmxlIHRoYXQgdGhpcyBXZWJSZXNvdXJjZUxvYWRlciBtaWdodCBiZSBqdXN0IGFib3V0IHRv
IG1lc3NhZ2UgYmFjayB0byB0aGUgTmV0d29ya1Byb2Nlc3MgKGUuZy4gQ29udGludWVXaWxsU2Vu
ZFJlcXVlc3QpCisgICAgLy8gYnV0IHRoZXJlJ3Mgbm8gcG9pbnQgaW4gZG9pbmcgc28gYW55bW9y
ZS4KKyAgICBsb2FkZXItPmRldGFjaEZyb21Db3JlTG9hZGVyKCk7CiB9CiAKIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpjcm9zc09yaWdpblJlZGlyZWN0UmVjZWl2ZWQoUmVzb3VyY2VM
b2FkZXIqLCBjb25zdCBLVVJMJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDZlMTljMTguLjM3ODA3ZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcApAQCAtNzMsMTIgKzczLDIzIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
ZXI6OmNhbmNlbFJlc291cmNlTG9hZGVyKCkKICAgICBtX2NvcmVMb2FkZXItPmNhbmNlbCgpOwog
fQogCit2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkZXRhY2hGcm9tQ29yZUxvYWRlcigpCit7Cisg
ICAgbV9jb3JlTG9hZGVyID0gMDsKK30KKwogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6d2lsbFNl
bmRSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcHJvcG9zZWRSZXF1ZXN0LCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQogewogICAgIExPRyhOZXR3b3JrLCAi
KFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QgdG8gJyVzJyIs
IHByb3Bvc2VkUmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKworICAgIFJl
ZlB0cjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdG9yKHRoaXMpOwogICAgIAogICAgIFJlc291
cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0gcHJvcG9zZWRSZXF1ZXN0OwogICAgIG1fY29yZUxvYWRl
ci0+d2lsbFNlbmRSZXF1ZXN0KG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOworICAgIAor
ICAgIGlmICghbV9jb3JlTG9hZGVyKQorICAgICAgICByZXR1cm47CisgICAgCiAgICAgc2VuZChN
ZXNzYWdlczo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpDb250aW51ZVdpbGxTZW5kUmVxdWVzdChu
ZXdSZXF1ZXN0KSk7CiB9CiAKQEAgLTEyMCwxNiArMTMxLDI3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZShjb25zdCBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxl
JiBoYW5kCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBSZWZQdHI8V2ViUmVzb3VyY2VM
b2FkZXI+IHByb3RlY3Rvcih0aGlzKTsKKwogICAgIC8vIE9ubHkgc2VuZCBkYXRhIHRvIHRoZSBk
aWRSZWNlaXZlRGF0YSBjYWxsYmFjayBpZiBpdCBleGlzdHMuCiAgICAgaWYgKGJ1ZmZlci0+c2l6
ZSgpKQogICAgICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVCdWZmZXIoYnVmZmVyLmdldCgp
LCBidWZmZXItPnNpemUoKSwgRGF0YVBheWxvYWRXaG9sZVJlc291cmNlKTsKIAorICAgIGlmICgh
bV9jb3JlTG9hZGVyKQorICAgICAgICByZXR1cm47CisKICAgICBtX2NvcmVMb2FkZXItPmRpZEZp
bmlzaExvYWRpbmcoZmluaXNoVGltZSk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmNh
bkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoY29uc3QgUHJvdGVjdGlvblNwYWNl
JiBwcm90ZWN0aW9uU3BhY2UpCiB7CisgICAgUmVmUHRyPFdlYlJlc291cmNlTG9hZGVyPiBwcm90
ZWN0b3IodGhpcyk7CisKICAgICBib29sIHJlc3VsdCA9IG1fY29yZUxvYWRlci0+Y2FuQXV0aGVu
dGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShwcm90ZWN0aW9uU3BhY2UpOworCisgICAgaWYg
KCFtX2NvcmVMb2FkZXIpCisgICAgICAgIHJldHVybjsKKwogICAgIHNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtSZXNvdXJjZUxvYWRlcjo6Q29udGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVj
dGlvblNwYWNlKHJlc3VsdCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDNjZjdiNDcuLjAwODUzZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oCkBAIC02Nyw2ICs2Nyw4IEBAIHB1YmxpYzoKIAogICAgIFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcigpIGNvbnN0IHsgcmV0dXJuIG1fY29yZUxvYWRl
ci5nZXQoKTsgfQogCisgICAgdm9pZCBkZXRhY2hGcm9tQ29yZUxvYWRlcigpOworCiBwcml2YXRl
OgogICAgIFdlYlJlc291cmNlTG9hZGVyKFBhc3NSZWZQdHI8V2ViQ29yZTo6UmVzb3VyY2VMb2Fk
ZXI+KTsKIAo=
</data>
<flag name="review"
          id="217774"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>