<?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>122592</bug_id>
          
          <creation_ts>2013-10-10 03:05:09 -0700</creation_ts>
          <short_desc>REGRESSION(r157210): Crashes in WebCore::ScopedEventQueue::dispatchEvent for platforms using GCC</short_desc>
          <delta_ts>2013-10-14 02:11:16 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>berto</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>938258</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 03:05:09 -0700</bug_when>
    <thetext>REGRESSION(r157210): Crashes in WebCore::ScopedEventQueue::dispatchEvent for platforms using GCC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938260</commentid>
    <comment_count>1</comment_count>
      <attachid>213863</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 03:17:23 -0700</bug_when>
    <thetext>Created attachment 213863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938264</commentid>
    <comment_count>2</comment_count>
      <attachid>213863</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-10-10 03:35:05 -0700</bug_when>
    <thetext>Comment on attachment 213863
Patch

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

&gt; Source/WebCore/ChangeLog:18
&gt; +

Looks like something wrong happened here :)

&gt; Source/WebCore/dom/ScopedEventQueue.cpp:83
&gt; +    EventDispatcher::dispatchEvent(node, event);

I think this deserves a comment, because it isn&apos;t obvious why we&apos;re assigning the pointer first to a local variable.

Or even better, we can assign the event to a local RefPtr and use that in dispatchEvent()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938269</commentid>
    <comment_count>3</comment_count>
      <attachid>213863</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 03:50:30 -0700</bug_when>
    <thetext>Comment on attachment 213863
Patch

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

&gt;&gt; Source/WebCore/dom/ScopedEventQueue.cpp:83
&gt;&gt; +    EventDispatcher::dispatchEvent(node, event);
&gt; 
&gt; I think this deserves a comment, because it isn&apos;t obvious why we&apos;re assigning the pointer first to a local variable.
&gt; 
&gt; Or even better, we can assign the event to a local RefPtr and use that in dispatchEvent()

How about passing in a naked pointer of the event? This won&apos;t destruct the original PassRefPtr.

I&apos;m missing support for something like std::forward() here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938301</commentid>
    <comment_count>4</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-10-10 05:35:44 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; How about passing in a naked pointer of the event? This won&apos;t
&gt; destruct the original PassRefPtr.

I think it&apos;s unclear either way and deserves a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938302</commentid>
    <comment_count>5</comment_count>
      <attachid>213875</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 05:39:47 -0700</bug_when>
    <thetext>Created attachment 213875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938314</commentid>
    <comment_count>6</comment_count>
      <attachid>213875</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 06:28:21 -0700</bug_when>
    <thetext>Comment on attachment 213875
Patch

Clearing flags on attachment: 213875

Committed r157219: &lt;http://trac.webkit.org/changeset/157219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938315</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 06:28:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938388</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-10 09:46:23 -0700</bug_when>
    <thetext>I think that the original proposed patch was better, because it avoided reference churn from creating a new PassRefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938459</commentid>
    <comment_count>9</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-10-10 11:58:01 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think that the original proposed patch was better, because it
&gt; avoided reference churn from creating a new PassRefPtr.

I also think that it was a bit clearer, the .get() solution makes the
reader wonder what&apos;s going on there, while the original one feels
natural.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938524</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-10 13:45:51 -0700</bug_when>
    <thetext>I&apos;m indifferent here, but I&apos;ll upload the adjustment in a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939387</commentid>
    <comment_count>11</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-14 02:11:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I&apos;m indifferent here, but I&apos;ll upload the adjustment in a separate bug.

Bug #122742.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213863</attachid>
            <date>2013-10-10 03:17:23 -0700</date>
            <delta_ts>2013-10-10 05:39:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122592-20131010031722.patch</filename>
            <type>text/plain</type>
            <size>2170</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzNDQ0MjY3YmZmYzRk
YzY0YjI5ZDUxNzU1NDRhOWFlNTIyZDRlYi4uY2FlMWQ4ODVhZmE2ZjZiOTZkYjIzMDRkOGUxNjJm
MmJhNzMzZjEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTEwLTEwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIx
NTcyMTApOiBDcmFzaGVzIGluIFdlYkNvcmU6OlNjb3BlZEV2ZW50UXVldWU6OmRpc3BhdGNoRXZl
bnQgZm9yIHBsYXRmb3JtcyB1c2luZyBHQ0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMjU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NvcGVkRXZlbnRRdWV1ZTo6ZGlzcGF0Y2hFdmVudCk6IFdoZW4gY2FsbGluZyBF
dmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQoKSwgdGhlIEdDQy1jb21waWxlZCBjb2RlCisg
ICAgICAgIGZpcnN0IGNyZWF0ZXMgYSBjb3B5IG9mIHRoZSBQYXNzUmVmUHRyPEV2ZW50PiBvYmpl
Y3QgdGhhdCdzIGJlaW5nIHBhc3NlZCBpbnRvIHRoZSBtZXRob2QgY2FsbC4gVGhlIGNvcHkgd2ls
bCBiZSB1c2VkCisgICAgICAgIGluIHRoYXQgbWV0aG9kIHdoaWxlIHRoZSBvcmlnaW5hbCBpcyBs
ZWZ0IHdpdGggYSBudWxsIHBvaW50ZXIuIE9ubHkgYWZ0ZXIgdGhhdCBpcyB0aGUgb3JpZ2luYWwg
cXVlcmllZCBmb3IgaXRzIHBvaW50ZXIKKyAgICAgICAgd2hpbGUgdHJ5aW5nIHRvIGdldCB0aGUg
RXZlbnQncyB0YXJnZXQsIHJlc3VsdGluZyBpbiBhIGNyYXNoIGR1ZSB0byBjYWxsaW5nIHRoZSBF
dmVudDo6dGFyZ2V0KCkgb24gYSBudWxsIHBvaW50ZXIuCisgICAgICAgIFRvIGF2b2lkIGl0LCB0
aGUgcG9pbnRlciB0byB0aGUgRXZlbnQncyB0YXJnZXQgKGFzIGEgTm9kZSkgaXMgc3RvcmVkIGlu
IGEgbG9jYWwgdmFyaWFibGUgYmVmb3JlIGNhbGxpbmcgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRj
aEV2ZW50LgorCithbmQgbGVhdmluZyB0aGUgb3JpZ2luYWwKKyAgICAgICAgb25lIHdpdGggYSBu
dWxsIHBvaW50ZXIuIE9ubHkgYWZ0ZXIgdGhhdCBpcyB0aGUgZXZlbnQncyB0YXJnZXQgcXVlcmll
ZCwgd2hpY2ggbm93IGNyYXNoZXMgZHVlIHRvIHVzaW5nIHRoZSBvcmlnaW5hbAorICAgICAgICBQ
YXNzUmVmUHRyIHRoYXQKKwogMjAxMy0xMC0wOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxs
YXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBJbXBsZW1lbnQgc3Vw
cG9ydCBmb3IgZ3JpZC10ZW1wbGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
b3BlZEV2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUu
Y3BwCmluZGV4IDYwMDU1YzVjNjc5NDY3NjBjYzNjNzE0OTU0NDEwOGMyMmExMDBmN2QuLjJhYjhk
OGQ1NjA3ZDFhN2VmYzIxOTA3NjNjZWJlNWIzY2NjZGI5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NvcGVkRXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDggQEAgdm9pZCBTY29wZWRFdmVudFF1
ZXVlOjpkaXNwYXRjaEFsbEV2ZW50cygpCiB2b2lkIFNjb3BlZEV2ZW50UXVldWU6OmRpc3BhdGNo
RXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGV2ZW50
LT50YXJnZXQoKSk7Ci0gICAgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KGV2ZW50LT50
YXJnZXQoKS0+dG9Ob2RlKCksIGV2ZW50KTsKKyAgICBOb2RlKiBub2RlID0gZXZlbnQtPnRhcmdl
dCgpLT50b05vZGUoKTsKKyAgICBFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQobm9kZSwg
ZXZlbnQpOwogfQogCiBTY29wZWRFdmVudFF1ZXVlKiBTY29wZWRFdmVudFF1ZXVlOjppbnN0YW5j
ZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213875</attachid>
            <date>2013-10-10 05:39:47 -0700</date>
            <delta_ts>2013-10-10 06:28:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122592-20131010053946.patch</filename>
            <type>text/plain</type>
            <size>2287</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzNDQ0MjY3YmZmYzRk
YzY0YjI5ZDUxNzU1NDRhOWFlNTIyZDRlYi4uYWVmZDE3Mzg5YmIzNTE1ZjEyZTYyZWMyZWVhNDgw
NjgxYzIzMzBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTEwLTEwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIx
NTcyMTApOiBDcmFzaGVzIGluIFdlYkNvcmU6OlNjb3BlZEV2ZW50UXVldWU6OmRpc3BhdGNoRXZl
bnQgZm9yIHBsYXRmb3JtcyB1c2luZyBHQ0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMjU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NvcGVkRXZlbnRRdWV1ZTo6ZGlzcGF0Y2hFdmVudCk6IFdoZW4gY2FsbGluZyBF
dmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQoKSwgdGhlIEdDQy1jb21waWxlZCBjb2RlCisg
ICAgICAgIGZpcnN0IGNyZWF0ZXMgYSBjb3B5IG9mIHRoZSBQYXNzUmVmUHRyPEV2ZW50PiBvYmpl
Y3QgdGhhdCdzIGJlaW5nIHBhc3NlZCBpbnRvIHRoZSBtZXRob2QgY2FsbC4gVGhlIGNvcHkgd2ls
bCBiZSB1c2VkCisgICAgICAgIGluIHRoYXQgbWV0aG9kIHdoaWxlIHRoZSBvcmlnaW5hbCBpcyBs
ZWZ0IHdpdGggYSBudWxsIHBvaW50ZXIuIE9ubHkgYWZ0ZXIgdGhhdCBpcyB0aGUgb3JpZ2luYWwg
cXVlcmllZCBmb3IgaXRzIHBvaW50ZXIKKyAgICAgICAgd2hpbGUgdHJ5aW5nIHRvIGdldCB0aGUg
RXZlbnQncyB0YXJnZXQsIHJlc3VsdGluZyBpbiBhIGNyYXNoIGR1ZSB0byBjYWxsaW5nIHRoZSBF
dmVudDo6dGFyZ2V0KCkgb24gYSBudWxsIHBvaW50ZXIuCisgICAgICAgIFRvIGF2b2lkIGl0LCBw
YXNzIGEgbmFrZWQgRXZlbnQgcG9pbnRlciB0byB0aGUgbWV0aG9kIGNhbGwuIFRoaXMgd2lsbCBj
cmVhdGUgYSBuZXcgUGFzc1JlZlB0ciBvYmplY3Qgd2l0aG91dCBudWxsaWZ5aW5nCisgICAgICAg
IHRoZSBvcmlnaW5hbCBvbmUuCisKIDIwMTMtMTAtMDggIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxz
dmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91dF0gSW1wbGVtZW50
IHN1cHBvcnQgZm9yIGdyaWQtdGVtcGxhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY29wZWRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1
ZXVlLmNwcAppbmRleCA2MDA1NWM1YzY3OTQ2NzYwY2MzYzcxNDk1NDQxMDhjMjJhMTAwZjdkLi5l
M2RhZGYxNWUwMmI0ZTZjNjg1N2E1NjBjYWQzZjNlZWJjZTZjZDI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSwxMCBAQCB2b2lkIFNjb3BlZEV2
ZW50UXVldWU6OmRpc3BhdGNoQWxsRXZlbnRzKCkKIHZvaWQgU2NvcGVkRXZlbnRRdWV1ZTo6ZGlz
cGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkgY29uc3QKIHsKICAgICBBU1NFUlQo
ZXZlbnQtPnRhcmdldCgpKTsKLSAgICBFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQoZXZl
bnQtPnRhcmdldCgpLT50b05vZGUoKSwgZXZlbnQpOworICAgIC8vIFBhc3NpbmcgYSBuYWtlZCBF
dmVudCBwb2ludGVyIGluc3RlYWQgb2YgdGhlIFBhc3NSZWZQdHI8RXZlbnQ+IHByZXZlbnRzIHRo
ZSBQYXNzUmVmUHRyIGNvcHkKKyAgICAvLyB0aGF0IG51bGxpZmllcyB0aGUgb3JpZ2luYWwgUGFz
c1JlZlB0ci4gVGhpcyBwcmV2ZW50cyBjcmFzaGVzIG9uIEdDQy1jb21waWxlZCBjb2RlIHNpbmNl
CisgICAgLy8gR0NDIGNyZWF0ZXMgdGhlIGNvcHkgZmlyc3QsIHdoaWNoIGxlYXZlcyB0aGUgZXZl
bnQtPnRhcmdldCgpIGNhbGwgdG8gYmUgbWFkZSBvbiBhIG51bGwgcG9pbnRlci4KKyAgICBFdmVu
dERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQoZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKSwgZXZl
bnQuZ2V0KCkpOwogfQogCiBTY29wZWRFdmVudFF1ZXVlKiBTY29wZWRFdmVudFF1ZXVlOjppbnN0
YW5jZSgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>