<?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>48654</bug_id>
          
          <creation_ts>2010-10-29 12:05:26 -0700</creation_ts>
          <short_desc>ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send the DidCreateMainFrame message to the UIProcess</short_desc>
          <delta_ts>2010-10-29 12:32:39 -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="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>andersca</cc>
    
    <cc>jberlin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>301933</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-29 12:05:26 -0700</bug_when>
    <thetext>WebProcessProxy::frameDestroyed asserts that the frameID it was called with was registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is created). However, in the case where we close the page before it&apos;s had the chance to send the DidCreateMainFrame message back to the UI process, the UI Process will get the DidDestroyFrame message because it&apos;s sent directly to the WebProcessProxy and doesn&apos;t go through WebPageProxy.

Therefore, the assert is invalid for that case and should be removed.

&lt;rdar://problem/8600977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301947</commentid>
    <comment_count>1</comment_count>
      <attachid>72366</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-29 12:18:19 -0700</bug_when>
    <thetext>Created attachment 72366
Remove the invalid assertion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301960</commentid>
    <comment_count>2</comment_count>
      <attachid>72366</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-29 12:26:04 -0700</bug_when>
    <thetext>Comment on attachment 72366
Remove the invalid assertion

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

&gt; WebKit2/UIProcess/WebProcessProxy.cpp:492
&gt; +        return;

You can remove the call to m_frameMap.contains here, m_frameMap.remove will work just fine even if the frame doesn&apos;t exist in the map and it will avoid an extra hash lookup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301963</commentid>
    <comment_count>3</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-29 12:28:24 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 72366 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=72366&amp;action=review
&gt; 
&gt; &gt; WebKit2/UIProcess/WebProcessProxy.cpp:492
&gt; &gt; +        return;
&gt; 
&gt; You can remove the call to m_frameMap.contains here, m_frameMap.remove will work just fine even if the frame doesn&apos;t exist in the map and it will avoid an extra hash lookup.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301968</commentid>
    <comment_count>4</comment_count>
      <attachid>72366</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-29 12:32:30 -0700</bug_when>
    <thetext>Comment on attachment 72366
Remove the invalid assertion

Commited in r70915
http://trac.webkit.org/changeset/70915</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72366</attachid>
            <date>2010-10-29 12:18:19 -0700</date>
            <delta_ts>2010-10-29 12:32:30 -0700</delta_ts>
            <desc>Remove the invalid assertion</desc>
            <filename>removeInvalidAssertInWebProcessProxyFrameDestroyed.patch</filename>
            <type>text/plain</type>
            <size>2003</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDkwOSkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMTAtMjkgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
U1NFUlRJT04gRkFJTFVSRSBpbiBXZWJQcm9jZXNzUHJveHk6OmZyYW1lRGVzdHJveWVkIHdoZW4g
YSBQYWdlIGlzIGNsb3NlZCBiZWZvcmUgaXQgY2FuIHNlbmQKKyAgICAgICAgdGhlIERpZENyZWF0
ZU1haW5GcmFtZSBtZXNzc2FnZSB0byB0aGUgVUlQcm9jZXNzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg2NTQKKworICAgICAgICBXZWJQcm9jZXNz
UHJveHk6OmZyYW1lRGVzdHJveWVkIHdhcyBhc3NlcnRpbmcgdGhhdCB0aGUgZnJhbWVJRCBpdCB3
YXMgY2FsbGVkIHdpdGggd2FzCisgICAgICAgIHJlZ2lzdGVyZWQgaW4gV2ViUHJvY2Vzc1Byb3h5
OjpmcmFtZUNyZWF0ZWQgKHdoaWNoIGlzIGNhbGxlZCB3aGVuIHRoZSBXZWJQYWdlUHJveHkgaXMK
KyAgICAgICAgY3JlYXRlZCkuIEhvd2V2ZXIsIGluIHRoZSBjYXNlIHdoZXJlIHdlIGNsb3NlIHRo
ZSBwYWdlIGJlZm9yZSBpdCdzIGhhZCB0aGUgY2hhbmNlIHRvIHNlbmQKKyAgICAgICAgdGhlIERp
ZENyZWF0ZU1haW5GcmFtZSBtZXNzYWdlIGJhY2sgdG8gdGhlIFVJIHByb2Nlc3MsIHRoZSBVSSBQ
cm9jZXNzIHdpbGwgZ2V0IHRoZQorICAgICAgICBEaWREZXN0cm95RnJhbWUgbWVzc2FnZSBiZWNh
dXNlIGl0J3Mgc2VudCBkaXJlY3RseSB0byB0aGUgV2ViUHJvY2Vzc1Byb3h5IGFuZCBkb2Vzbid0
IGdvCisgICAgICAgIHRocm91Z2ggV2ViUGFnZVByb3h5LgorCisgICAgICAgIFJlbW92ZSB0aGUg
YXNzZXJ0IGJlY2F1c2UgaXQgaXMgaW52YWxpZCBpbiB0aGlzIGNhc2UuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjpmcmFtZURlc3Ryb3llZCk6CisKIDIwMTAtMTAtMjkgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCB3aGVuIENhcmJvbiBwbHVnaW5zIGFy
ZSBkaXNhYmxlZApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZp
c2lvbiA3MDg4MikKKysrIFdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ4NSw3ICs0ODUsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmZy
YW1lQ3JlYXRlZCh1aW50NgogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZnJhbWVEZXN0cm95ZWQo
dWludDY0X3QgZnJhbWVJRCkKIHsKLSAgICBBU1NFUlQobV9mcmFtZU1hcC5jb250YWlucyhmcmFt
ZUlEKSk7CisgICAgLy8gSWYgdGhlIHBhZ2UgaXMgY2xvc2VkIGJlZm9yZSBpdCBoYXMgaGFkIHRo
ZSBjaGFuY2UgdG8gc2VuZCB0aGUgRGlkQ3JlYXRlTWFpbkZyYW1lIG1lc3NhZ2UKKyAgICAvLyBi
YWNrIHRvIHRoZSBVSVByb2Nlc3MsIHRoZW4gdGhlIGZyYW1lRGVzdHJveWVkIG1lc3NhZ2Ugd2ls
bCBzdGlsbCBiZSByZWNlaXZlZCBiZWNhdXNlIGl0CisgICAgLy8gZ2V0cyBzZW50IGRpcmVjdGx5
IHRvIHRoZSBXZWJQcm9jZXNzUHJveHkuCisgICAgaWYgKCFtX2ZyYW1lTWFwLmNvbnRhaW5zKGZy
YW1lSUQpKQorICAgICAgICByZXR1cm47CisKICAgICBtX2ZyYW1lTWFwLnJlbW92ZShmcmFtZUlE
KTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>