<?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>42610</bug_id>
          
          <creation_ts>2010-07-19 18:17:23 -0700</creation_ts>
          <short_desc>NotificationCenter::disconnectFrame will crash if called twice</short_desc>
          <delta_ts>2010-07-21 07:44:18 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>42534</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Gregg">johnnyg</reporter>
          <assigned_to name="John Gregg">johnnyg</assigned_to>
          <cc>ap</cc>
    
    <cc>kling</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253502</commentid>
    <comment_count>0</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-19 18:17:23 -0700</bug_when>
    <thetext>NotificationCenter::disconnectFrame will crash if called twice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253515</commentid>
    <comment_count>1</comment_count>
      <attachid>62024</attachid>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-19 18:52:06 -0700</bug_when>
    <thetext>Created attachment 62024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253518</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-19 18:56:35 -0700</bug_when>
    <thetext>Attachment 62024 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
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>253520</commentid>
    <comment_count>3</comment_count>
      <attachid>62026</attachid>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-19 19:01:06 -0700</bug_when>
    <thetext>Created attachment 62026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253537</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-19 20:58:28 -0700</bug_when>
    <thetext>Related: 42534</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253549</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-19 22:08:26 -0700</bug_when>
    <thetext>&gt; Adds a null check; this is a prospective fix for a crash that is difficult to repro.

Why is it difficult to reproduce? This looks like a case where having a regression test is particularly important.

&gt; NotificationCenter::disconnectFrame will crash if called twice

How can it be called twice?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253787</commentid>
    <comment_count>6</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-20 10:12:11 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; Adds a null check; this is a prospective fix for a crash that is difficult to repro.
&gt; 
&gt; Why is it difficult to reproduce? This looks like a case where having a regression test is particularly important.
&gt; 

The crash is being reported by Chrome users, with a stack trace that suggests this code path, and the timing suggests http://trac.webkit.org/changeset/62939 may be the culprit.   When I say difficult to repro, actually I have not been able to reproduce it at all, but because of the crash reports, we know it is happening.

&gt; &gt; NotificationCenter::disconnectFrame will crash if called twice
&gt; 
&gt; How can it be called twice?

Again, not sure that&apos;s what&apos;s happening.  But if it did happen, it will definitely crash.  But as Andreas pointed out, bug 42534 has more information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253820</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-20 11:07:19 -0700</bug_when>
    <thetext>There are multiple disconnectFrame() calls in various objects, all called from DOMWindow::clear(), and those don&apos;t seem to cause crashes.

One way to attack this is to answer the question of what is different about NotificationCenter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253822</commentid>
    <comment_count>8</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-20 11:09:07 -0700</bug_when>
    <thetext>I think Yael understands the cause of the crash in bug 42534, so I will withdraw this patch for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253909</commentid>
    <comment_count>9</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-20 14:16:20 -0700</bug_when>
    <thetext>Not being able to reproduce this is slowing me down, and if someone can find a way to reproduce, I will be happy to know about it. 
I am working on this, and sorry for the inconvenience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254082</commentid>
    <comment_count>10</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-20 17:44:26 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; One way to attack this is to answer the question of what is different about NotificationCenter.
This is a very good question :-)
Since notifications are expected to outlive the page that created them, I made Qt&apos;s NotificationPresenter a singleton. It is deleted when the last page is deleted.
John, is it a singleton in Chromium too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254273</commentid>
    <comment_count>11</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 07:44:18 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 42534 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62024</attachid>
            <date>2010-07-19 18:52:06 -0700</date>
            <delta_ts>2010-07-19 19:01:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42610-20100719185205.patch</filename>
            <type>text/plain</type>
            <size>1256</size>
            <attacher name="John Gregg">johnnyg</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzcwNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDctMTkgIEpvaG4gR3JlZ2cgIDxqb2hubnlnQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90
aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUgd2lsbCBjcmFzaCBpZiBjYWxsZWQgdHdp
Y2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEw
CisKKyAgICAgICAgQWRkcyBhIG51bGwgY2hlY2s7IHRoaXMgaXMgYSBwcm9zcGVjdGl2ZSBmaXgg
Zm9yIGEgY3Jhc2ggdGhhdCBpcyBkaWZmaWN1bHQgdG8gcmVwcm8uCisJCisgICAgICAgICogbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90
aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUpOgorCiAyMDEwLTA3LTE5ICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIsIEFkYW0gUm9iZW4sIERhbiBCZXJuc3RlaW4gYW5kIFNhbSBXZWluaWcuCkluZGV4
OiBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAkocmV2aXNp
b24gNjM2MDkpCisrKyBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOCBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRl
cjo6cmVxdWVzdFBlcm1pc3NpCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0
RnJhbWUoKQogeworICAgIGlmICghcHJlc2VudGVyKCkpCisgICAgICAgIHJldHVybjsKICAgICBt
X25vdGlmaWNhdGlvblByZXNlbnRlci0+Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCk7CiAgICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIgPSAwOwog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62026</attachid>
            <date>2010-07-19 19:01:06 -0700</date>
            <delta_ts>2010-07-20 11:08:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42610-20100719190104.patch</filename>
            <type>text/plain</type>
            <size>1255</size>
            <attacher name="John Gregg">johnnyg</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzcwNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDctMTkgIEpvaG4gR3JlZ2cgIDxqb2hubnlnQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90
aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUgd2lsbCBjcmFzaCBpZiBjYWxsZWQgdHdp
Y2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEw
CisKKyAgICAgICAgQWRkcyBhIG51bGwgY2hlY2s7IHRoaXMgaXMgYSBwcm9zcGVjdGl2ZSBmaXgg
Zm9yIGEgY3Jhc2ggdGhhdCBpcyBkaWZmaWN1bHQgdG8gcmVwcm8uCisKKyAgICAgICAgKiBub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSk6CisKIDIwMTAtMDctMTkgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlciwgQWRhbSBSb2JlbiwgRGFuIEJlcm5zdGVpbiBhbmQgU2FtIFdlaW5pZy4KSW5kZXg6
IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lv
biA2MzYwOSkKKysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw4IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVy
OjpyZXF1ZXN0UGVybWlzc2kKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RG
cmFtZSgpCiB7CisgICAgaWYgKCFwcmVzZW50ZXIoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIG1f
bm90aWZpY2F0aW9uUHJlc2VudGVyLT5jYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24obV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlciA9IDA7CiB9
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>