<?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>137273</bug_id>
          
          <creation_ts>2014-09-30 15:11:40 -0700</creation_ts>
          <short_desc>Descendant is being put into the wrong flow thread with nested columns and spans</short_desc>
          <delta_ts>2015-02-16 10:07:04 -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>Layout and Rendering</component>
          <version>528+ (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=141612</see_also>
          <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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>abucur</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mihnea</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1038370</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-09-30 15:11:40 -0700</bug_when>
    <thetext>Descendant is being put into the wrong flow thread with nested columns and spans. See the FIXME in isValidColumnSpanner in RenderMultiColumnFlowThread.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046300</commentid>
    <comment_count>1</comment_count>
      <attachid>240986</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-11-04 17:20:46 -0800</bug_when>
    <thetext>Created attachment 240986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046486</commentid>
    <comment_count>2</comment_count>
      <attachid>240986</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-05 09:11:58 -0800</bug_when>
    <thetext>Comment on attachment 240986
Patch

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

&gt; Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:387
&gt; +                placeholder.parent()-&gt;removeChild(placeholder);

I think you want a &quot;// FIXME: placeholder is leaked&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046487</commentid>
    <comment_count>3</comment_count>
      <attachid>240986</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-11-05 09:14:19 -0800</bug_when>
    <thetext>Comment on attachment 240986
Patch

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

&gt; Source/WebCore/ChangeLog:20
&gt; +        The second fix was to stop destroying the placeholder. Since the placeholder can just have been inserted, you
&gt; +        can&apos;t delete it, since otherwise code further up the stack will access the deleted object. For now, we just
&gt; +        leak the placeholder.

Would using a RenderPtr&lt;&gt; for the placeholder (née descendant) fix the leak/object lifetime?

&gt;&gt; Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:387
&gt;&gt; -                ancestorBlock.multiColumnFlowThread()-&gt;handleSpannerRemoval(spanner);
&gt;&gt; -                placeholder.destroy();
&gt;&gt; -                
&gt;&gt; +                if (subtreeRoot == descendant)
&gt;&gt; +                    subtreeRoot = spanner;
&gt;&gt; +                placeholder.parent()-&gt;removeChild(placeholder);
&gt; 
&gt; I think you want a &quot;// FIXME: placeholder is leaked&quot; here.

And a new bug number that tracks the leak please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046589</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-11-05 13:26:43 -0800</bug_when>
    <thetext>Fixed in r175641.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046590</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-11-05 13:27:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/18885189&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066620</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-03 15:49:39 -0800</bug_when>
    <thetext>*** Bug 137316 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240986</attachid>
            <date>2014-11-04 17:20:46 -0800</date>
            <delta_ts>2014-11-05 09:11:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4943</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTU5MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTExLTA0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBEZXNjZW5kYW50IGVuZHMgdXAgaW4g
d3JvbmcgZmxvdyB0aHJlYWQgd2l0aCBuZXN0ZWQgY29sdW1ucyBhbmQgc3BhbnMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcyNzMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXBwZWQgdGhlIHR3
byBwcm9ibGVtYXRpYyBzcGFuIHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1ZhbGlkQ29sdW1u
U3Bhbm5lcik6CisgICAgICAgIFJlbW92ZSB0aGUgZ3VhcmQgYW5kIGNvbW1lbnQgYW5kIGFkZGVk
IHRoZSBhc3NlcnRpb24gYmFjayBpbi4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlD
b2x1bW5GbG93VGhyZWFkOjpmbG93VGhyZWFkRGVzY2VuZGFudEluc2VydGVkKToKKyAgICAgICAg
Q2hhbmdlZCB0byBubyBsb25nZXIgdXNlIGhhbmRsZVNwYW5uZXJSZW1vdmFsLiBCZWNhdXNlIHRo
ZSBzcGFubmVyIHdhcyByZW1vdmVkIGZyb20gdGhlIGZsb3cgdGhyZWFkJ3MgbWFwLAorICAgICAg
ICBoYW5kbGVTcGFubmVyUmVtb3ZhbCB3YXMgYSBuby1vcC4gU28gaW5zdGVhZCBJIGp1c3QgcmVt
b3ZlZCB0aGUgcGxhY2Vob2xkZXIgYnkgaGFuZC4KKworICAgICAgICBUaGUgc2Vjb25kIGZpeCB3
YXMgdG8gc3RvcCBkZXN0cm95aW5nIHRoZSBwbGFjZWhvbGRlci4gU2luY2UgdGhlIHBsYWNlaG9s
ZGVyIGNhbiBqdXN0IGhhdmUgYmVlbiBpbnNlcnRlZCwgeW91CisgICAgICAgIGNhbid0IGRlbGV0
ZSBpdCwgc2luY2Ugb3RoZXJ3aXNlIGNvZGUgZnVydGhlciB1cCB0aGUgc3RhY2sgd2lsbCBhY2Nl
c3MgdGhlIGRlbGV0ZWQgb2JqZWN0LiBGb3Igbm93LCB3ZSBqdXN0CisgICAgICAgIGxlYWsgdGhl
IHBsYWNlaG9sZGVyLgorCiAyMDE0LTExLTA0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUGF1c2Ugb24gZXhjZXB0aW9ucyBz
aG91bGQgc2hvdyB0aGUgYWN0dWFsIGV4Y2VwdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5jcHAJKHJl
dmlzaW9uIDE3NTU1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtbkZsb3dUaHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsMTIgKzI0Miw4IEBAIFJl
bmRlck9iamVjdCogUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWEKIHN0YXRpYyBib29sIGlzVmFs
aWRDb2x1bW5TcGFubmVyKFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZCogZmxvd1RocmVhZCwg
UmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50KQogewogICAgIC8vIFdlIGFzc3VtZSB0aGF0IHdlJ3Jl
IGluc2lkZSB0aGUgZmxvdyB0aHJlYWQuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHRvIGJlIGNhbGxl
ZCBvdGhlcndpc2UuCi0gICAgLy8gQVNTRVJUKGRlc2NlbmRhbnQtPmlzRGVzY2VuZGFudE9mKGZs
b3dUaHJlYWQpKTsKLSAgICAvLyBGSVhNRTogUHV0IHRoaXMgYmFjayBpbiB3aGVuIHdlIGZpZ3Vy
ZSBvdXQgd2h5IHNwYW5uZXItY3Jhc2guaHRtbCBpcyB0cmlnZ2VyaW5nIGl0LgotICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MjczCi0gICAgaWYg
KCFkZXNjZW5kYW50LT5pc0Rlc2NlbmRhbnRPZihmbG93VGhyZWFkKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIAorICAgIEFTU0VSVChkZXNjZW5kYW50LT5pc0Rlc2NlbmRhbnRPZihmbG93
VGhyZWFkKSk7CisKICAgICAvLyBGaXJzdCBtYWtlIHN1cmUgdGhhdCB0aGUgcmVuZGVyZXIgaXRz
ZWxmIGhhcyB0aGUgcmlnaHQgcHJvcGVydGllcyBmb3IgYmVjb21pbmcgYSBzcGFubmVyLgogICAg
IFJlbmRlclN0eWxlJiBzdHlsZSA9IGRlc2NlbmRhbnQtPnN0eWxlKCk7CiAgICAgaWYgKHN0eWxl
LmNvbHVtblNwYW4oKSAhPSBDb2x1bW5TcGFuQWxsIHx8ICFpczxSZW5kZXJCb3g+KCpkZXNjZW5k
YW50KSB8fCBkZXNjZW5kYW50LT5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCkBA
IC0zODYsOSArMzgyLDEwIEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkOjpmbG93
VGgKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIG51a2Ug
dGhlIHBsYWNlaG9sZGVyLCBzaW5jZSB0aGUgYW5jZXN0b3IgYWxyZWFkeSBsb3N0IHRoZSBtYXBw
aW5nIHRvIGl0IHdoZW4KICAgICAgICAgICAgICAgICAvLyB3ZSBzaGlmdGVkIHRoZSBwbGFjZWhv
bGRlciBkb3duIGludG8gdGhpcyBmbG93IHRocmVhZC4KLSAgICAgICAgICAgICAgICBhbmNlc3Rv
ckJsb2NrLm11bHRpQ29sdW1uRmxvd1RocmVhZCgpLT5oYW5kbGVTcGFubmVyUmVtb3ZhbChzcGFu
bmVyKTsKLSAgICAgICAgICAgICAgICBwbGFjZWhvbGRlci5kZXN0cm95KCk7Ci0gICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgaWYgKHN1YnRyZWVSb290ID09IGRlc2NlbmRhbnQpCisg
ICAgICAgICAgICAgICAgICAgIHN1YnRyZWVSb290ID0gc3Bhbm5lcjsKKyAgICAgICAgICAgICAg
ICBwbGFjZWhvbGRlci5wYXJlbnQoKS0+cmVtb3ZlQ2hpbGQocGxhY2Vob2xkZXIpOworCiAgICAg
ICAgICAgICAgICAgLy8gTm93IHdlIHByb2Nlc3MgdGhlIHNwYW5uZXIuCiAgICAgICAgICAgICAg
ICAgZGVzY2VuZGFudCA9IHByb2Nlc3NQb3NzaWJsZVNwYW5uZXJEZXNjZW5kYW50KHN1YnRyZWVS
b290LCBzcGFubmVyKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE3NTU5MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDE0LTExLTA0ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4K
KworICAgICAgICBEZXNjZW5kYW50IGVuZHMgdXAgaW4gd3JvbmcgZmxvdyB0aHJlYWQgd2l0aCBu
ZXN0ZWQgY29sdW1ucyBhbmQgc3BhbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzcyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVbnNraXBwZWQgdGhlIHR3byBwcm9ibGVtYXRpYyBzcGFuIHRlc3Rz
LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNC0xMS0wNCAgTWljaGFlbCBT
YWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIGZsYWtleSBkZmct
aW50OGFycmF5LmpzIGFuZCBkZmctaW50MTZhcnJheS5qcyB0ZXN0cyBmb3IgQVJNNjQKSW5kZXg6
IExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTc1NTU2KQorKysgTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTA0LDggKzEwNCw2IEBAIHdlYmtpdC5vcmcv
Yi83NDE0NCBmYXN0L3JlZ2lvbnMvcmVnaW9uLWMKICMgRXhwYW5kbyBwcm9wZXJ0aWVzIG9uIGF0
dHJpYnV0ZSBub2RlcyBkaXNhcHBlYXIKIHdlYmtpdC5vcmcvYi84ODA0NSBmYXN0L2RvbS9nYy1h
dHRyaWJ1dGUtbm9kZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIAotd2Via2l0Lm9yZy9iLzEzNzMx
NiBmYXN0L211bHRpY29sL25ld211bHRpY29sL3NwYW5uZXItY3Jhc2guaHRtbCBbIENyYXNoIFBh
c3MgXQotCiAjIFRoZXNlIHRlc3RzIGFyZSBpbmNvcnJlY3QgaW4gdGhlIENTUyB0ZXN0IHN1aXRl
IGFuZCBzaG91bGQgYmUgZml4ZWQgdGhlcmUgZmlyc3QuCiBjc3MyLjEvMjAxMTAzMjMvcmVwbGFj
ZWQtaW50cmluc2ljLTAwMS5odG0gWyBGYWlsdXJlIF0KIGNzczIuMS8yMDExMDMyMy9yZXBsYWNl
ZC1pbnRyaW5zaWMtMDAyLmh0bSBbIEZhaWx1cmUgXQpAQCAtMjM5LDcgKzIzNyw1IEBAIHdlYmtp
dC5vcmcvYi8xMzc4ODMgdHJhbnNpdGlvbnMvY29sb3ItdHIKIHdlYmtpdC5vcmcvYi8xMzc4ODMg
dHJhbnNpdGlvbnMvY29sb3ItdHJhbnNpdGlvbi1yb3VuZGluZy5odG1sIFsgRmFpbHVyZSBQYXNz
IF0KIHdlYmtpdC5vcmcvYi8xMzc4ODMgdHJhbnNpdGlvbnMvY3JlYXRlZC13aGlsZS1zdXNwZW5k
ZWQuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAKLXdlYmtpdC5vcmcvYi8xMzgxNDUgZmFzdC9tdWx0
aWNvbC9tdWx0aWNvbC1jcmF6eS1uZXN0aW5nLmh0bWwgWyBTa2lwIF0KLQogIyBUZW1wb3Jhcmls
eSB0dXJuIHRoaXMgb2ZmLiBCYWNrIG9uIHNvb24uCiB3ZWJraXQub3JnL2IvMTM4MzU4IGh0dHAv
dGVzdHMvbXVsdGlwYXJ0L3N0b3AtY3Jhc2guaHRtbCBbIFNraXAgXQo=
</data>
<flag name="review"
          id="265781"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>