<?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>171643</bug_id>
          
          <creation_ts>2017-05-03 20:17:39 -0700</creation_ts>
          <short_desc>Should never hit layout while updating the render tree.</short_desc>
          <delta_ts>2017-05-04 23:48:37 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=171717</see_also>
          <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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1304483</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-05-03 20:17:39 -0700</bug_when>
    <thetext>Running layout on a half-backed tree is not the greatest idea. We&apos;d better ASSERT on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304486</commentid>
    <comment_count>1</comment_count>
      <attachid>309007</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-05-03 20:24:31 -0700</bug_when>
    <thetext>Created attachment 309007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304494</commentid>
    <comment_count>2</comment_count>
      <attachid>309007</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-05-03 21:03:47 -0700</bug_when>
    <thetext>Comment on attachment 309007
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:1291
&gt; +    ASSERT(!frame().document()-&gt;inRenderTreeUpdate());

Should this be a release assert so we can&apos;t continue if this happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304498</commentid>
    <comment_count>3</comment_count>
      <attachid>309007</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-03 21:12:18 -0700</bug_when>
    <thetext>Comment on attachment 309007
Patch

What about asserting about layouts in render tree update, and about style recall in render tree update?

Seems like we really want to have more stateful asserting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304500</commentid>
    <comment_count>4</comment_count>
      <attachid>309007</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-05-03 21:16:05 -0700</bug_when>
    <thetext>Comment on attachment 309007
Patch

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

&gt;&gt; Source/WebCore/page/FrameView.cpp:1291
&gt;&gt; +    ASSERT(!frame().document()-&gt;inRenderTreeUpdate());
&gt; 
&gt; Should this be a release assert so we can&apos;t continue if this happens?

That might work too (though we could actually finish the layout just fine), but it should be at least assertion with security implication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304503</commentid>
    <comment_count>5</comment_count>
      <attachid>309009</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-05-03 21:18:16 -0700</bug_when>
    <thetext>Created attachment 309009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304621</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-05-04 08:03:08 -0700</bug_when>
    <thetext>(In reply to zalan from comment #4)
&gt; Comment on attachment 309007 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=309007&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/page/FrameView.cpp:1291
&gt; &gt;&gt; +    ASSERT(!frame().document()-&gt;inRenderTreeUpdate());
&gt; &gt; 
&gt; &gt; Should this be a release assert so we can&apos;t continue if this happens?
&gt; 
&gt; That might work too (though we could actually finish the layout just fine),
&gt; but it should be at least assertion with security implication.
Actually I think this should be part of the &quot;why don&apos;t we turn all assert_with_security_implication into release asserts&quot; conversation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304712</commentid>
    <comment_count>7</comment_count>
      <attachid>309009</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-04 11:27:12 -0700</bug_when>
    <thetext>Comment on attachment 309009
Patch

Clearing flags on attachment: 309009

Committed r216196: &lt;http://trac.webkit.org/changeset/216196&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304713</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-04 11:27:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309007</attachid>
            <date>2017-05-03 20:24:31 -0700</date>
            <delta_ts>2017-05-03 21:18:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171643-20170503202430.patch</filename>
            <type>text/plain</type>
            <size>1587</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAzNjZmYzFmMzg0MzY5
YThjNmMzYTMwODRkNzFkZWY1Mzk3NDNmZC4uZDBiNDg0NjU3NTQ1ZTU0N2YxNWQ1OWFkMmEyOTEx
NmY2MDkzZjY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE3LTA1LTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgU2hvdWxkIG5ldmVyIGhpdCBs
YXlvdXQgd2hpbGUgdXBkYXRpbmcgdGhlIHJlbmRlciB0cmVlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNjQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5aW5nIG91dCBhIGhhbGYtYmFrZWQgcmVu
ZGVyIHRyZWUgaXMgbm90IGEgZ3JlYXQgaWRlYS4gRXNwZWNpYWxseSBjb25zaWRlcmluZworICAg
ICAgICB0aGF0IGxheW91dCAoc2FkbHkpIGNhbiBtdXRhdGUgdGhlIHJlbmRlciB0cmVlLiAgCisK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmxheW91dCk6CisKKzIwMTctMDUtMDMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKwogICAgICAgICBTZWFyY2hJbnB1dFR5cGUgY291bGQgZW5kIHVwIHdpdGggYSBtaXNtYXRj
aGVkIHJlbmRlcmVyLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcxNTQ3CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTkzNTA0Nz4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAppbmRleCBjZTg3YzYyMzlmMDAxYzI0YzY5OWI0ZTA0MWJlYTVjMTIw
NDEzOWYwLi44YTc3M2RiNjc1NDM3MzM2MjhiYjk4YTRmZjFlZWNhOTFhODEyY2ZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMjg4LDYgKzEyODgsOCBAQCBpbmxpbmUgdm9pZCBG
cmFtZVZpZXc6OmZvcmNlTGF5b3V0UGFyZW50Vmlld0lmTmVlZGVkKCkKIAogdm9pZCBGcmFtZVZp
ZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKIHsKKyAgICBBU1NFUlQoIWZyYW1lKCkuZG9j
dW1lbnQoKS0+aW5SZW5kZXJUcmVlVXBkYXRlKCkpOworCiAgICAgTE9HKExheW91dCwgIkZyYW1l
VmlldyAlcCAoJWR4JWQpIGxheW91dCwgbWFpbiBmcmFtZXZpZXcgJWQsIGFsbG93U3VidHJlZT0l
ZCIsIHRoaXMsIHNpemUoKS53aWR0aCgpLCBzaXplKCkuaGVpZ2h0KCksIGZyYW1lKCkuaXNNYWlu
RnJhbWUoKSwgYWxsb3dTdWJ0cmVlKTsKICAgICBpZiAoaXNJblJlbmRlclRyZWVMYXlvdXQoKSkg
ewogICAgICAgICBMT0coTGF5b3V0LCAiICBpbiBsYXlvdXQsIGJhaWxpbmciKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309009</attachid>
            <date>2017-05-03 21:18:16 -0700</date>
            <delta_ts>2017-05-04 11:27:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171643-20170503211815.patch</filename>
            <type>text/plain</type>
            <size>1613</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAzNjZmYzFmMzg0MzY5
YThjNmMzYTMwODRkNzFkZWY1Mzk3NDNmZC4uZDBiNDg0NjU3NTQ1ZTU0N2YxNWQ1OWFkMmEyOTEx
NmY2MDkzZjY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE3LTA1LTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgU2hvdWxkIG5ldmVyIGhpdCBs
YXlvdXQgd2hpbGUgdXBkYXRpbmcgdGhlIHJlbmRlciB0cmVlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNjQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5aW5nIG91dCBhIGhhbGYtYmFrZWQgcmVu
ZGVyIHRyZWUgaXMgbm90IGEgZ3JlYXQgaWRlYS4gRXNwZWNpYWxseSBjb25zaWRlcmluZworICAg
ICAgICB0aGF0IGxheW91dCAoc2FkbHkpIGNhbiBtdXRhdGUgdGhlIHJlbmRlciB0cmVlLiAgCisK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmxheW91dCk6CisKKzIwMTctMDUtMDMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKwogICAgICAgICBTZWFyY2hJbnB1dFR5cGUgY291bGQgZW5kIHVwIHdpdGggYSBtaXNtYXRj
aGVkIHJlbmRlcmVyLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcxNTQ3CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTkzNTA0Nz4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAppbmRleCBjZTg3YzYyMzlmMDAxYzI0YzY5OWI0ZTA0MWJlYTVjMTIw
NDEzOWYwLi42NzE5ZTkwNjEwNTRiYjVjOTU2YjMxZTRmOTZkY2I5OTdiNmVlMmQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMjg4LDYgKzEyODgsOCBAQCBpbmxpbmUgdm9pZCBG
cmFtZVZpZXc6OmZvcmNlTGF5b3V0UGFyZW50Vmlld0lmTmVlZGVkKCkKIAogdm9pZCBGcmFtZVZp
ZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKIHsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighZnJhbWUoKS5kb2N1bWVudCgpLT5pblJlbmRlclRyZWVVcGRhdGUoKSk7
CisKICAgICBMT0coTGF5b3V0LCAiRnJhbWVWaWV3ICVwICglZHglZCkgbGF5b3V0LCBtYWluIGZy
YW1ldmlldyAlZCwgYWxsb3dTdWJ0cmVlPSVkIiwgdGhpcywgc2l6ZSgpLndpZHRoKCksIHNpemUo
KS5oZWlnaHQoKSwgZnJhbWUoKS5pc01haW5GcmFtZSgpLCBhbGxvd1N1YnRyZWUpOwogICAgIGlm
IChpc0luUmVuZGVyVHJlZUxheW91dCgpKSB7CiAgICAgICAgIExPRyhMYXlvdXQsICIgIGluIGxh
eW91dCwgYmFpbGluZyIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>