<?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>218575</bug_id>
          
          <creation_ts>2020-11-04 11:18:14 -0800</creation_ts>
          <short_desc>Debug assert failure in RenderTable::layout()</short_desc>
          <delta_ts>2021-03-23 01:56:41 -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>Printing</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gpoo</cc>
    
    <cc>koivisto</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1704523</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-04 11:18:14 -0800</bug_when>
    <thetext>e.g.

./rendering/RenderTable.cpp(586) : virtual void WebCore::RenderTable::layout()
1   0x3ccc632a9 WTFCrash
2   0x3ae461b8b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x3b2b51640 WebCore::RenderTable::layout()
4   0x3b287396c WebCore::RenderElement::layoutIfNeeded()
5   0x3b2b515e7 WebCore::RenderTable::layout()
6   0x3b293ede2 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&amp;, WebCore::RenderBlockFlow::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;)
7   0x3b293d3a4 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;)
8   0x3b293c186 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
9   0x3b291ee99 WebCore::RenderBlock::layout()
10  0x3b293ede2 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&amp;, WebCore::RenderBlockFlow::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;)
11  0x3b293d3a4 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;)
12  0x3b293c186 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
13  0x3b291ee99 WebCore::RenderBlock::layout()
14  0x3b293ede2 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&amp;, WebCore::RenderBlockFlow::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;)
15  0x3b293d3a4 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;)
16  0x3b293c186 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
17  0x3b291ee99 WebCore::RenderBlock::layout()
18  0x3b2bbdb93 WebCore::RenderView::layout()
19  0x3b2141181 WebCore::FrameViewLayoutContext::layout()
20  0x3b213d683 WebCore::FrameView::forceLayout(bool)
21  0x3b213d0d3 WebCore::FrameView::forceLayoutForPagination(WebCore::FloatSize const&amp;, WebCore::FloatSize const&amp;, float, WebCore::AdjustViewSizeOrNot)
22  0x3b213cc61 WebCore::Frame::setPrinting(bool, WebCore::FloatSize const&amp;, WebCore::FloatSize const&amp;, float, WebCore::AdjustViewSizeOrNot)
23  0x3b224862c WebCore::PrintContext::begin(float, float)
24  0x3a1bada4d WebKit::WebPage::beginPrinting(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;)
25  0x3a1c5f31c void IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;), std::__1::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo&gt;, 0ul, 1ul&gt;(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;), std::__1::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;)
26  0x3a1c5e2b0 void IPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;), std::__1::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt; &gt;(std::__1::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo&gt;&amp;&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;))
27  0x3a1c0f4b9 void IPC::handleMessage&lt;Messages::WebPage::BeginPrinting, WebKit::WebPage, void (WebKit::WebPage::*)(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::ObjectIdentifier&lt;WebCore::FrameIdentifierType&gt;, WebKit::PrintInfo const&amp;))
28  0x3a1c05756 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
29  0x3a1bacd62 WebKit::WebPage::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
30  0x3a0463591 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
31  0x3a16e4727 WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)

&lt;rdar://problem/69563902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704524</commentid>
    <comment_count>1</comment_count>
      <attachid>413187</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-04 11:18:33 -0800</bug_when>
    <thetext>Created attachment 413187
Reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705170</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-11-06 01:33:16 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #1)
&gt; Created attachment 413187 [details]
&gt; Reduced test case

Are we sure the reduced test case is correct?, it isn&apos;t hitting any assertion for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705577</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-07 20:31:06 -0800</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #2)
&gt; (In reply to Ryosuke Niwa from comment #1)
&gt; &gt; Created attachment 413187 [details]
&gt; &gt; Reduced test case
&gt; 
&gt; Are we sure the reduced test case is correct?, it isn&apos;t hitting any
&gt; assertion for me.

Yes. Are you testing it on macOS or GTK+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705665</commentid>
    <comment_count>4</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-11-09 00:46:37 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #3)
&gt; (In reply to Sergio Villar Senin from comment #2)
&gt; &gt; (In reply to Ryosuke Niwa from comment #1)
&gt; &gt; &gt; Created attachment 413187 [details]
&gt; &gt; &gt; Reduced test case
&gt; &gt; 
&gt; &gt; Are we sure the reduced test case is correct?, it isn&apos;t hitting any
&gt; &gt; assertion for me.
&gt; 
&gt; Yes. Are you testing it on macOS or GTK+?

I&apos;ve tried with both GTK and WPE. I&apos;ll try with macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706394</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-11-11 01:40:15 -0800</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #4)
&gt; (In reply to Ryosuke Niwa from comment #3)
&gt; &gt; (In reply to Sergio Villar Senin from comment #2)
&gt; &gt; &gt; (In reply to Ryosuke Niwa from comment #1)
&gt; &gt; &gt; &gt; Created attachment 413187 [details]
&gt; &gt; &gt; &gt; Reduced test case
&gt; &gt; &gt; 
&gt; &gt; &gt; Are we sure the reduced test case is correct?, it isn&apos;t hitting any
&gt; &gt; &gt; assertion for me.
&gt; &gt; 
&gt; &gt; Yes. Are you testing it on macOS or GTK+?
&gt; 
&gt; I&apos;ve tried with both GTK and WPE. I&apos;ll try with macOS.

Nevermind. I was testing with MiniBrowser and it was working fine, but it looks like it reliably crashes with RWT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706733</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-11 19:02:50 -0800</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #5)
&gt; (In reply to Sergio Villar Senin from comment #4)
&gt; &gt; (In reply to Ryosuke Niwa from comment #3)
&gt; &gt; &gt; (In reply to Sergio Villar Senin from comment #2)
&gt; &gt; &gt; &gt; (In reply to Ryosuke Niwa from comment #1)
&gt; &gt; &gt; &gt; &gt; Created attachment 413187 [details]
&gt; &gt; &gt; &gt; &gt; Reduced test case
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Are we sure the reduced test case is correct?, it isn&apos;t hitting any
&gt; &gt; &gt; &gt; assertion for me.
&gt; &gt; &gt; 
&gt; &gt; &gt; Yes. Are you testing it on macOS or GTK+?
&gt; &gt; 
&gt; &gt; I&apos;ve tried with both GTK and WPE. I&apos;ll try with macOS.
&gt; 
&gt; Nevermind. I was testing with MiniBrowser and it was working fine, but it
&gt; looks like it reliably crashes with RWT.

Ah, makes sense. Yeah, most of these fuzzer bugs require WKTR to reproduce.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706981</commentid>
    <comment_count>7</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-11-12 12:49:21 -0800</bug_when>
    <thetext>I do see the crash on OS X:
SHOULD NEVER BE REACHED
./rendering/RenderTable.cpp(586) : virtual void WebCore::RenderTable::layout()
1   0x558117309 WTFCrash
2   0x51d275c40 canLoad_libAccessibility__AXSIsolatedTreeMode
3   0x528fa2613 WebCore::RenderTable::layout()
4   0x528624ed0 WebCore::RenderElement::layoutIfNeeded()
etc...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724648</commentid>
    <comment_count>8</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-02-02 07:09:05 -0800</bug_when>
    <thetext>So apparently this is an instance of bug 174412, we are basically hitting the ASSERT added in bug 174413 to workaround infinite recursion. The patch uploaded to bug 174412 was landed in bug 176219. Would you be able to provide access to bug 176219, so that we have the full context on this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724731</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-02 10:18:24 -0800</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #8)
&gt; So apparently this is an instance of bug 174412, we are basically hitting
&gt; the ASSERT added in bug 174413 to workaround infinite recursion. The patch
&gt; uploaded to bug 174412 was landed in bug 176219. Would you be able to
&gt; provide access to bug 176219, so that we have the full context on this issue?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725608</commentid>
    <comment_count>10</comment_count>
      <attachid>419275</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-02-04 05:45:17 -0800</bug_when>
    <thetext>Created attachment 419275
Reduce test case with table cells satisfying !isBaselineAligned()

This is the same as attachment 413187, but with table cells satisfying !isBaselineAligned() so that layoutBlock happens only once in RenderTableCell::layout(). It still allows to reproduce the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725613</commentid>
    <comment_count>11</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-02-04 06:19:08 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #9)
&gt; (In reply to Frédéric Wang (:fredw) from comment #8)
&gt; &gt; So apparently this is an instance of bug 174412, we are basically hitting
&gt; &gt; the ASSERT added in bug 174413 to workaround infinite recursion. The patch
&gt; &gt; uploaded to bug 174412 was landed in bug 176219. Would you be able to
&gt; &gt; provide access to bug 176219, so that we have the full context on this issue?
&gt; 
&gt; Done.

Thanks. Bug 176219 does not seem to have much info either. Anyway, for the record this is what I&apos;ve found so far for attachment 419275. Any advice would be welcome:

When print() is called, WebCore::RenderTable::layout() is executed in paginated mode. It performs layout of each section at

https://webkit-search.igalia.com/webkit/rev/5edc52e6a4c801295ad3cbf56569dd4a5b738f78/Source/WebCore/rendering/RenderTable.cpp#476

which ends up laying out the cell&apos;s section and setting its height at

https://webkit-search.igalia.com/webkit/rev/5edc52e6a4c801295ad3cbf56569dd4a5b738f78/Source/WebCore/rendering/ComplexLineLayout.cpp#1955

The sections are then positioned at

https://webkit-search.igalia.com/webkit/rev/5edc52e6a4c801295ad3cbf56569dd4a5b738f78/Source/WebCore/rendering/RenderTable.cpp#476

Since the table was previously laid out in non-paginated mode, this detects a section move and we arrive at the code I mentioned in comment 8:

https://webkit-search.igalia.com/webkit/rev/5edc52e6a4c801295ad3cbf56569dd4a5b738f78/Source/WebCore/rendering/RenderTable.cpp#586

Then WebCore::RenderTable::layout() is executed a second time. A difference happens in ComplexLineLayout::determineStartPosition() : for the previous layout paginationDelta was 0 and the line&apos;s paginationStrut had been set accordingly ; for this new layout, the line&apos;s paginationStrut remains nonzero and so the calculated paginationDelta is no longer 0 :

https://webkit-search.igalia.com/webkit/rev/5edc52e6a4c801295ad3cbf56569dd4a5b738f78/Source/WebCore/rendering/ComplexLineLayout.cpp#1855

The adjustBlockDirectionPosition call below then modifies the line&apos;s lineBoxBottom which at the end changes the calculated cell&apos;s height.

Finally the sections are positioned again, a section move detected (due to at least one cell&apos;s height change) and the assertion failure triggered.

I&apos;m not familiar enough with the pagination code to really understand what this code is really doing. However, I see there are pagination-related FIXMEs all over the code, for example these ones (which don&apos;t seem to be involved in the current problem though):

https://webkit-search.igalia.com/webkit/rev/5edc52e6a4c801295ad3cbf56569dd4a5b738f78/Source/WebCore/rendering/RenderTableSection.cpp#593

Additionally, I modified the tests to use 100 sections and noticed that the RenderTable layout does stabilize after ~50 recursions. For completeness, I can also mention that after commenting out the adjustBlockDirectionPosition call, the layout is similar to non-paginated mode and does not recurse/assert.

NB: Similar behavior happens for attachment 413187, but it is a slightly more difficult to debug because RenderTableCell::layout() can lay out its content twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733269</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-02-25 02:36:16 -0800</bug_when>
    <thetext>The problem here is that moving one section affects the table layout, so in the next layout iteration, another section moves. I think this is valid case, it&apos;s really possible to recurse several times. The recursion check was introduced in r219394, but there&apos;s no much information nor a test case, so I don&apos;t know how this can end up in an infinite recursion. Instead of limiting to one recursion, we could allow to recurse for the amount of sections in the table?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733274</commentid>
    <comment_count>13</comment_count>
      <attachid>421513</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-02-25 03:08:15 -0800</bug_when>
    <thetext>Created attachment 421513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739341</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-15 03:10:38 -0700</bug_when>
    <thetext>Ping reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741108</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-18 02:30:01 -0700</bug_when>
    <thetext>Committed r274627: &lt;https://commits.webkit.org/r274627&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421513.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741258</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-18 10:55:41 -0700</bug_when>
    <thetext>Is this a security bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741319</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-18 12:11:24 -0700</bug_when>
    <thetext>If it&apos;s not a security bug, can we also add a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742164</commentid>
    <comment_count>18</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-22 02:32:30 -0700</bug_when>
    <thetext>It doesn&apos;t look like a security issue to me, I&apos;ll submit a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742199</commentid>
    <comment_count>19</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-22 05:26:17 -0700</bug_when>
    <thetext>Reopening to attach a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742200</commentid>
    <comment_count>20</comment_count>
      <attachid>423873</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-22 05:31:04 -0700</bug_when>
    <thetext>Created attachment 423873
Patch to add test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742721</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-23 01:56:38 -0700</bug_when>
    <thetext>Committed r274854: &lt;https://commits.webkit.org/r274854&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423873.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>413187</attachid>
            <date>2020-11-04 11:18:33 -0800</date>
            <delta_ts>2020-11-04 11:18:33 -0800</delta_ts>
            <desc>Reduced test case</desc>
            <filename>bug218575.html</filename>
            <type>text/html</type>
            <size>239</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PHNjcmlwdD4Kb25sb2FkID0gKCkgPT4gewogIGZ1bmN0aW9uIGluc2VydFRib2R5KCkgewogICAg
bGV0IGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGJvZHknKTsKICAgIGQwLmlubmVyVGV4
dCA9ICdhJzsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZDApOwogIH0KCiAgZm9yIChs
ZXQgaT0wOyBpPDc7IGkrKykgewogICAgaW5zZXJ0VGJvZHkoKTsgCiAgfQoKICBwcmludCgpOwp9
Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>419275</attachid>
            <date>2021-02-04 05:45:17 -0800</date>
            <delta_ts>2021-02-04 05:45:17 -0800</delta_ts>
            <desc>Reduce test case with table cells satisfying !isBaselineAligned()</desc>
            <filename>bug218575.html</filename>
            <type>text/html</type>
            <size>285</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">PHNjcmlwdD4Kb25sb2FkID0gKCkgPT4gewogIGZ1bmN0aW9uIGluc2VydFRib2R5KCkgewogICAg
bGV0IGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGJvZHknKTsKICAgIGQwLmlubmVySFRN
TCA9IGA8dHI+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wIj5hPC90ZD48L3RyPmA7CiAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGQwKTsKICB9CgogIGZvciAobGV0IGk9MDsgaTw3
OyBpKyspIHsKICAgIGluc2VydFRib2R5KCk7IAogIH0KCiAgcHJpbnQoKTsKfQo8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421513</attachid>
            <date>2021-02-25 03:08:15 -0800</date>
            <delta_ts>2021-03-18 02:30:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-table-layout-recursion.diff</filename>
            <type>text/plain</type>
            <size>3562</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMmE5MDZjMGFhMjQuLjAwYTI1NDIzNDY2MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIxLTAyLTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBQYWdpbmF0aW9uIG1vZGU6IEluY3JlYXNlIHRoZSBhbW91
bnQgb2YgcmVjdXJzaW9ucyBhbGxvd2VkIGJ5IFJlbmRlclRhYmxlOjpsYXlvdXQoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTc1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcjIxOTM5NCBhIHJl
Y3Vyc2lvbiBjaGVjayB3YXMgaW50cm9kdWNlZCB0byBhdm9pZCBpbmZpbml0ZSByZWN1cnNpb24g
d2hlbiBhIHNlY3Rpb24gaXMgYWx3YXlzIG1vdmVkIG9uCisgICAgICAgIFJlbmRlclRhYmxlOjps
YXlvdXQoKS4gQnV0IHNvbWV0aW1lcyBpdCdzIG5lZWRlZCB0byByZWN1cnNlIG1vcmUgdGhhbiBv
bmNlIHRvIGxheW91dCB0aGUgdGFibGUgd2hlbiBzZWN0aW9uIG1vdmUKKyAgICAgICAgZHVlIHRv
IHRoZSBwYWdpbmF0aW9uLiBUaGlzIHBhdGNoIGxpbWl0cyB0aGUgcmVjdXJzaW9uIGxldmVsIHRv
IHRoZSBhbW91bnQgb2Ygc2VjdGlvbnMgaW4gdGhlIHRhYmxlLCBpbnN0ZWFkIG9mCisgICAgICAg
IGp1c3Qgb25lLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUYWJsZS5oOgorCiAyMDIxLTAyLTI0ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlh
LmNvbT4KIAogICAgICAgICBOdWxscHRyIGNyYXNoIGluIENvbXBvc2l0ZUVkaXRDb21tYW5kOjpz
cGxpdFRyZWVUb05vZGUgdmlhIEluc2VydFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQ6OmRvQXBw
bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IDAyNWE0MzI0
YjkwZS4uYTIxNDhjMjNmNTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAKQEAgLTQzNyw2ICs0MzcsNyBAQCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAg
IHJlY2FsY0JvcmRlcnNJblJvd0RpcmVjdGlvbigpOwogICAgIGJvb2wgc2VjdGlvbk1vdmVkID0g
ZmFsc2U7CiAgICAgTGF5b3V0VW5pdCBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wOworICAgIHVuc2ln
bmVkIHNlY3Rpb25Db3VudCA9IDA7CiAKICAgICBMYXlvdXRSZXBhaW50ZXIgcmVwYWludGVyKCp0
aGlzLCBjaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSk7CiAgICAgewpAQCAtNTM3LDYgKzUz
OCw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgICAgIC8vIHBvc2l0aW9uIHRo
ZSB0YWJsZSBzZWN0aW9ucwogICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb24gPSB0
b3BTZWN0aW9uKCk7CiAgICAgICAgIHdoaWxlIChzZWN0aW9uKSB7CisgICAgICAgICAgICBzZWN0
aW9uQ291bnQrKzsKICAgICAgICAgICAgIGlmICghc2VjdGlvbk1vdmVkICYmIHNlY3Rpb24tPmxv
Z2ljYWxUb3AoKSAhPSBsb2dpY2FsSGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICBzZWN0aW9u
TW92ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AgPSBz
dGQ6Om1pbihsb2dpY2FsSGVpZ2h0KCksIHNlY3Rpb24tPmxvZ2ljYWxUb3AoKSkgKyAoc3R5bGUo
KS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gc2VjdGlvbi0+dmlzdWFsT3ZlcmZsb3dSZWN0
KCkueSgpIDogc2VjdGlvbi0+dmlzdWFsT3ZlcmZsb3dSZWN0KCkueCgpKTsKQEAgLTU4NSw4ICs1
ODcsOCBAQCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAgIGJvb2wgcGFnaW5hdGVkID0g
bGF5b3V0U3RhdGUgJiYgbGF5b3V0U3RhdGUtPmlzUGFnaW5hdGVkKCk7CiAgICAgaWYgKHNlY3Rp
b25Nb3ZlZCAmJiBwYWdpbmF0ZWQpIHsKICAgICAgICAgLy8gRklYTUU6IFRhYmxlIGxheW91dCBz
aG91bGQgYWx3YXlzIHN0YWJpbGl6ZSBldmVuIHdoZW4gc2VjdGlvbiBtb3ZlcyAoc2VlIHdlYmtp
dC5vcmcvYi8xNzQ0MTIpLgotICAgICAgICBpZiAoIW1faW5SZWN1cnNpdmVTZWN0aW9uTW92ZWRX
aXRoUGFnaW5hdGlvbikgewotICAgICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gcGFnaW5hdGVk
U2VjdGlvbk1vdmVkKG1faW5SZWN1cnNpdmVTZWN0aW9uTW92ZWRXaXRoUGFnaW5hdGlvbiwgdHJ1
ZSk7CisgICAgICAgIGlmIChtX3JlY3Vyc2l2ZVNlY3Rpb25Nb3ZlZFdpdGhQYWdpbmF0aW9uTGV2
ZWwgPCBzZWN0aW9uQ291bnQpIHsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPHVuc2lnbmVkPiBy
ZWN1cnNpdmVTZWN0aW9uTW92ZWRXaXRoUGFnaW5hdGlvbkxldmVsKG1fcmVjdXJzaXZlU2VjdGlv
bk1vdmVkV2l0aFBhZ2luYXRpb25MZXZlbCwgbV9yZWN1cnNpdmVTZWN0aW9uTW92ZWRXaXRoUGFn
aW5hdGlvbkxldmVsICsgMSk7CiAgICAgICAgICAgICBtYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0
SWZOZWVkZWQoKTsKICAgICAgICAgICAgIGxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIH0gZWxz
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAppbmRleCBhZTU5OGNmZGNmNGUu
LjZmZTBjYWQyNTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKQEAg
LTM2OSw3ICszNjksNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgbV9ib3JkZXJFbmQ7CiAg
ICAgbXV0YWJsZSBMYXlvdXRVbml0IG1fY29sdW1uT2Zmc2V0VG9wOwogICAgIG11dGFibGUgTGF5
b3V0VW5pdCBtX2NvbHVtbk9mZnNldEhlaWdodDsKLSAgICBib29sIG1faW5SZWN1cnNpdmVTZWN0
aW9uTW92ZWRXaXRoUGFnaW5hdGlvbiB7IGZhbHNlIH07CisgICAgdW5zaWduZWQgbV9yZWN1cnNp
dmVTZWN0aW9uTW92ZWRXaXRoUGFnaW5hdGlvbkxldmVsIHsgMCB9OwogfTsKIAogaW5saW5lIGJv
b2wgaXNEaXJlY3Rpb25TYW1lKGNvbnN0IFJlbmRlckJveCogdGFibGVJdGVtLCBjb25zdCBSZW5k
ZXJCb3gqIG90aGVyVGFibGVJdGVtKSB7IHJldHVybiB0YWJsZUl0ZW0gJiYgb3RoZXJUYWJsZUl0
ZW0gPyB0YWJsZUl0ZW0tPnN0eWxlKCkuZGlyZWN0aW9uKCkgPT0gb3RoZXJUYWJsZUl0ZW0tPnN0
eWxlKCkuZGlyZWN0aW9uKCkgOiB0cnVlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423873</attachid>
            <date>2021-03-22 05:31:04 -0700</date>
            <delta_ts>2021-03-23 01:56:39 -0700</delta_ts>
            <desc>Patch to add test</desc>
            <filename>wk-page-break-table-sections-crash.diff</filename>
            <type>text/plain</type>
            <size>1696</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NjdiYTQ4MzYwYWQuLjcxMTY1MDE1OGM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIxLTAzLTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBEZWJ1ZyBhc3NlcnQgZmFpbHVyZSBpbiBSZW5kZXJUYWJsZTo6bGF5b3V0KCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODU3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRl
c3QgZm9yIHIyNzQ2MjcuCisKKyAgICAgICAgKiBwcmludGluZy9wYWdlLWJyZWFrLXRhYmxlLXNl
Y3Rpb25zLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcGFn
ZS1icmVhay10YWJsZS1zZWN0aW9ucy1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wMy0xOSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWJhdWRp
byB3ZWItcGxhdGZvcm0tdGVzdHMgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcHJpbnRpbmcvcGFnZS1icmVhay10YWJsZS1zZWN0aW9ucy1jcmFzaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJyZWFrLXRhYmxlLXNlY3Rpb25zLWNyYXNoLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZkMjZm
ZTg4MzM2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtYnJl
YWstdGFibGUtc2VjdGlvbnMtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUAor
QQorUworUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay10YWJs
ZS1zZWN0aW9ucy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay10
YWJsZS1zZWN0aW9ucy1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uMDhiMzQ2NzE3ZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJp
bnRpbmcvcGFnZS1icmVhay10YWJsZS1zZWN0aW9ucy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMTUg
QEAKKzx0YWJsZT4KKyAgPHRib2R5Pjx0cj48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3Ai
PlA8L3RkPjwvdHI+PC90Ym9keT4KKyAgPHRib2R5Pjx0cj48dGQgc3R5bGU9InZlcnRpY2FsLWFs
aWduOiB0b3AiPkE8L3RkPjwvdHI+PC90Ym9keT4KKyAgPHRib2R5Pjx0cj48dGQgc3R5bGU9InZl
cnRpY2FsLWFsaWduOiB0b3AiPlM8L3RkPjwvdHI+PC90Ym9keT4KKyAgPHRib2R5Pjx0cj48dGQg
c3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3AiPlM8L3RkPjwvdHI+PC90Ym9keT4KKzwvdGFibGU+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworCitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0UHJpbnRp
bmcoMjEsIDI5KTsKK2Vsc2UKKyAgICBwcmludCgpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>