<?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>56978</bug_id>
          
          <creation_ts>2011-03-23 17:24:37 -0700</creation_ts>
          <short_desc>REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading()</short_desc>
          <delta_ts>2011-03-23 17:51:20 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>372560</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-23 17:24:37 -0700</bug_when>
    <thetext>There are many crashes reported in WebKit2 with the following repetitive part:

FrameLoader::recursiveCheckLoadComplete()
FrameLoader::checkLoadComplete()
FrameLoader::mainReceivedCompleteError()
DocumentLoader::mainReceivedError()
DocumentLoader::stopLoading()
FrameLoader::checkLoadCompleteForThisFrame() /* provisional state */

Unfortunately, there are no steps to reproduce.

&lt;rdar://problem/9041670&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372561</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-23 17:29:06 -0700</bug_when>
    <thetext>Our best guess is that this is caused by the way plug-in loads are stopped - there are asynchronous messages sent, so DocumentLoader keeps thinking that it has plug-in loads unless it receives an IPC response, which it doesn&apos;t. But I couldn&apos;t make a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372564</commentid>
    <comment_count>2</comment_count>
      <attachid>86725</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-23 17:35:11 -0700</bug_when>
    <thetext>Created attachment 86725
proposed fix

This passes regression tests. It&apos;s difficult to confidently say that there are no leaks, because loader and http regression tests leak a lot already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372568</commentid>
    <comment_count>3</comment_count>
      <attachid>86726</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-23 17:43:19 -0700</bug_when>
    <thetext>Created attachment 86726
updated patch

Oops, lost the condition rewrite somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372570</commentid>
    <comment_count>4</comment_count>
      <attachid>86726</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-03-23 17:44:27 -0700</bug_when>
    <thetext>Comment on attachment 86726
updated patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372571</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-23 17:44:57 -0700</bug_when>
    <thetext>Attachment 86726 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/loader/FrameLoader.cpp:2401:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 1 in 2 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>372574</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-23 17:49:19 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/81831&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372575</commentid>
    <comment_count>7</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-03-23 17:51:11 -0700</bug_when>
    <thetext>Attachment 86726 did not build on qt:
Build output: http://queues.webkit.org/results/8236098</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372576</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-23 17:51:20 -0700</bug_when>
    <thetext>Typo fix in &lt;http://trac.webkit.org/changeset/81832&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86725</attachid>
            <date>2011-03-23 17:35:11 -0700</date>
            <delta_ts>2011-03-23 17:43:19 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>StopLoadingRecursion.txt</filename>
            <type>text/plain</type>
            <size>2323</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxODI2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDMtMjMgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogSW5maW5pdGUgcmVjdXJzaW9uIGluIHJl
Y3Vyc2l2ZUNoZWNrTG9hZENvbXBsZXRlKCkvY2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUo
KS9zdG9wTG9hZGluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01Njk3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA0MTY3MD4KKworICAgICAg
ICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhlcmUgaXMgbm8ga25vd24gd2F5IHRvIHJlcHJvZHVj
ZS4KKworICAgICAgICBSZW1vdmVkIHN0cmFuZ2UgY29kZSB0aGF0IHdhcyB0cnlpbmcgdG8gc3Rv
cCBhIG5vbi1sb2FkaW5nIHByb3Zpc2lvbmFsIGRvY3VtZW50IGxvYWRlciBhbmQKKyAgICAgICAg
ZXZlbiBpdHMgc3ViZnJhbWVzICg/ISkuIEFkZGVkIGFzc2VydGlvbnMgdG8gY2F0Y2ggaXQgaWYg
d2UgY2FuIGFjdHVhbGx5IGJlIGxvYWRpbmcgaGVyZSBpbgorICAgICAgICBzb21lIHNlbnNlLgor
ICAgICAgICBSZXdyb3RlIGEgY29uZGl0aW9uIGZvciBjbGFyaXR5IC0gc3RhcnRpbmcgd2l0aCBy
NDMxNDgsIGl0IHdhcyBhY3RpbmcgYXMgYW4gb3Bwb3NpdGUgb2YgYQorICAgICAgICByZWN1cnNp
b24gZ3VhcmQgKGJ1dCB0aGF0IGRpZG4ndCBjYXVzZSBpbW1lZGlhdGUgcHJvYmxlbXMgdGhlbiku
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOiAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKToKKwogMjAxMS0wMy0yMyAgTWFyayBS
b3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDgxNjc3KQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM5
NiwxMSArMjM5NiwxMCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRo
CiAgICAgICAgICAgICAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9h
ZChlcnJvcik7CiAgICAgICAgICAgICAgICAgbV9kZWxlZ2F0ZUlzSGFuZGxpbmdQcm92aXNpb25h
bExvYWRFcnJvciA9IGZhbHNlOwogCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IGNhbiBzdG9w
cGluZyBsb2FkaW5nIGhlcmUgcG9zc2libHkgaGF2ZSBhbnkgZWZmZWN0LCBpZiBpc0xvYWRpbmcg
aXMgZmFsc2UsCi0gICAgICAgICAgICAgICAgLy8gd2hpY2ggaXQgbXVzdCBiZSB0byBiZSBpbiB0
aGlzIGJyYW5jaCBvZiB0aGUgaWY/IEFuZCBpcyBpdCBPSyB0byBqdXN0IGRvIGEgZnVsbC1vbgot
ICAgICAgICAgICAgICAgIC8vIHN0b3BBbGxMb2FkZXJzIGluc3RlYWQgb2Ygc3RvcExvYWRpbmdT
dWJmcmFtZXM/Ci0gICAgICAgICAgICAgICAgc3RvcExvYWRpbmdTdWJmcmFtZXMoU2hvdWxkTm90
Q2xlYXJQcm92aXNpb25hbEl0ZW0pOwotICAgICAgICAgICAgICAgIHBkbC0+c3RvcExvYWRpbmco
KTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIXBkbC0+aXNMb2FkaW5nKCkpOworICAgICAgICAg
ICAgICAgIEFTU0VSVCghcGRsLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSk7CisgICAgICAgICAg
ICAgICAgQVNTRVJUKCFwZGwtPmlzTG9hZGluZ1N1YnJlc291cmNlcygpKTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQoIXBkbC0+aXNMb2FkaW5nUGx1Z0lucygpKTsKIAogICAgICAgICAgICAgICAg
IC8vIElmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgbG9hZGluZyBtdWx0aXBhcnQgZGF0YSwgd2Ug
bmVlZCB0byByZXN0b3JlIHRoZSBkb2N1bWVudCBsb2FkZXIuCiAgICAgICAgICAgICAgICAgaWYg
KGlzUmVwbGFjaW5nKCkgJiYgIW1fZG9jdW1lbnRMb2FkZXIuZ2V0KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86726</attachid>
            <date>2011-03-23 17:43:19 -0700</date>
            <delta_ts>2011-03-23 17:44:27 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>StopLoadingRecursion.txt</filename>
            <type>text/plain</type>
            <size>2693</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxODI2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDMtMjMgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogSW5maW5pdGUgcmVjdXJzaW9uIGluIHJl
Y3Vyc2l2ZUNoZWNrTG9hZENvbXBsZXRlKCkvY2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUo
KS9zdG9wTG9hZGluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01Njk3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA0MTY3MD4KKworICAgICAg
ICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhlcmUgaXMgbm8ga25vd24gd2F5IHRvIHJlcHJvZHVj
ZS4KKworICAgICAgICBSZW1vdmVkIHN0cmFuZ2UgY29kZSB0aGF0IHdhcyB0cnlpbmcgdG8gc3Rv
cCBhIG5vbi1sb2FkaW5nIHByb3Zpc2lvbmFsIGRvY3VtZW50IGxvYWRlciBhbmQKKyAgICAgICAg
ZXZlbiBpdHMgc3ViZnJhbWVzICg/ISkuIEFkZGVkIGFzc2VydGlvbnMgdG8gY2F0Y2ggaXQgaWYg
d2UgY2FuIGFjdHVhbGx5IGJlIGxvYWRpbmcgaGVyZSBpbgorICAgICAgICBzb21lIHNlbnNlLgor
ICAgICAgICBSZXdyb3RlIGEgY29uZGl0aW9uIGZvciBjbGFyaXR5IC0gc3RhcnRpbmcgd2l0aCBy
NDMxNDgsIGl0IHdhcyBhY3RpbmcgYXMgYW4gb3Bwb3NpdGUgb2YgYQorICAgICAgICByZWN1cnNp
b24gZ3VhcmQgKGJ1dCB0aGF0IGRpZG4ndCBjYXVzZSBpbW1lZGlhdGUgcHJvYmxlbXMgdGhlbiku
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOiAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKToKKwogMjAxMS0wMy0yMyAgTWFyayBS
b3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDgxNjc3KQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM5
MSwxNiArMjM5MSwxNSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRo
CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBPbmx5IHJlc2V0IGlmIHdlIGFyZW4n
dCBhbHJlYWR5IGdvaW5nIHRvIGEgbmV3IHByb3Zpc2lvbmFsIGl0ZW0uCiAgICAgICAgICAgICBi
b29sIHNob3VsZFJlc2V0ID0gIWhpc3RvcnkoKS0+cHJvdmlzaW9uYWxJdGVtKCk7Ci0gICAgICAg
ICAgICBpZiAoIShwZGwtPmlzTG9hZGluZ0luQVBJU2Vuc2UoKSAmJiAhcGRsLT5pc1N0b3BwaW5n
KCkpKSB7CisgICAgICAgICAgICBpZiAoIXBkbC0+aXNMb2FkaW5nSW5BUElTZW5zZSgpIHx8IHBk
bC0+aXNTdG9wcGluZygpKSkgewogICAgICAgICAgICAgICAgIG1fZGVsZWdhdGVJc0hhbmRsaW5n
UHJvdmlzaW9uYWxMb2FkRXJyb3IgPSB0cnVlOwogICAgICAgICAgICAgICAgIG1fY2xpZW50LT5k
aXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoZXJyb3IpOwogICAgICAgICAgICAgICAgIG1f
ZGVsZWdhdGVJc0hhbmRsaW5nUHJvdmlzaW9uYWxMb2FkRXJyb3IgPSBmYWxzZTsKIAotICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBjYW4gc3RvcHBpbmcgbG9hZGluZyBoZXJlIHBvc3NpYmx5IGhh
dmUgYW55IGVmZmVjdCwgaWYgaXNMb2FkaW5nIGlzIGZhbHNlLAotICAgICAgICAgICAgICAgIC8v
IHdoaWNoIGl0IG11c3QgYmUgdG8gYmUgaW4gdGhpcyBicmFuY2ggb2YgdGhlIGlmPyBBbmQgaXMg
aXQgT0sgdG8ganVzdCBkbyBhIGZ1bGwtb24KLSAgICAgICAgICAgICAgICAvLyBzdG9wQWxsTG9h
ZGVycyBpbnN0ZWFkIG9mIHN0b3BMb2FkaW5nU3ViZnJhbWVzPwotICAgICAgICAgICAgICAgIHN0
b3BMb2FkaW5nU3ViZnJhbWVzKFNob3VsZE5vdENsZWFyUHJvdmlzaW9uYWxJdGVtKTsKLSAgICAg
ICAgICAgICAgICBwZGwtPnN0b3BMb2FkaW5nKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFw
ZGwtPmlzTG9hZGluZygpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIXBkbC0+aXNMb2FkaW5n
TWFpblJlc291cmNlKCkpOworICAgICAgICAgICAgICAgIEFTU0VSVCghcGRsLT5pc0xvYWRpbmdT
dWJyZXNvdXJjZXMoKSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFwZGwtPmlzTG9hZGluZ1Bs
dWdJbnMoKSk7CiAKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9m
IGxvYWRpbmcgbXVsdGlwYXJ0IGRhdGEsIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgZG9jdW1lbnQg
bG9hZGVyLgogICAgICAgICAgICAgICAgIGlmIChpc1JlcGxhY2luZygpICYmICFtX2RvY3VtZW50
TG9hZGVyLmdldCgpKQo=
</data>
<flag name="review"
          id="79046"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>