<?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>169189</bug_id>
          
          <creation_ts>2017-03-05 16:59:10 -0800</creation_ts>
          <short_desc>Replace debug assertion with release one in Frame::setView()</short_desc>
          <delta_ts>2017-03-07 09:22:43 -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>DOM</component>
          <version>WebKit 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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1283652</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-05 16:59:10 -0800</bug_when>
    <thetext>Replace debug assertion with release one in Frame::setView() to make make sure the document does not have a living render tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283653</commentid>
    <comment_count>1</comment_count>
      <attachid>303486</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-05 17:01:00 -0800</bug_when>
    <thetext>Created attachment 303486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283654</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-05 17:02:34 -0800</bug_when>
    <thetext>I discussed this with Ryosuke and Gavin and they&apos;d prefer to use a RELEASE_ASSERT here, so do I.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283864</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-03-06 12:01:55 -0800</bug_when>
    <thetext>I&apos;m a little worried about this proposed change. We have crash trace reports that indicate that we do get into this state (though perhaps not after your recent changes). Is it really better to crash the user process than it is to do this cleanup?

CurrentlY:
1) If we never encounter this case, the cleanup code doesn&apos;t run.
2) If we do encounter this case, the cleanup code will put us back into a good state.

You are proposing we change to a user-visible crash, which doesn&apos;t seem like an obvious improvement to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284007</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-06 15:28:48 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I&apos;m a little worried about this proposed change. We have crash trace reports
&gt; that indicate that we do get into this state (though perhaps not after your
&gt; recent changes). Is it really better to crash the user process than it is to
&gt; do this cleanup?
&gt; 
&gt; CurrentlY:
&gt; 1) If we never encounter this case, the cleanup code doesn&apos;t run.
&gt; 2) If we do encounter this case, the cleanup code will put us back into a
&gt; good state.

Given that we don&apos;t believe we should ever get into this state, a release assert would be better. If we do get into this state, then we&apos;d know from crash reports.

&gt; You are proposing we change to a user-visible crash, which doesn&apos;t seem like
&gt; an obvious improvement to me.

Given that this &quot;cleanup&quot; has caused regressions elsewhere, I&apos;m not certain that crashing is necessarily worse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284012</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-06 15:32:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I&apos;m a little worried about this proposed change. We have crash trace reports
&gt; that indicate that we do get into this state (though perhaps not after your
&gt; recent changes). Is it really better to crash the user process than it is to
&gt; do this cleanup?
&gt; 
&gt; CurrentlY:
&gt; 1) If we never encounter this case, the cleanup code doesn&apos;t run.
&gt; 2) If we do encounter this case, the cleanup code will put us back into a
&gt; good state.
&gt; 
&gt; You are proposing we change to a user-visible crash, which doesn&apos;t seem like
&gt; an obvious improvement to me.

My opinion is that if it still happens, we want to know sooner rather than later. A release assertion on trunk makes it way more likely for us to find possible remaining cases where this happens after my recent fix.

If it becomes too crashy, we can always roll out this patch to restore stability.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284017</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-06 15:37:01 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; I&apos;m a little worried about this proposed change. We have crash trace reports
&gt; &gt; that indicate that we do get into this state (though perhaps not after your
&gt; &gt; recent changes). Is it really better to crash the user process than it is to
&gt; &gt; do this cleanup?
&gt; &gt; 
&gt; &gt; CurrentlY:
&gt; &gt; 1) If we never encounter this case, the cleanup code doesn&apos;t run.
&gt; &gt; 2) If we do encounter this case, the cleanup code will put us back into a
&gt; &gt; good state.
&gt; &gt; 
&gt; &gt; You are proposing we change to a user-visible crash, which doesn&apos;t seem like
&gt; &gt; an obvious improvement to me.
&gt; 
&gt; My opinion is that if it still happens, we want to know sooner rather than
&gt; later. A release assertion on trunk makes it way more likely for us to find
&gt; possible remaining cases where this happens after my recent fix.
&gt; 
&gt; If it becomes too crashy, we can always roll out this patch to restore
&gt; stability.

Also note that it was easy to get the original test case to crash by modifying it slightly, despite the code reconstructing the render tree. If we arrive at this point with a render tree, it is still likely we&apos;ll crash despite reconstructing a render tree since we would be in a bad state and other places in the code do not handle this bad state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284358</commentid>
    <comment_count>7</comment_count>
      <attachid>303486</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-07 09:22:38 -0800</bug_when>
    <thetext>Comment on attachment 303486
Patch

Clearing flags on attachment: 303486

Committed r213521: &lt;http://trac.webkit.org/changeset/213521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284359</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-07 09:22:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303486</attachid>
            <date>2017-03-05 17:01:00 -0800</date>
            <delta_ts>2017-03-07 09:22:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169189-20170305170058.patch</filename>
            <type>text/plain</type>
            <size>3197</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDcyNTBlMWY2Mzk0ZDI3
YjRmMDNjMDZlZmMxMzljZDE0MGE4Njg5Yy4uODhhMTRmMjYyMjY5OGI3ZjM1NTc2YWFiMGVkNTEy
MGQwMzlhNjRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTAzLTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVwbGFjZSBkZWJ1ZyBhc3Nl
cnRpb24gd2l0aCByZWxlYXNlIG9uZSBpbiBGcmFtZTo6c2V0VmlldygpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkxODkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIGRlYnVnIGFzc2VydGlv
biB3aXRoIHJlbGVhc2Ugb25lIGluIEZyYW1lOjpzZXRWaWV3KCkgdG8gbWFrZSBtYWtlIHN1cmUg
dGhlCisgICAgICAgIGRvY3VtZW50IGRvZXMgbm90IGhhdmUgYSBsaXZpbmcgcmVuZGVyIHRyZWUu
IFRoaXMgd2lsbCBoZWxwIGlkZW50aWZ5IHBvc3NpYmxlCisgICAgICAgIHJlbWFpbmluZyBjYXNl
cyB3aGVyZSB0aGlzIGNhbiBoYXBwZW4uCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEJlY29tZUN1cnJlbnREb2N1bWVudEluVmll
dyk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogcGFnZS9G
cmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0Vmlldyk6CisKIDIwMTctMDMt
MDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xh
cmlmeSBzb21lIHRlcm1pbm9sb2d5IGluIFJlbmRlckxheWVyQmFja2luZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggOWM1MjUzNjc1ZGQ0NjIxZmY1ZDg5NTU5NTFmOWM4ZTgwMWM0NmY1Mi4u
ZTlhZjBjNzJhNDRhMGE1YTk1YmI5MTgyZWM1YzYxMTg4ZThkMGI4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC0yMTgyLDEzICsyMTgyLDYgQEAgdm9pZCBEb2N1bWVudDo6ZnJhbWVEZXN0
cm95ZWQoKQogICAgIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcjo6ZnJhbWVEZXN0cm95ZWQoKTsK
IH0KIAotdm9pZCBEb2N1bWVudDo6ZGlkQmVjb21lQ3VycmVudERvY3VtZW50SW5WaWV3KCkKLXsK
LSAgICBBU1NFUlQodmlldygpKTsKLSAgICBpZiAoIWhhc0xpdmluZ1JlbmRlclRyZWUoKSkKLSAg
ICAgICAgY3JlYXRlUmVuZGVyVHJlZSgpOwotfQotCiB2b2lkIERvY3VtZW50OjphdHRhY2hUb0Nh
Y2hlZEZyYW1lKENhY2hlZEZyYW1lQmFzZSYgY2FjaGVkRnJhbWUpCiB7CiAgICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oY2FjaGVkRnJhbWUuZG9jdW1lbnQoKSA9PSB0aGlzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNzdlMWYzNGZmOTFiMWVlYmJmOGQ2YzYwMmM0YzU2YWU4
ZWE0MmNjMi4uZmQxMDkwMjJlYjJjNzhhNGVhOWU1NzM2ODc4ZDRiMGE5MDVkMzYyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTU1Miw3ICs1NTIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRC
ZWNvbWVDdXJyZW50RG9jdW1lbnRJbkZyYW1lKCk7CiAgICAgdm9pZCBkZXN0cm95UmVuZGVyVHJl
ZSgpOwogICAgIHZvaWQgcHJlcGFyZUZvckRlc3RydWN0aW9uKCk7Ci0gICAgdm9pZCBkaWRCZWNv
bWVDdXJyZW50RG9jdW1lbnRJblZpZXcoKTsKIAogICAgIC8vIE92ZXJyaWRlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgbWV0aG9kcyB0byBkbyBhZGRpdGlvbmFsIHdvcmsKICAgICBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpIGNvbnN0IGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAppbmRleCA0MGUzODdiYjU3YzA1MzdlMmY1ZjhlZTNiYzY2YTBjOGVlYjhi
YTVlLi44ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRjOTA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcApAQCAtMjU1LDE2ICsyNTUsOSBAQCB2b2lkIEZyYW1lOjpzZXRWaWV3KFJlZlB0
cjxGcmFtZVZpZXc+JiYgdmlldykKICAgICBpZiAobV9ldmVudEhhbmRsZXIpCiAgICAgICAgIG1f
ZXZlbnRIYW5kbGVyLT5jbGVhcigpOwogCi0gICAgYm9vbCBoYWRMaXZpbmdSZW5kZXJUcmVlID0g
bV9kb2MgPyBtX2RvYy0+aGFzTGl2aW5nUmVuZGVyVHJlZSgpIDogZmFsc2U7Ci0gICAgLy8gVHJ5
IGFuZCBjYXRjaCBjYXNlcyB3aGVyZSB0aGlzIG1pZ2h0IHN0aWxsIGJlIGhhcHBlbmluZyBhZnRl
ciByMjEzMzExLgotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFoYWRMaXZp
bmdSZW5kZXJUcmVlKTsKLSAgICBpZiAoaGFkTGl2aW5nUmVuZGVyVHJlZSkKLSAgICAgICAgbV9k
b2MtPmRlc3Ryb3lSZW5kZXJUcmVlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1fZG9jIHx8ICFt
X2RvYy0+aGFzTGl2aW5nUmVuZGVyVHJlZSgpKTsKIAogICAgIG1fdmlldyA9IFdURk1vdmUodmll
dyk7Ci0KLSAgICBpZiAoaGFkTGl2aW5nUmVuZGVyVHJlZSAmJiBtX3ZpZXcpCi0gICAgICAgIG1f
ZG9jLT5kaWRCZWNvbWVDdXJyZW50RG9jdW1lbnRJblZpZXcoKTsKICAgICAKICAgICAvLyBPbmx5
IG9uZSBmb3JtIHN1Ym1pc3Npb24gaXMgYWxsb3dlZCBwZXIgdmlldyBvZiBhIHBhcnQuCiAgICAg
Ly8gU2luY2UgdGhpcyBwYXJ0IG1heSBiZSBnZXR0aW5nIHJldXNlZCBhcyBhIHJlc3VsdCBvZiBi
ZWluZwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>