<?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>209312</bug_id>
          
          <creation_ts>2020-03-19 15:13:52 -0700</creation_ts>
          <short_desc>[LFC][IFC] Bail out when busy looping on partial content</short_desc>
          <delta_ts>2020-03-20 07:59:49 -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>
          
          
          <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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</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>1631867</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-19 15:13:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/59954605&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631967</commentid>
    <comment_count>1</comment_count>
      <attachid>394059</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-19 20:01:13 -0700</bug_when>
    <thetext>Created attachment 394059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631973</commentid>
    <comment_count>2</comment_count>
      <attachid>394059</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-19 20:09:22 -0700</bug_when>
    <thetext>Comment on attachment 394059
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [LFC][IFC] Bail out when busy looping on partial content

&quot;Avoid infinite loop when...&quot;

&gt; Source/WebCore/ChangeLog:9
&gt; +        Speculative fix to address busy looping/running out of inline run vector capacity at InlineFormattingContext::setDisplayBoxesForLine.

&quot;busy looping&quot; sounds like something that happens over time. Is it really an infinite loop?

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:162
&gt; +                // &quot;sp&lt;-&gt;litcontent&quot; -&gt; overflow length: 10 -&gt; leading partial content length: 10.

Weird comment.

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:175
&gt; +                    ASSERT_NOT_REACHED();
&gt; +                    // Move over to the next run if we are stuck on this partial content (when the overflow content length remains the same).
&gt; +                    // We certainly lose some content, but we would be busy looping anyway.
&gt; +                    previousLineEnd = PreviousLineEnd { trailingRunIndex, { } };
&gt; +                    layoutRange.start = previousLineEnd-&gt;runIndex + 1;

Weird to assert and then run code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632076</commentid>
    <comment_count>3</comment_count>
      <attachid>394081</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-20 07:32:57 -0700</bug_when>
    <thetext>Created attachment 394081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632080</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-20 07:59:49 -0700</bug_when>
    <thetext>Committed r258761: &lt;https://trac.webkit.org/changeset/258761&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394081.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394059</attachid>
            <date>2020-03-19 20:01:13 -0700</date>
            <delta_ts>2020-03-20 07:32:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209312-20200319200112.patch</filename>
            <type>text/plain</type>
            <size>6645</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJkOTQ5YWRjODM1YmUx
YzYwNTQ1ZTJmMjU0YjM5NTIyYmNjMjlkZi4uM2I3ZGIzNjA2MWFlZGZiYzNhOGNhZWUxNGYxNzZl
ZTI5OWQ5ZGEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBCYWlsIG91
dCB3aGVuIGJ1c3kgbG9vcGluZyBvbiBwYXJ0aWFsIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTMxMgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNTk5NTQ2MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU3BlY3VsYXRpdmUgZml4IHRvIGFkZHJlc3MgYnVzeSBsb29waW5nL3J1bm5pbmcg
b3V0IG9mIGlubGluZSBydW4gdmVjdG9yIGNhcGFjaXR5IGF0IElubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpzZXREaXNwbGF5Qm94ZXNGb3JMaW5lLgorICAgICAgICAoQ2hlY2tpbmcgaWYgd2UgbWFu
YWdlZCB0byBwcm9ncmVzcyBvbiB0aGUgY29udGVudCB3aGlsZSBoYXZpbmcgcGFydGlhbCBydW5z
LikKKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OmxpbmVMYXlvdXQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xp
bmVMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91
dENvbnRleHQ6Om5leHRDb250ZW50Rm9yTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVMYXlvdXRDb250ZXh0OjpoYW5kbGVGbG9hdHNBbmRJbmxpbmVDb250ZW50KToKKwogMjAy
MC0wMy0xOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtNdWx0
aWNvbHVtbl0gUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1hcmtlciBzaG91bGQgbm90IGZh
aWwgd2hlbiB0aGUgbGlzdCBtYXJrZXIgaXMgaW5zaWRlIGEgc3Bhbm5lci4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA1OWFlODk1ZTM4MWEyZjQ4ODc5NTU5ZTM3NTc3
ODlkYzliNmZiODk1Li41OTc2MWNhOWVlNjA2ODc3OWU1NWE5YjAzNDAzZDhlNWRjOGY1NjhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMzksMjkgKzEzOSw0OSBA
QCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFs
aWRhdGlvblN0YXRlJiBpbnZhbGlkYXRpbwogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVMYXlvdXRDb250ZXh0OjpJ
bmxpbmVJdGVtUmFuZ2UgbGF5b3V0UmFuZ2UsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYg
aG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRzJiB2ZXJ0aWNh
bENvbnN0cmFpbnRzKQogewogICAgIGF1dG8gbGluZUxvZ2ljYWxUb3AgPSB2ZXJ0aWNhbENvbnN0
cmFpbnRzLmxvZ2ljYWxUb3A7Ci0gICAgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aDsKKyAgICBzdHJ1Y3QgUHJldmlvdXNMaW5lRW5kIHsKKyAgICAgICAgdW5z
aWduZWQgcnVuSW5kZXg7CisgICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBvdmVyZmxvd0NvbnRl
bnRMZW5ndGg7CisgICAgfTsKKyAgICBPcHRpb25hbDxQcmV2aW91c0xpbmVFbmQ+IHByZXZpb3Vz
TGluZUVuZDsKICAgICBhdXRvIGxpbmVCdWlsZGVyID0gTGluZUJ1aWxkZXIgeyAqdGhpcywgcm9v
dCgpLnN0eWxlKCkudGV4dEFsaWduKCksIExpbmVCdWlsZGVyOjpJbnRyaW5zaWNTaXppbmc6Ok5v
IH07CiAgICAgYXV0byBsaW5lTGF5b3V0Q29udGV4dCA9IExpbmVMYXlvdXRDb250ZXh0IHsgKnRo
aXMsIHJvb3QoKSwgaW5saW5lSXRlbXMgfTsKIAogICAgIHdoaWxlICghbGF5b3V0UmFuZ2UuaXNF
bXB0eSgpKSB7CiAgICAgICAgIGxpbmVCdWlsZGVyLmluaXRpYWxpemUoY29uc3RyYWludHNGb3JM
aW5lKGhvcml6b250YWxDb25zdHJhaW50cywgbGluZUxvZ2ljYWxUb3ApKTsKLSAgICAgICAgYXV0
byBsaW5lQ29udGVudCA9IGxpbmVMYXlvdXRDb250ZXh0LmxheW91dExpbmUobGluZUJ1aWxkZXIs
IGxheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOworICAgICAgICBhdXRv
IGxpbmVDb250ZW50ID0gbGluZUxheW91dENvbnRleHQubGF5b3V0TGluZShsaW5lQnVpbGRlciwg
bGF5b3V0UmFuZ2UsIHByZXZpb3VzTGluZUVuZCA/IHByZXZpb3VzTGluZUVuZC0+b3ZlcmZsb3dD
b250ZW50TGVuZ3RoIDogV1RGOjpudWxsb3B0KTsKICAgICAgICAgc2V0RGlzcGxheUJveGVzRm9y
TGluZShsaW5lQ29udGVudCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKIAotICAgICAgICBwYXJ0
aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSB7IH07CiAgICAgICAgIGlmIChsaW5lQ29udGVudC50
cmFpbGluZ0lubGluZUl0ZW1JbmRleCkgewogICAgICAgICAgICAgbGluZUxvZ2ljYWxUb3AgPSBs
aW5lQ29udGVudC5saW5lQm94LmxvZ2ljYWxCb3R0b20oKTsKLSAgICAgICAgICAgIC8vIFdoZW4g
dGhlIHRyYWlsaW5nIGNvbnRlbnQgaXMgcGFydGlhbCwgd2UgbmVlZCB0byByZXVzZSB0aGUgbGFz
dCBJbmxpbkl0ZW0uCisgICAgICAgICAgICAvLyBXaGVuIHRoZSB0cmFpbGluZyBjb250ZW50IGlz
IHBhcnRpYWwsIHdlIG5lZWQgdG8gcmV1c2UgdGhlIGxhc3QgSW5saW5lVGV4dEl0ZW0uCisgICAg
ICAgICAgICBhdXRvIHRyYWlsaW5nUnVuSW5kZXggPSAqbGluZUNvbnRlbnQudHJhaWxpbmdJbmxp
bmVJdGVtSW5kZXg7CiAgICAgICAgICAgICBpZiAobGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQp
IHsKLSAgICAgICAgICAgICAgICBsYXlvdXRSYW5nZS5zdGFydCA9ICpsaW5lQ29udGVudC50cmFp
bGluZ0lubGluZUl0ZW1JbmRleDsKKyAgICAgICAgICAgICAgICBBU1NFUlQobGluZUNvbnRlbnQu
cGFydGlhbENvbnRlbnQtPm92ZXJmbG93Q29udGVudExlbmd0aCk7CiAgICAgICAgICAgICAgICAg
Ly8gVHVybiBwcmV2aW91cyBsaW5lJ3Mgb3ZlcmZsb3cgY29udGVudCBsZW5ndGggaW50byB0aGUg
bmV4dCBsaW5lJ3MgbGVhZGluZyBjb250ZW50IHBhcnRpYWwgbGVuZ3RoLgotICAgICAgICAgICAg
ICAgIC8vICJzcDwtPmxpdGNvbnRlbnQiIC0+IG92ZXJmbG93IGxlbmd0aDogMTAgLT4gbGVhZGlu
ZyBwYXJ0aWFsIGNvbnRlbnQgbGVuZ3RoOiAxMC4gCi0gICAgICAgICAgICAgICAgcGFydGlhbExl
YWRpbmdDb250ZW50TGVuZ3RoID0gbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQtPm92ZXJmbG93
Q29udGVudExlbmd0aDsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGxheW91
dFJhbmdlLnN0YXJ0ID0gKmxpbmVDb250ZW50LnRyYWlsaW5nSW5saW5lSXRlbUluZGV4ICsgMTsK
KyAgICAgICAgICAgICAgICAvLyAic3A8LT5saXRjb250ZW50IiAtPiBvdmVyZmxvdyBsZW5ndGg6
IDEwIC0+IGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGxlbmd0aDogMTAuCisgICAgICAgICAgICAg
ICAgYXV0byBpc05ld0lubGluZUNvbnRlbnQgPSAhcHJldmlvdXNMaW5lRW5kCisgICAgICAgICAg
ICAgICAgICAgIHx8IHRyYWlsaW5nUnVuSW5kZXggPiBwcmV2aW91c0xpbmVFbmQtPnJ1bkluZGV4
CisgICAgICAgICAgICAgICAgICAgIHx8IChwcmV2aW91c0xpbmVFbmQtPm92ZXJmbG93Q29udGVu
dExlbmd0aCAmJiAqcHJldmlvdXNMaW5lRW5kLT5vdmVyZmxvd0NvbnRlbnRMZW5ndGggPiBsaW5l
Q29udGVudC5wYXJ0aWFsQ29udGVudC0+b3ZlcmZsb3dDb250ZW50TGVuZ3RoKTsKKyAgICAgICAg
ICAgICAgICBpZiAoaXNOZXdJbmxpbmVDb250ZW50KSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IFN0cmFydCB0aGUgbmV4dCBsaW5lIHdpdGggdGhlIHNhbWUsIHBhcnRpYWwgdHJhaWxpbmcgSW5s
aW5lVGV4dEl0ZW0uCisgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzTGluZUVuZCA9IFByZXZp
b3VzTGluZUVuZCB7IHRyYWlsaW5nUnVuSW5kZXgsIGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50
LT5vdmVyZmxvd0NvbnRlbnRMZW5ndGggfTsKKyAgICAgICAgICAgICAgICAgICAgbGF5b3V0UmFu
Z2Uuc3RhcnQgPSBwcmV2aW91c0xpbmVFbmQtPnJ1bkluZGV4OworICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgICAgICAgICAvLyBNb3ZlIG92ZXIgdG8gdGhlIG5leHQgcnVuIGlmIHdlIGFyZSBzdHVj
ayBvbiB0aGlzIHBhcnRpYWwgY29udGVudCAod2hlbiB0aGUgb3ZlcmZsb3cgY29udGVudCBsZW5n
dGggcmVtYWlucyB0aGUgc2FtZSkuCisgICAgICAgICAgICAgICAgICAgIC8vIFdlIGNlcnRhaW5s
eSBsb3NlIHNvbWUgY29udGVudCwgYnV0IHdlIHdvdWxkIGJlIGJ1c3kgbG9vcGluZyBhbnl3YXku
CisgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzTGluZUVuZCA9IFByZXZpb3VzTGluZUVuZCB7
IHRyYWlsaW5nUnVuSW5kZXgsIHsgfSB9OworICAgICAgICAgICAgICAgICAgICBsYXlvdXRSYW5n
ZS5zdGFydCA9IHByZXZpb3VzTGluZUVuZC0+cnVuSW5kZXggKyAxOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHJldmlvdXNMaW5lRW5k
ID0gUHJldmlvdXNMaW5lRW5kIHsgdHJhaWxpbmdSdW5JbmRleCwgeyB9IH07CisgICAgICAgICAg
ICAgICAgbGF5b3V0UmFuZ2Uuc3RhcnQgPSBwcmV2aW91c0xpbmVFbmQtPnJ1bkluZGV4ICsgMTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAg
IC8vIEZsb2F0cyBwcmV2ZW50ZWQgdXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGluZS4K
KyAgICAgICAgQVNTRVJUKGxpbmVDb250ZW50LnJ1bkxpc3QuaXNFbXB0eSgpKTsKICAgICAgICAg
QVNTRVJUKGxpbmVCdWlsZGVyLmhhc0ludHJ1c2l2ZUZsb2F0KCkpOwogICAgICAgICAvLyBNb3Zl
IHRoZSBuZXh0IGxpbmUgYmVsb3cgdGhlIGludHJ1c2l2ZSBmbG9hdC4KICAgICAgICAgYXV0byBm
bG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyByb290KCksICp0aGlzLCBmb3JtYXR0
aW5nU3RhdGUoKS5mbG9hdGluZ1N0YXRlKCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcAppbmRl
eCA4YzM5ZWUxODcxNzdjMzY0MzBmMTU1ZjJjODEwMGY5N2RiYzVmZTk4Li41YmY3NzE4YmM5NDY0
NmViZmYzMWNkZjE5OWQ3NTRjOWYzNTAzZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCkBA
IC00OTYsNiArNDk2LDcgQEAgTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29u
dGV4dDo6aGFuZGxlRmxvYXRzQW5kSW5saW5lQ29udGVudChMaW5lQnIKIAogICAgICAgICBhdXRv
IHBhcnRpYWxSdW4gPSAqcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnQtPnBhcnRpYWxSdW47
CiAgICAgICAgIGF1dG8mIHRyYWlsaW5nSW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVU
ZXh0SXRlbT4oY2FuZGlkYXRlUnVuc1t0cmFpbGluZ1J1bkluZGV4XS5pbmxpbmVJdGVtKTsKKyAg
ICAgICAgQVNTRVJUKHBhcnRpYWxSdW4ubGVuZ3RoIDwgdHJhaWxpbmdJbmxpbmVUZXh0SXRlbS5s
ZW5ndGgoKSk7CiAgICAgICAgIGF1dG8gb3ZlcmZsb3dMZW5ndGggPSB0cmFpbGluZ0lubGluZVRl
eHRJdGVtLmxlbmd0aCgpIC0gcGFydGlhbFJ1bi5sZW5ndGg7CiAgICAgICAgIHJldHVybiB7IExp
bmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwg
ZmFsc2UgfSwgTGluZUNvbnRlbnQ6OlBhcnRpYWxDb250ZW50IHsgcGFydGlhbFJ1bi5uZWVkc0h5
cGhlbiwgb3ZlcmZsb3dMZW5ndGggfSB9OwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394081</attachid>
            <date>2020-03-20 07:32:57 -0700</date>
            <delta_ts>2020-03-20 07:59:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209312-20200320073256.patch</filename>
            <type>text/plain</type>
            <size>6648</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJkOTQ5YWRjODM1YmUx
YzYwNTQ1ZTJmMjU0YjM5NTIyYmNjMjlkZi4uOWEyZTNlYzE3Y2ZjYjMyODc5MTJmYjE3MDIyZDI2
MWZiNDYwMTA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBBdm9pZCBp
bmZpbml0ZSBsb29wIHdoZW4gc3R1Y2sgb24gcGFydGlhbCBjb250ZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkzMTIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzU5OTU0NjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBTcGVjdWxhdGl2ZSBmaXggdG8gYWRkcmVzcyBpbmZpbml0ZSBsb29wL3J1bm5p
bmcgb3V0IG9mIGlubGluZSBydW4gdmVjdG9yIGNhcGFjaXR5IGF0IElubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpzZXREaXNwbGF5Qm94ZXNGb3JMaW5lLgorICAgICAgICAoQ2hlY2tpbmcgaWYgd2Ug
bWFuYWdlZCB0byBwcm9ncmVzcyBvbiB0aGUgY29udGVudCB3aGlsZSBoYXZpbmcgcGFydGlhbCBy
dW5zLikKKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxpbmVMYXlvdXQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0xpbmVMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxh
eW91dENvbnRleHQ6Om5leHRDb250ZW50Rm9yTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVMYXlvdXRDb250ZXh0OjpoYW5kbGVGbG9hdHNBbmRJbmxpbmVDb250ZW50KToKKwog
MjAyMC0wMy0xOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtN
dWx0aWNvbHVtbl0gUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1hcmtlciBzaG91bGQgbm90
IGZhaWwgd2hlbiB0aGUgbGlzdCBtYXJrZXIgaXMgaW5zaWRlIGEgc3Bhbm5lci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA1OWFlODk1ZTM4MWEyZjQ4ODc5NTU5ZTM3
NTc3ODlkYzliNmZiODk1Li41OTc2MWNhOWVlNjA2ODc3OWU1NWE5YjAzNDAzZDhlNWRjOGY1Njhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMzksMjkgKzEzOSw0
OSBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KElu
dmFsaWRhdGlvblN0YXRlJiBpbnZhbGlkYXRpbwogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVMYXlvdXRDb250ZXh0
OjpJbmxpbmVJdGVtUmFuZ2UgbGF5b3V0UmFuZ2UsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50
cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRzJiB2ZXJ0
aWNhbENvbnN0cmFpbnRzKQogewogICAgIGF1dG8gbGluZUxvZ2ljYWxUb3AgPSB2ZXJ0aWNhbENv
bnN0cmFpbnRzLmxvZ2ljYWxUb3A7Ci0gICAgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aDsKKyAgICBzdHJ1Y3QgUHJldmlvdXNMaW5lRW5kIHsKKyAgICAgICAg
dW5zaWduZWQgcnVuSW5kZXg7CisgICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBvdmVyZmxvd0Nv
bnRlbnRMZW5ndGg7CisgICAgfTsKKyAgICBPcHRpb25hbDxQcmV2aW91c0xpbmVFbmQ+IHByZXZp
b3VzTGluZUVuZDsKICAgICBhdXRvIGxpbmVCdWlsZGVyID0gTGluZUJ1aWxkZXIgeyAqdGhpcywg
cm9vdCgpLnN0eWxlKCkudGV4dEFsaWduKCksIExpbmVCdWlsZGVyOjpJbnRyaW5zaWNTaXppbmc6
Ok5vIH07CiAgICAgYXV0byBsaW5lTGF5b3V0Q29udGV4dCA9IExpbmVMYXlvdXRDb250ZXh0IHsg
KnRoaXMsIHJvb3QoKSwgaW5saW5lSXRlbXMgfTsKIAogICAgIHdoaWxlICghbGF5b3V0UmFuZ2Uu
aXNFbXB0eSgpKSB7CiAgICAgICAgIGxpbmVCdWlsZGVyLmluaXRpYWxpemUoY29uc3RyYWludHNG
b3JMaW5lKGhvcml6b250YWxDb25zdHJhaW50cywgbGluZUxvZ2ljYWxUb3ApKTsKLSAgICAgICAg
YXV0byBsaW5lQ29udGVudCA9IGxpbmVMYXlvdXRDb250ZXh0LmxheW91dExpbmUobGluZUJ1aWxk
ZXIsIGxheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOworICAgICAgICBh
dXRvIGxpbmVDb250ZW50ID0gbGluZUxheW91dENvbnRleHQubGF5b3V0TGluZShsaW5lQnVpbGRl
ciwgbGF5b3V0UmFuZ2UsIHByZXZpb3VzTGluZUVuZCA/IHByZXZpb3VzTGluZUVuZC0+b3ZlcmZs
b3dDb250ZW50TGVuZ3RoIDogV1RGOjpudWxsb3B0KTsKICAgICAgICAgc2V0RGlzcGxheUJveGVz
Rm9yTGluZShsaW5lQ29udGVudCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKIAotICAgICAgICBw
YXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSB7IH07CiAgICAgICAgIGlmIChsaW5lQ29udGVu
dC50cmFpbGluZ0lubGluZUl0ZW1JbmRleCkgewogICAgICAgICAgICAgbGluZUxvZ2ljYWxUb3Ag
PSBsaW5lQ29udGVudC5saW5lQm94LmxvZ2ljYWxCb3R0b20oKTsKLSAgICAgICAgICAgIC8vIFdo
ZW4gdGhlIHRyYWlsaW5nIGNvbnRlbnQgaXMgcGFydGlhbCwgd2UgbmVlZCB0byByZXVzZSB0aGUg
bGFzdCBJbmxpbkl0ZW0uCisgICAgICAgICAgICAvLyBXaGVuIHRoZSB0cmFpbGluZyBjb250ZW50
IGlzIHBhcnRpYWwsIHdlIG5lZWQgdG8gcmV1c2UgdGhlIGxhc3QgSW5saW5lVGV4dEl0ZW0uCisg
ICAgICAgICAgICBhdXRvIHRyYWlsaW5nUnVuSW5kZXggPSAqbGluZUNvbnRlbnQudHJhaWxpbmdJ
bmxpbmVJdGVtSW5kZXg7CiAgICAgICAgICAgICBpZiAobGluZUNvbnRlbnQucGFydGlhbENvbnRl
bnQpIHsKLSAgICAgICAgICAgICAgICBsYXlvdXRSYW5nZS5zdGFydCA9ICpsaW5lQ29udGVudC50
cmFpbGluZ0lubGluZUl0ZW1JbmRleDsKKyAgICAgICAgICAgICAgICBBU1NFUlQobGluZUNvbnRl
bnQucGFydGlhbENvbnRlbnQtPm92ZXJmbG93Q29udGVudExlbmd0aCk7CiAgICAgICAgICAgICAg
ICAgLy8gVHVybiBwcmV2aW91cyBsaW5lJ3Mgb3ZlcmZsb3cgY29udGVudCBsZW5ndGggaW50byB0
aGUgbmV4dCBsaW5lJ3MgbGVhZGluZyBjb250ZW50IHBhcnRpYWwgbGVuZ3RoLgotICAgICAgICAg
ICAgICAgIC8vICJzcDwtPmxpdGNvbnRlbnQiIC0+IG92ZXJmbG93IGxlbmd0aDogMTAgLT4gbGVh
ZGluZyBwYXJ0aWFsIGNvbnRlbnQgbGVuZ3RoOiAxMC4gCi0gICAgICAgICAgICAgICAgcGFydGlh
bExlYWRpbmdDb250ZW50TGVuZ3RoID0gbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQtPm92ZXJm
bG93Q29udGVudExlbmd0aDsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGxh
eW91dFJhbmdlLnN0YXJ0ID0gKmxpbmVDb250ZW50LnRyYWlsaW5nSW5saW5lSXRlbUluZGV4ICsg
MTsKKyAgICAgICAgICAgICAgICAvLyAic3A8LT5saXRjb250ZW50IiAtPiBvdmVyZmxvdyBsZW5n
dGg6IDEwIC0+IGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGxlbmd0aDogMTAuCisgICAgICAgICAg
ICAgICAgYXV0byBpc05ld0lubGluZUNvbnRlbnQgPSAhcHJldmlvdXNMaW5lRW5kCisgICAgICAg
ICAgICAgICAgICAgIHx8IHRyYWlsaW5nUnVuSW5kZXggPiBwcmV2aW91c0xpbmVFbmQtPnJ1bklu
ZGV4CisgICAgICAgICAgICAgICAgICAgIHx8IChwcmV2aW91c0xpbmVFbmQtPm92ZXJmbG93Q29u
dGVudExlbmd0aCAmJiAqcHJldmlvdXNMaW5lRW5kLT5vdmVyZmxvd0NvbnRlbnRMZW5ndGggPiBs
aW5lQ29udGVudC5wYXJ0aWFsQ29udGVudC0+b3ZlcmZsb3dDb250ZW50TGVuZ3RoKTsKKyAgICAg
ICAgICAgICAgICBpZiAoaXNOZXdJbmxpbmVDb250ZW50KSB7CisgICAgICAgICAgICAgICAgICAg
IC8vIFN0cmFydCB0aGUgbmV4dCBsaW5lIHdpdGggdGhlIHNhbWUsIHBhcnRpYWwgdHJhaWxpbmcg
SW5saW5lVGV4dEl0ZW0uCisgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzTGluZUVuZCA9IFBy
ZXZpb3VzTGluZUVuZCB7IHRyYWlsaW5nUnVuSW5kZXgsIGxpbmVDb250ZW50LnBhcnRpYWxDb250
ZW50LT5vdmVyZmxvd0NvbnRlbnRMZW5ndGggfTsKKyAgICAgICAgICAgICAgICAgICAgbGF5b3V0
UmFuZ2Uuc3RhcnQgPSBwcmV2aW91c0xpbmVFbmQtPnJ1bkluZGV4OworICAgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgICAgICAgICAvLyBNb3ZlIG92ZXIgdG8gdGhlIG5leHQgcnVuIGlmIHdlIGFyZSBz
dHVjayBvbiB0aGlzIHBhcnRpYWwgY29udGVudCAod2hlbiB0aGUgb3ZlcmZsb3cgY29udGVudCBs
ZW5ndGggcmVtYWlucyB0aGUgc2FtZSkuCisgICAgICAgICAgICAgICAgICAgIC8vIFdlIGNlcnRh
aW5seSBsb3NlIHNvbWUgY29udGVudCwgYnV0IHdlIHdvdWxkIGJlIGJ1c3kgbG9vcGluZyBhbnl3
YXkuCisgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzTGluZUVuZCA9IFByZXZpb3VzTGluZUVu
ZCB7IHRyYWlsaW5nUnVuSW5kZXgsIHsgfSB9OworICAgICAgICAgICAgICAgICAgICBsYXlvdXRS
YW5nZS5zdGFydCA9IHByZXZpb3VzTGluZUVuZC0+cnVuSW5kZXggKyAxOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHJldmlvdXNMaW5l
RW5kID0gUHJldmlvdXNMaW5lRW5kIHsgdHJhaWxpbmdSdW5JbmRleCwgeyB9IH07CisgICAgICAg
ICAgICAgICAgbGF5b3V0UmFuZ2Uuc3RhcnQgPSBwcmV2aW91c0xpbmVFbmQtPnJ1bkluZGV4ICsg
MTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAg
ICAgIC8vIEZsb2F0cyBwcmV2ZW50ZWQgdXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGlu
ZS4KKyAgICAgICAgQVNTRVJUKGxpbmVDb250ZW50LnJ1bkxpc3QuaXNFbXB0eSgpKTsKICAgICAg
ICAgQVNTRVJUKGxpbmVCdWlsZGVyLmhhc0ludHJ1c2l2ZUZsb2F0KCkpOwogICAgICAgICAvLyBN
b3ZlIHRoZSBuZXh0IGxpbmUgYmVsb3cgdGhlIGludHJ1c2l2ZSBmbG9hdC4KICAgICAgICAgYXV0
byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyByb290KCksICp0aGlzLCBmb3Jt
YXR0aW5nU3RhdGUoKS5mbG9hdGluZ1N0YXRlKCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcApp
bmRleCA4YzM5ZWUxODcxNzdjMzY0MzBmMTU1ZjJjODEwMGY5N2RiYzVmZTk4Li41YmY3NzE4YmM5
NDY0NmViZmYzMWNkZjE5OWQ3NTRjOWYzNTAzZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3Bw
CkBAIC00OTYsNiArNDk2LDcgQEAgTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0
Q29udGV4dDo6aGFuZGxlRmxvYXRzQW5kSW5saW5lQ29udGVudChMaW5lQnIKIAogICAgICAgICBh
dXRvIHBhcnRpYWxSdW4gPSAqcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnQtPnBhcnRpYWxS
dW47CiAgICAgICAgIGF1dG8mIHRyYWlsaW5nSW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxp
bmVUZXh0SXRlbT4oY2FuZGlkYXRlUnVuc1t0cmFpbGluZ1J1bkluZGV4XS5pbmxpbmVJdGVtKTsK
KyAgICAgICAgQVNTRVJUKHBhcnRpYWxSdW4ubGVuZ3RoIDwgdHJhaWxpbmdJbmxpbmVUZXh0SXRl
bS5sZW5ndGgoKSk7CiAgICAgICAgIGF1dG8gb3ZlcmZsb3dMZW5ndGggPSB0cmFpbGluZ0lubGlu
ZVRleHRJdGVtLmxlbmd0aCgpIC0gcGFydGlhbFJ1bi5sZW5ndGg7CiAgICAgICAgIHJldHVybiB7
IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3Vu
dCwgZmFsc2UgfSwgTGluZUNvbnRlbnQ6OlBhcnRpYWxDb250ZW50IHsgcGFydGlhbFJ1bi5uZWVk
c0h5cGhlbiwgb3ZlcmZsb3dMZW5ndGggfSB9OwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>