<?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>105646</bug_id>
          
          <creation_ts>2012-12-21 11:29:45 -0800</creation_ts>
          <short_desc>ASSERT in WebResourceLoadScheduler::scheduleLoad with a crashed NetworkProcess with release build symptoms.</short_desc>
          <delta_ts>2012-12-21 14:19:05 -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>Mac</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>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>796396</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-12-21 11:29:45 -0800</bug_when>
    <thetext>ASSERT in WebResourceLoadScheduler::scheduleLoad with a crashed NetworkProcess with release build symptoms.

To reproduce this find a whole bunch of imgur galleries - I used about 20.
Open them all at once and - while they&apos;re loading -  do a`killall -9 NetworkProcess`

SHOULD NEVER BE REACHED
/Volumes/SSD-Data/git/OpenSource/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp(105) : void WebKit::WebResourceLoadScheduler::scheduleLoad(WebCore::ResourceLoader *, WebCore::ResourceLoadPriority)
1   0x109e6e17b WebKit::WebResourceLoadScheduler::scheduleLoad(WebCore::ResourceLoader*, WebCore::ResourceLoadPriority)
2   0x109e6de4c WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad(WebCore::Frame*, WebCore::CachedResource*, WebCore::ResourceRequest const&amp;, WebCore::ResourceLoadPriority, WebCore::ResourceLoaderOptions const&amp;)
3   0x10bf57989 WebCore::CachedResource::load(WebCore::CachedResourceLoader*, WebCore::ResourceLoaderOptions const&amp;)
4   0x10bf4aed4 WebCore::CachedImage::load(WebCore::CachedResourceLoader*, WebCore::ResourceLoaderOptions const&amp;)
...

The asserting code is:
    if (!WebProcess::shared().networkConnection()-&gt;connection()-&gt;sendSync(Messages::NetworkConnectionToWebProcess::ScheduleResourceLoad(loadParameters), Messages::NetworkConnectionToWebProcess::ScheduleResourceLoad::Reply(identifier), 0)) {
        // FIXME (NetworkProcess): What should we do if this fails?
        ASSERT_NOT_REACHED();
    }

In a release build the assert doesn&apos;t fire, but we do add a resourceloader that will never, ever finish loading.  That results in leaking resourceloaders each time the NetworkProcess crashes.

A resourceloader we can&apos;t schedule because we can&apos;t get through to the NetworkProcess here should be scheduled to fail.

In radar as &lt;rdar://problem/12924845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796438</commentid>
    <comment_count>1</comment_count>
      <attachid>180548</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-12-21 13:33:43 -0800</bug_when>
    <thetext>Created attachment 180548
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796444</commentid>
    <comment_count>2</comment_count>
      <attachid>180548</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-21 13:44:36 -0800</bug_when>
    <thetext>Comment on attachment 180548
Patch v1

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        Since these loaders will never succeed in loading we should schedule them to fail on a timer.

We could also retry the load, but that&apos;s a lot of complexity for a case that should never ever happen.

&gt; Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h:70
&gt; +    HashSet&lt;RefPtr&lt;WebCore::ResourceLoader&gt; &gt; m_failedResourceLoaders;

I&apos;d appreciate a more descriptive name, this set is not used for regular failed loads (e.g. unreachable host).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796459</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-12-21 14:19:05 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/138397</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180548</attachid>
            <date>2012-12-21 13:33:43 -0800</date>
            <delta_ts>2012-12-21 13:44:36 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5135</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjNmQyMzIyLi5hZjMzYjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQg
QEAKIDIwMTItMTItMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIEFTU0VSVCBpbiBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZCB3aXRo
IGEgY3Jhc2hlZCBOZXR3b3JrUHJvY2Vzcy4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyOTI0
ODQ1PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTY0Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHdlIGZh
aWwgdG8gc2NoZWR1bGUgYSBsb2FkZXIgd2l0aCB0aGUgTmV0d29ya1Byb2Nlc3MgaXQgaXMgcHJv
YmFibHkgYmVjYXVzZSB0aGUgTmV0d29ya1Byb2Nlc3MgY3Jhc2hlZC4KKworICAgICAgICBTaW5j
ZSB0aGVzZSBsb2FkZXJzIHdpbGwgbmV2ZXIgc3VjY2VlZCBpbiBsb2FkaW5nIHdlIHNob3VsZCBz
Y2hlZHVsZSB0aGVtIHRvIGZhaWwgb24gYSB0aW1lci4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OldlYlJlc291cmNlTG9hZFNjaGVkdWxlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVMb2FkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUZhaWxlZExv
YWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OmZhaWxlZExv
YWRUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
OjpyZW1vdmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuaDoKKworMjAxMi0xMi0yMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CisKICAgICAgICAgUmVtb3ZlIFJlc291cmNlTG9hZFNjaGVkdWxlcjo6YWRkTWFpblJlc291
cmNlTG9hZCBhbmQgYWxsIHJlbGF0ZWQgY29kZQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI5
MjUyNzU+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NjQ0
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMzI0YmEzNi4uZmRkMmE4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZFNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTUxLDcgKzUxLDggQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUmVzb3VyY2VMb2FkU2NoZWR1
bGVyOjpXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKQotICAgIDogbV9zdXNwZW5kUGVuZGluZ1Jl
cXVlc3RzQ291bnQoMCkKKyAgICA6IG1fZmFpbGVkTG9hZFRpbWVyKFJ1bkxvb3A6Om1haW4oKSwg
dGhpcywgJldlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6ZmFpbGVkTG9hZFRpbWVyRmlyZWQpCisg
ICAgLCBtX3N1c3BlbmRQZW5kaW5nUmVxdWVzdHNDb3VudCgwKQogewogfQogCkBAIC0xMDIsOCAr
MTAzLDEwIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUxvYWQoUmVz
b3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyLCBSZXNvCiAKICAgICBOZXR3b3JrUmVzb3VyY2VM
b2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycyhyZXF1ZXN0LCBwcmlvcml0eSwgcmVzb3VyY2VM
b2FkZXItPnNob3VsZFNuaWZmQ29udGVudCgpID8gU25pZmZDb250ZW50IDogRG9Ob3RTbmlmZkNv
bnRlbnQsIGFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIHJlc291cmNlTG9hZGVyLT5mcmFtZUxvYWRl
cigpLT5mcmFtZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpOwogICAg
IGlmICghV2ViUHJvY2Vzczo6c2hhcmVkKCkubmV0d29ya0Nvbm5lY3Rpb24oKS0+Y29ubmVjdGlv
bigpLT5zZW5kU3luYyhNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlNj
aGVkdWxlUmVzb3VyY2VMb2FkKGxvYWRQYXJhbWV0ZXJzKSwgTWVzc2FnZXM6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpTY2hlZHVsZVJlc291cmNlTG9hZDo6UmVwbHkoaWRlbnRpZmll
ciksIDApKSB7Ci0gICAgICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdoYXQgc2hvdWxk
IHdlIGRvIGlmIHRoaXMgZmFpbHM/Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAvLyBXZSBwcm9iYWJseSBmYWlsZWQgdG8gc2NoZWR1bGUgdGhpcyBsb2FkIHdpdGggdGhl
IE5ldHdvcmtQcm9jZXNzIGJlY2F1c2UgaXQgaGFkIGNyYXNoZWQuCisgICAgICAgIC8vIFRoaXMg
bG9hZCB3aWxsIG5ldmVyIHN1Y2NlZWQgc28gd2Ugd2lsbCBzY2hlZHVsZSBpdCB0byBmYWlsIGFz
eW5jaHJvbm91c2x5LgorICAgICAgICBzY2hlZHVsZUZhaWxlZExvYWQocmVzb3VyY2VMb2FkZXIp
OworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAogICAgIHJlc291cmNlTG9hZGVyLT5zZXRJ
ZGVudGlmaWVyKGlkZW50aWZpZXIpOwpAQCAtMTEyLDExICsxMTUsMzEgQEAgdm9pZCBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciogcmVzb3VyY2VM
b2FkZXIsIFJlc28KICAgICBub3RpZnlEaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdChyZXNvdXJj
ZUxvYWRlcik7CiB9CiAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUZh
aWxlZExvYWQoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyKQoreworICAg
IG1fZmFpbGVkUmVzb3VyY2VMb2FkZXJzLmFkZChyZXNvdXJjZUxvYWRlcik7CisgICAgbV9mYWls
ZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFNj
aGVkdWxlcjo6ZmFpbGVkTG9hZFRpbWVyRmlyZWQoKQoreworICAgIFZlY3RvcjxSZWZQdHI8UmVz
b3VyY2VMb2FkZXI+ID4gZmFpbGVkTG9hZGVyczsKKyAgICBjb3B5VG9WZWN0b3IobV9mYWlsZWRS
ZXNvdXJjZUxvYWRlcnMsIGZhaWxlZExvYWRlcnMpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgZmFpbGVkTG9hZGVycy5zaXplKCk7ICsraSkKKyAgICAgICAgZmFpbGVkTG9hZGVy
c1tpXS0+ZGlkRmFpbChpbnRlcm5hbEVycm9yKGZhaWxlZExvYWRlcnNbaV0tPnVybCgpKSk7Cit9
CisKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZW1vdmUoUmVzb3VyY2VMb2FkZXIq
IHJlc291cmNlTG9hZGVyKQogewogICAgIEFTU0VSVChyZXNvdXJjZUxvYWRlcik7CiAgICAgTE9H
KE5ldHdvcmtTY2hlZHVsaW5nLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZFNjaGVkdWxl
cjo6cmVtb3ZlLCB1cmwgJyVzJyIsIHJlc291cmNlTG9hZGVyLT51cmwoKS5zdHJpbmcoKS51dGY4
KCkuZGF0YSgpKTsKIAorICAgIGlmIChtX2ZhaWxlZFJlc291cmNlTG9hZGVycy5jb250YWlucyhy
ZXNvdXJjZUxvYWRlcikpIHsKKyAgICAgICAgbV9mYWlsZWRSZXNvdXJjZUxvYWRlcnMucmVtb3Zl
KHJlc291cmNlTG9hZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIEZJWE1F
IChOZXR3b3JrUHJvY2Vzcyk6IEl0J3MgcG9zc2libGUgZm9yIGEgcmVzb3VyY2VMb2FkZXIgdG8g
YmUgcmVtb3ZlZCBiZWZvcmUgaXQgZXZlciBzdGFydGVkLAogICAgIC8vIG1lYW5pbmcgYmVmb3Jl
IGl0IGV2ZW4gaGFzIGFuIGlkZW50aWZpZXIuCiAgICAgLy8gV2Ugc2hvdWxkIG1ha2UgdGhpcyBu
b3QgYmUgcG9zc2libGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXggNGEzZWNmOC4uY2E0
NzMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkUHJpb3JpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlTG9hZFNjaGVkdWxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KIAogI2lmIEVOQUJMRShORVRXT1JLX1BS
T0NFU1MpCiAKQEAgLTYzLDYgKzY0LDExIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lk
IHNjaGVkdWxlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIFdlYkNvcmU6OlJlc291cmNl
TG9hZFByaW9yaXR5KTsKKyAgICB2b2lkIHNjaGVkdWxlRmFpbGVkTG9hZChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlciopOworICAgIHZvaWQgZmFpbGVkTG9hZFRpbWVyRmlyZWQoKTsKKyAgICAKKyAg
ICBIYXNoU2V0PFJlZlB0cjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcj4gPiBtX2ZhaWxlZFJlc291
cmNlTG9hZGVyczsKKyAgICBXZWJDb3JlOjpSdW5Mb29wOjpUaW1lcjxXZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+IG1fZmFpbGVkTG9hZFRpbWVyOwogICAgIAogICAgIEhhc2hNYXA8dW5zaWduZWQg
bG9uZywgUmVmUHRyPFdlYlJlc291cmNlTG9hZGVyPiA+IG1fd2ViUmVzb3VyY2VMb2FkZXJzOwog
ICAgIAo=
</data>
<flag name="review"
          id="197849"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>