<?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>213200</bug_id>
          
          <creation_ts>2020-06-15 10:53:52 -0700</creation_ts>
          <short_desc>REGRESSION(r262991): Broke stress/ensure-crash.js</short_desc>
          <delta_ts>2020-06-17 10:47:07 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=213207</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=213223</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="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1662709</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 10:53:52 -0700</bug_when>
    <thetext>Moving from bug #212479. stress/ensure-crash.js is broken since r262991 on Red Hat&apos;s internal cloop CI:

Running stress/ensure-crash.js.default
stress/ensure-crash.js.default: ERROR: Unexpected exit code: 134
FAIL: stress/ensure-crash.js.default
Running stress/ensure-crash.js.mini-mode
stress/ensure-crash.js.mini-mode: ERROR: Unexpected exit code: 134
FAIL: stress/ensure-crash.js.mini-mode

134 - 128 = 6 = SIGABRT on Linux, so the test is failing with SIGABRT. (SIGILL = 4 so if it were to exit with SIGILL its exit status would be 132.) Skimming the commit, I don&apos;t immediately see what could be causing a SIGABRT. I thought the most likely problem was that this change assumes HAVE(MACHINE_CONTEXT) is enabled, but looking in PlatformHave.h, that is not true on two of the four architectures we test (ppc64le and s390x). However, the test is failing in the same way on both x86_64 and aarch64, so that must not be the only problem here. I wonder if it might be related to ENABLE(SIGNAL_BASED_VM_TRAPS), which depends on DFG and is therefore disabled in cloop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662715</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 11:13:46 -0700</bug_when>
    <thetext>Mark says bug #212543 might help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662782</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 13:11:51 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #1)
&gt; Mark says bug #212543 might help.

I was wrong.  212542 won&apos;t help.  But I think I know what&apos;s happening.  Will provide details after I confirm things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662792</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 13:26:46 -0700</bug_when>
    <thetext>The root cause of this is because of https://trac.webkit.org/r238478 i.e. non-darwin ports chooses to implement CRASH() using abort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662827</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 14:31:35 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #3)
&gt; The root cause of this is because of https://trac.webkit.org/r238478 i.e.
&gt; non-darwin ports chooses to implement CRASH() using abort.

We want CRASH() to raise SIGABRT because that&apos;s the expected way to express an assertion failure crash on Linux. Before that commit, it would have been SIGSEGV (not SIGILL).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662830</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 14:32:31 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #4)
&gt; (In reply to Mark Lam from comment #3)
&gt; &gt; The root cause of this is because of https://trac.webkit.org/r238478 i.e.
&gt; &gt; non-darwin ports chooses to implement CRASH() using abort.
&gt; 
&gt; We want CRASH() to raise SIGABRT because that&apos;s the expected way to express
&gt; an assertion failure crash on Linux. Before that commit, it would have been
&gt; SIGSEGV (not SIGILL).

I understand.  I&apos;m investigating a fix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662849</commentid>
    <comment_count>6</comment_count>
      <attachid>401944</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 15:04:34 -0700</bug_when>
    <thetext>Created attachment 401944
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662856</commentid>
    <comment_count>7</comment_count>
      <attachid>401944</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 15:10:31 -0700</bug_when>
    <thetext>Comment on attachment 401944
proposed patch.

Thanks for investigating!

The change looks good, but I don&apos;t think it will fully fix the crash because HAVE(MACHINE_CONTEXT) is false on two of the four tested architectures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662857</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 15:14:58 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #7)
&gt; Comment on attachment 401944 [details]
&gt; proposed patch.
&gt; 
&gt; Thanks for investigating!
&gt; 
&gt; The change looks good, but I don&apos;t think it will fully fix the crash because
&gt; HAVE(MACHINE_CONTEXT) is false on two of the four tested architectures.

I think you&apos;ll just have to skip the tests that expect crashes (this with `//@ crashOK!` at the top) for those platforms.  That is unless they can actually handle signals and for some reason is misclaiming that they !HAVE(MACHINE_CONTEXT).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662858</commentid>
    <comment_count>9</comment_count>
      <attachid>401947</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 15:23:19 -0700</bug_when>
    <thetext>Created attachment 401947
patch for landing.

Thanks for the review.  I&apos;m also going to unskip the ensure-crash.js test for armv7 and mips.  Will let the EWS run on this patch before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662883</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:20:37 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #8)
&gt; I think you&apos;ll just have to skip the tests that expect crashes (this with
&gt; `//@ crashOK!` at the top) for those platforms.  That is unless they can
&gt; actually handle signals and for some reason is misclaiming that they
&gt; !HAVE(MACHINE_CONTEXT).

I can add per-architecture skips if need be, but hopefully there&apos;s a better way. :) TL;DR I think the affected code doesn&apos;t actually need to be guarded by HAVE(MACHINE_CONTEXT) at all?

Signals work the same on all architectures. I can&apos;t imagine how broken things would be if the OS couldn&apos;t handle UNIX signals. :D

PlatformHave.h has this:

#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) &amp;&amp; (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
#define HAVE_MACHINE_CONTEXT 1
#endif

mcontext is actually available on all architectures when the C library is glibc; however, since mcontext is architecture-specific, any code that wants to use it needs to be written separately for each desired architecture. I see JSC&apos;s MachineContext.h includes platform-specific code for many architectures, but there&apos;s no way to make this work for arbitrary architectures. I *personally* only care about a few specific architectures (x86_64, aarch64, ppc64le, and s390x), but since signal handling is not platform-specific and doesn&apos;t require mcontext, ideally we wouldn&apos;t require mcontext at all. Also, I know Igalia cares about non-glibc too; they use either ulibc or muslc (I can never remember which) on some embedded systems. (I think(?) that mcontext is implemented by both of these, but ucontext is probably not, and our MachineContext.h does depend on ucontext.)

Anyway, it looks like the affected code in jsc.cpp does not depend on MachineContext.h at all. It only uses WTF&apos;s Signals.h, which is guarded by HAVE(MACHINE_CONTEXT), but I don&apos;t see why. Guess: it&apos;s guarded by HAVE(MACHINE_CONTEXT) because originally it was only needed for that case? I think we can just remove HAVE(MACHINE_CONTEXT) from the guard... or change it to #if !OS(WINDOWS) or something like that.

Your patch still looks good though, don&apos;t hesitate to land. I&apos;ll cook a patch to change the guards tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662886</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:22:08 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; Your patch still looks good though, don&apos;t hesitate to land. I&apos;ll cook a
&gt; patch to change the guards tomorrow.

Actually let me try uploading an alternate version of your patch with these guards changed and see if it passes EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662890</commentid>
    <comment_count>12</comment_count>
      <attachid>401955</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:29:57 -0700</bug_when>
    <thetext>Created attachment 401955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662891</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:30:45 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #12)
&gt; Created attachment 401955 [details]
&gt; Patch

Let me know what you think of this. I&apos;ll do a local build with HAVE(MACHINE_CONTEXT) disabled now to make sure it actually builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662892</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 16:31:47 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #11)
&gt; (In reply to Michael Catanzaro from comment #10)
&gt; &gt; Your patch still looks good though, don&apos;t hesitate to land. I&apos;ll cook a
&gt; &gt; patch to change the guards tomorrow.
&gt; 
&gt; Actually let me try uploading an alternate version of your patch with these
&gt; guards changed and see if it passes EWS.

I don&apos;t think we should remove HAVE(MACHINE_CONTEXT).  Even on unixes, there&apos;s no guarantee that the struct for the signal context is the same, right?  The platform that opts in to HAVE(MACHINE_CONTEXT) must do the work to make it work first.  It doesn&apos;t make sense to opt all unixes in blindly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662895</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 16:33:22 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #14)
&gt; (In reply to Michael Catanzaro from comment #11)
&gt; &gt; (In reply to Michael Catanzaro from comment #10)
&gt; &gt; &gt; Your patch still looks good though, don&apos;t hesitate to land. I&apos;ll cook a
&gt; &gt; &gt; patch to change the guards tomorrow.
&gt; &gt; 
&gt; &gt; Actually let me try uploading an alternate version of your patch with these
&gt; &gt; guards changed and see if it passes EWS.
&gt; 
&gt; I don&apos;t think we should remove HAVE(MACHINE_CONTEXT).  Even on unixes,
&gt; there&apos;s no guarantee that the struct for the signal context is the same,
&gt; right?  The platform that opts in to HAVE(MACHINE_CONTEXT) must do the work
&gt; to make it work first.  It doesn&apos;t make sense to opt all unixes in blindly.

And please don&apos;t just obsolete my patch and replace it with yours.  Now, my patch won&apos;t get the EWS validation that I put it there for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662896</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:35:47 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #14)
&gt; I don&apos;t think we should remove HAVE(MACHINE_CONTEXT).  Even on unixes,
&gt; there&apos;s no guarantee that the struct for the signal context is the same,
&gt; right? 

The mcontext struct is going to be different on every architecture, but jsc.cpp and Signals.[cpp,h] don&apos;t use it anywhere, so it should be fine. (There is code in JSC that really does depend on mcontext, just not this code.)

Sorry for interfering with your EWS run. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662899</commentid>
    <comment_count>17</comment_count>
      <attachid>401955</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:43:52 -0700</bug_when>
    <thetext>Comment on attachment 401955
Patch

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

&gt; Source/WTF/wtf/threads/Signals.h:28
&gt; -#if USE(PTHREADS) &amp;&amp; HAVE(MACHINE_CONTEXT)
&gt; +#if USE(PTHREADS)

Note this code does not use pthreads either, so really these are not good guards... how about #if !OS(WINDOWS)?

I bet the original usage of these classes in JSC depends on pthreads and mcontext; that&apos;s probably how these guards were originally selected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662900</commentid>
    <comment_count>18</comment_count>
      <attachid>401955</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 16:48:18 -0700</bug_when>
    <thetext>Comment on attachment 401955
Patch

Obsoleting my patch, Mark asked me to use a separate bug to change the guards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662950</commentid>
    <comment_count>19</comment_count>
      <attachid>401947</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-15 20:01:34 -0700</bug_when>
    <thetext>Comment on attachment 401947
patch for landing.

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

&gt; Source/WTF/wtf/threads/Signals.h:53
&gt; +#if !OS(DARWIN)
&gt; +    Abort,
&gt; +#endif

Looking this over again, the #if !OS(DARWIN) guards aren&apos;t really needed in Signals.h. The guards in jsc.cpp should suffice to avoid installing the signal handler on Apple systems. But even then, I guess it wouldn&apos;t hurt to install the SIGABRT handler unconditionally, since the code looks like it&apos;s trying to handle every possible crash signal, and it seems odd for only SIGABRT to be conspicuously missing. (Linux has a couple more crash signals, but they are truly obscure. Is SIGABRT really not common on macOS?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662953</commentid>
    <comment_count>20</comment_count>
      <attachid>401947</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-15 20:08:31 -0700</bug_when>
    <thetext>Comment on attachment 401947
patch for landing.

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

&gt;&gt; Source/WTF/wtf/threads/Signals.h:53
&gt;&gt; +#endif
&gt; 
&gt; Looking this over again, the #if !OS(DARWIN) guards aren&apos;t really needed in Signals.h. The guards in jsc.cpp should suffice to avoid installing the signal handler on Apple systems. But even then, I guess it wouldn&apos;t hurt to install the SIGABRT handler unconditionally, since the code looks like it&apos;s trying to handle every possible crash signal, and it seems odd for only SIGABRT to be conspicuously missing. (Linux has a couple more crash signals, but they are truly obscure. Is SIGABRT really not common on macOS?)

I added it because we deliberately don&apos;t need or want this for OS(DARWIN).  There should never be a test that generates a SIGABRT.  Only non-DARWIN ports will ever encounter SIGABRT by their own choice.  Alternatively, I can make it more restricted to Apple specific platforms.

The purpose of the handler is not to catch all crashes, only crashes that we think we will generate deliberately.  This is facility for testing that expected crash points will crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663010</commentid>
    <comment_count>21</comment_count>
      <attachid>401947</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-16 00:56:09 -0700</bug_when>
    <thetext>Comment on attachment 401947
patch for landing.

armv7 and mips bots are happy.  Landing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663013</commentid>
    <comment_count>22</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-16 00:59:26 -0700</bug_when>
    <thetext>*** Bug 213207 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663022</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-16 01:32:51 -0700</bug_when>
    <thetext>Committed r263082: &lt;https://trac.webkit.org/changeset/263082&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401947.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663023</commentid>
    <comment_count>24</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-16 01:33:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/64397861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663586</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-17 10:47:07 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #0)
&gt; Moving from bug #212479. stress/ensure-crash.js is broken since r262991 on
&gt; Red Hat&apos;s internal cloop CI

I&apos;ve verified this is now fixed with the combination of r263082, r263074, and r263123.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401944</attachid>
            <date>2020-06-15 15:04:34 -0700</date>
            <delta_ts>2020-06-15 15:23:19 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-213200.patch</filename>
            <type>text/plain</type>
            <size>3414</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzMDYyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDIwLTA2LTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgU0lHQUJSVCBoYW5kbGVyIGZvciBub24gT1MoREFSV0lOKSBidWlsZHMgdG8gdGhlIGpzYyBz
aGVsbCB3aXRoIHRoZSAtcyBvcHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTMyMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIG5vbiBPUyhEQVJXSU4pIGJ1
aWxkcyB1c2VzIGFib3J0IGFzIHRoZWlyICJDUkFTSCJpbmcKKyAgICAgICAgbWVjaGFuaXNtLgor
CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKENvbW1hbmRMaW5lOjpwYXJzZUFyZ3VtZW50
cyk6CisKIDIwMjAtMDYtMTUgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIERvIG5vdCBpbnN0YWxsIHRoZSBWTVRyYXBzIHNpZ25hbCBoYW5kbGVyIGlmIE9wdGlvbnM6
OnVzZUpJVD1mYWxzZS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyNjMwNTQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk5
Nyw2ICsyOTk3LDExIEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1lbnRzKGludCBhcmcK
ICAgICAgICAgICAgIGFjdGl2YXRlU2lnbmFsSGFuZGxlcnNGb3IoU2lnbmFsOjpBY2Nlc3NGYXVs
dCk7CiAgICAgICAgICAgICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6RmxvYXRp
bmdQb2ludCk7CiAgICAgICAgICAgICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6
QnJlYWtwb2ludCk7CisKKyNpZiAhT1MoREFSV0lOKQorICAgICAgICAgICAgYWRkU2lnbmFsSGFu
ZGxlcihTaWduYWw6OkFib3J0LCBTaWduYWxIYW5kbGVyKGV4aXQpKTsKKyAgICAgICAgICAgIGFj
dGl2YXRlU2lnbmFsSGFuZGxlcnNGb3IoU2lnbmFsOjpBYm9ydCk7CisjZW5kaWYKICNlbmRpZgog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjMwNTQp
CisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA2LTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgU0lHQUJSVCBoYW5kbGVyIGZvciBub24gT1MoREFSV0lOKSBidWlsZHMgdG8gdGhlIGpzYyBz
aGVsbCB3aXRoIHRoZSAtcyBvcHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTMyMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi90aHJlYWRzL1NpZ25hbHMuaDoKKyAgICAgICAgKFdURjo6
dG9TeXN0ZW1TaWduYWwpOgorICAgICAgICAoV1RGOjpmcm9tU3lzdGVtU2lnbmFsKToKKwogMjAy
MC0wNi0xNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBidWlsZCBmaXggZm9yIGJ1aWxkIHdpdGhvdXQgbWFjaCBleGNlcHRpb25z
LgpJbmRleDogU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmgJKHJldmlzaW9uIDI2MzA1NCkKKysrIFNv
dXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0
OCw5IEBAIGVudW0gY2xhc3MgU2lnbmFsIHsKIAogICAgIC8vIFRoZXNlIHNpZ25hbHMgd2lsbCBv
bmx5IGNoYWluIGlmIHdlIGRvbid0IGhhdmUgYSBoYW5kbGVyIHRoYXQgY2FuIHByb2Nlc3MgdGhl
bS4gSWYgdGhlcmUgaXMgbm90aGluZwogICAgIC8vIHRvIGNoYWluIHRvIHdlIHJlc3RvcmUgdGhl
IGRlZmF1bHQgaGFuZGxlciBhbmQgY3Jhc2guCisjaWYgIU9TKERBUldJTikKKyAgICBBYm9ydCwK
KyNlbmRpZgogICAgIEZsb2F0aW5nUG9pbnQsCiAgICAgQnJlYWtwb2ludCwgLy8gQmUgVkVSWSBj
YXJlZnVsIHdpdGggdGhpcywgaW5zdGFsbGluZyBhIGhhbmRsZXIgZm9yIHRoaXMgd2lsbCBicmVh
ayBsbGRiL2dkYi4KICAgICBJbGxlZ2FsSW5zdHJ1Y3Rpb24sCkBAIC02NCw2ICs2Nyw5IEBAIGlu
bGluZSBzdGQ6OnR1cGxlPGludCwgT3B0aW9uYWw8aW50Pj4gdG8KICAgICBjYXNlIFNpZ25hbDo6
VXNyOiByZXR1cm4gc3RkOjptYWtlX3R1cGxlKFNJR0lMTCwgV1RGOjpudWxsb3B0KTsKICAgICBj
YXNlIFNpZ25hbDo6RmxvYXRpbmdQb2ludDogcmV0dXJuIHN0ZDo6bWFrZV90dXBsZShTSUdGUEUs
IFdURjo6bnVsbG9wdCk7CiAgICAgY2FzZSBTaWduYWw6OkJyZWFrcG9pbnQ6IHJldHVybiBzdGQ6
Om1ha2VfdHVwbGUoU0lHVFJBUCwgV1RGOjpudWxsb3B0KTsKKyNpZiAhT1MoREFSV0lOKQorICAg
IGNhc2UgU2lnbmFsOjpBYm9ydDogcmV0dXJuIHN0ZDo6bWFrZV90dXBsZShTSUdBQlJULCBXVEY6
Om51bGxvcHQpOworI2VuZGlmCiAgICAgZGVmYXVsdDogYnJlYWs7CiAgICAgfQogICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC03OCw2ICs4NCw5IEBAIGlubGluZSBTaWduYWwg
ZnJvbVN5c3RlbVNpZ25hbChpbnQgc2lnbmEKICAgICBjYXNlIFNJR1RSQVA6IHJldHVybiBTaWdu
YWw6OkJyZWFrcG9pbnQ7CiAgICAgY2FzZSBTSUdJTEw6IHJldHVybiBTaWduYWw6OklsbGVnYWxJ
bnN0cnVjdGlvbjsKICAgICBjYXNlIFNJR1VTUjI6IHJldHVybiBTaWduYWw6OlVzcjsKKyNpZiAh
T1MoREFSV0lOKQorICAgIGNhc2UgU0lHQUJSVDogcmV0dXJuIFNpZ25hbDo6QWJvcnQ7CisjZW5k
aWYKICAgICBkZWZhdWx0OiByZXR1cm4gU2lnbmFsOjpVbmtub3duOwogICAgIH0KIH0K
</data>
<flag name="review"
          id="417376"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401947</attachid>
            <date>2020-06-15 15:23:19 -0700</date>
            <delta_ts>2020-06-16 01:32:51 -0700</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-213200.patch</filename>
            <type>text/plain</type>
            <size>4438</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjMwNjQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTA2LTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgU0lHQUJSVCBoYW5kbGVyIGZvciBub24gT1MoREFSV0lOKSBidWls
ZHMgdG8gdGhlIGpzYyBzaGVsbCB3aXRoIHRoZSAtcyBvcHRpb24uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMyMDAKKworICAgICAgICBSZXZpZXdl
ZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICAqIHN0cmVzcy9lbnN1cmUtY3Jhc2gu
anM6CisgICAgICAgIC0gdW5za2lwIHRoaXMgdGVzdCBzaW5jZSBleHBlY3RlZCBjcmFzaGVzIHNo
b3VsZCBub3cgYmUgaGFuZGxlZCBvbiBub24tZGFyd2luIGJ1aWxkcy4KKwogMjAyMC0wNi0xNSAg
Q2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0FSTXY3XVtNSVBT
XVtKU0NdIFNraXAgY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxkLW5vdC1hcnJheS1w
cm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcwpJbmRleDogSlNUZXN0cy9zdHJlc3MvZW5zdXJlLWNy
YXNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2Vuc3VyZS1jcmFzaC5qcwkocmV2
aXNpb24gMjYzMDU0KQorKysgSlNUZXN0cy9zdHJlc3MvZW5zdXJlLWNyYXNoLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotLy9AIHNraXAgaWYgWyJhcm0iLCAibWlwcyJdLmluY2x1
ZGU/KCRhcmNoaXRlY3R1cmUpCiAvL0AgY3Jhc2hPSyEKIAogJHZtLmNyYXNoKCk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzA2NCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0w
Ni0xNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFNJR0FC
UlQgaGFuZGxlciBmb3Igbm9uIE9TKERBUldJTikgYnVpbGRzIHRvIHRoZSBqc2Mgc2hlbGwgd2l0
aCB0aGUgLXMgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEzMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFlbCBDYXRhbnphcm8u
CisKKyAgICAgICAgVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBub24gT1MoREFSV0lOKSBidWlsZHMg
dXNlcyBhYm9ydCBhcyB0aGVpciAiQ1JBU0giaW5nCisgICAgICAgIG1lY2hhbmlzbS4KKworICAg
ICAgICAqIGpzYy5jcHA6CisgICAgICAgIChDb21tYW5kTGluZTo6cGFyc2VBcmd1bWVudHMpOgor
CiAyMDIwLTA2LTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBE
byBub3QgaW5zdGFsbCB0aGUgVk1UcmFwcyBzaWduYWwgaGFuZGxlciBpZiBPcHRpb25zOjp1c2VK
SVQ9ZmFsc2UuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMjYzMDU0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5OTcsNiAr
Mjk5NywxMSBAQCB2b2lkIENvbW1hbmRMaW5lOjpwYXJzZUFyZ3VtZW50cyhpbnQgYXJnCiAgICAg
ICAgICAgICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWNjZXNzRmF1bHQpOwog
ICAgICAgICAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWduYWw6OkZsb2F0aW5nUG9p
bnQpOwogICAgICAgICAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWduYWw6OkJyZWFr
cG9pbnQpOworCisjaWYgIU9TKERBUldJTikKKyAgICAgICAgICAgIGFkZFNpZ25hbEhhbmRsZXIo
U2lnbmFsOjpBYm9ydCwgU2lnbmFsSGFuZGxlcihleGl0KSk7CisgICAgICAgICAgICBhY3RpdmF0
ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWJvcnQpOworI2VuZGlmCiAjZW5kaWYKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzMDU0KQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAy
MC0wNi0xNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFNJ
R0FCUlQgaGFuZGxlciBmb3Igbm9uIE9TKERBUldJTikgYnVpbGRzIHRvIHRoZSBqc2Mgc2hlbGwg
d2l0aCB0aGUgLXMgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFlbCBDYXRhbnph
cm8uCisKKyAgICAgICAgKiB3dGYvdGhyZWFkcy9TaWduYWxzLmg6CisgICAgICAgIChXVEY6OnRv
U3lzdGVtU2lnbmFsKToKKyAgICAgICAgKFdURjo6ZnJvbVN5c3RlbVNpZ25hbCk6CisKIDIwMjAt
MDYtMTUgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgYnVpbGQgZml4IGZvciBidWlsZCB3aXRob3V0IG1hY2ggZXhjZXB0aW9ucy4K
SW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5oCShyZXZpc2lvbiAyNjMwNTQpCisrKyBTb3Vy
Y2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgs
OSBAQCBlbnVtIGNsYXNzIFNpZ25hbCB7CiAKICAgICAvLyBUaGVzZSBzaWduYWxzIHdpbGwgb25s
eSBjaGFpbiBpZiB3ZSBkb24ndCBoYXZlIGEgaGFuZGxlciB0aGF0IGNhbiBwcm9jZXNzIHRoZW0u
IElmIHRoZXJlIGlzIG5vdGhpbmcKICAgICAvLyB0byBjaGFpbiB0byB3ZSByZXN0b3JlIHRoZSBk
ZWZhdWx0IGhhbmRsZXIgYW5kIGNyYXNoLgorI2lmICFPUyhEQVJXSU4pCisgICAgQWJvcnQsCisj
ZW5kaWYKICAgICBGbG9hdGluZ1BvaW50LAogICAgIEJyZWFrcG9pbnQsIC8vIEJlIFZFUlkgY2Fy
ZWZ1bCB3aXRoIHRoaXMsIGluc3RhbGxpbmcgYSBoYW5kbGVyIGZvciB0aGlzIHdpbGwgYnJlYWsg
bGxkYi9nZGIuCiAgICAgSWxsZWdhbEluc3RydWN0aW9uLApAQCAtNjQsNiArNjcsOSBAQCBpbmxp
bmUgc3RkOjp0dXBsZTxpbnQsIE9wdGlvbmFsPGludD4+IHRvCiAgICAgY2FzZSBTaWduYWw6OlVz
cjogcmV0dXJuIHN0ZDo6bWFrZV90dXBsZShTSUdJTEwsIFdURjo6bnVsbG9wdCk7CiAgICAgY2Fz
ZSBTaWduYWw6OkZsb2F0aW5nUG9pbnQ6IHJldHVybiBzdGQ6Om1ha2VfdHVwbGUoU0lHRlBFLCBX
VEY6Om51bGxvcHQpOwogICAgIGNhc2UgU2lnbmFsOjpCcmVha3BvaW50OiByZXR1cm4gc3RkOjpt
YWtlX3R1cGxlKFNJR1RSQVAsIFdURjo6bnVsbG9wdCk7CisjaWYgIU9TKERBUldJTikKKyAgICBj
YXNlIFNpZ25hbDo6QWJvcnQ6IHJldHVybiBzdGQ6Om1ha2VfdHVwbGUoU0lHQUJSVCwgV1RGOjpu
dWxsb3B0KTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6IGJyZWFrOwogICAgIH0KICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNzgsNiArODQsOSBAQCBpbmxpbmUgU2lnbmFsIGZy
b21TeXN0ZW1TaWduYWwoaW50IHNpZ25hCiAgICAgY2FzZSBTSUdUUkFQOiByZXR1cm4gU2lnbmFs
OjpCcmVha3BvaW50OwogICAgIGNhc2UgU0lHSUxMOiByZXR1cm4gU2lnbmFsOjpJbGxlZ2FsSW5z
dHJ1Y3Rpb247CiAgICAgY2FzZSBTSUdVU1IyOiByZXR1cm4gU2lnbmFsOjpVc3I7CisjaWYgIU9T
KERBUldJTikKKyAgICBjYXNlIFNJR0FCUlQ6IHJldHVybiBTaWduYWw6OkFib3J0OworI2VuZGlm
CiAgICAgZGVmYXVsdDogcmV0dXJuIFNpZ25hbDo6VW5rbm93bjsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401955</attachid>
            <date>2020-06-15 16:29:57 -0700</date>
            <delta_ts>2020-06-15 16:48:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213200-20200615182956.patch</filename>
            <type>text/plain</type>
            <size>6824</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZTVmZmUxNTY0YjYzZjkyMGI2YzQ2N2U2Y2EzZmIxMTVlNzhmODU4Li5mNjBiZjJmMzdkZTE5YTk0
Mzc5N2M0NDFhYWIxMWY3YmY0NjY5MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wNi0xNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIFNJR0FCUlQgaGFuZGxlciBmb3Igbm9uIE9TKERBUldJTikgYnVpbGRzIHRv
IHRoZSBqc2Mgc2hlbGwgd2l0aCB0aGUgLXMgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
TWljaGFlbCBDYXRhbnphcm8uCisKKyAgICAgICAgVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBub24g
T1MoREFSV0lOKSBidWlsZHMgdXNlcyBhYm9ydCBhcyB0aGVpciAiQ1JBU0giaW5nCisgICAgICAg
IG1lY2hhbmlzbS4gQWxzbywgd2UgbmVlZCB0byBoYW5kbGUgc2lnbmFscyBldmVuIHdoZW4gTWFj
aGluZUNvbnRleHQuaCBpcyB1bmF2YWlsYWJsZS4KKworICAgICAgICAqIGpzYy5jcHA6CisgICAg
ICAgIChwcmludFVzYWdlU3RhdGVtZW50KToKKyAgICAgICAgKENvbW1hbmRMaW5lOjpwYXJzZUFy
Z3VtZW50cyk6CisKIDIwMjAtMDYtMTUgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIERvIG5vdCBpbnN0YWxsIHRoZSBWTVRyYXBzIHNpZ25hbCBoYW5kbGVyIGlmIE9w
dGlvbnM6OnVzZUpJVD1mYWxzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIv
U291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggMTRmYzg2MzRhNWEzZDVmNzA2M2RmZjliNDRhOTdj
OTQwMGQ4OGI1ZC4uNjJhMzkyOGNjNTYzMjY0ODRiNTRjNzhkMGIxZDI2MzYzYTc4MzVkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNi0xNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIFNJR0FCUlQgaGFuZGxlciBmb3Igbm9uIE9TKERBUldJTikgYnVp
bGRzIHRvIHRoZSBqc2Mgc2hlbGwgd2l0aCB0aGUgLXMgb3B0aW9uLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjAwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTWljaGFlbCBDYXRhbnphcm8uCisKKyAgICAgICAgKiB3dGYvdGhyZWFkcy9TaWduYWxz
LmNwcDoKKyAgICAgICAgKiB3dGYvdGhyZWFkcy9TaWduYWxzLmg6CisgICAgICAgIChXVEY6OnRv
U3lzdGVtU2lnbmFsKToKKyAgICAgICAgKFdURjo6ZnJvbVN5c3RlbVNpZ25hbCk6CisKIDIwMjAt
MDYtMTUgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTiAocjI2MzA0NSk6IFRlc3RXVEYuU2lnbmFscy5TaWduYWxzV29ya09uRXhpdCBj
cmFzaGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCBiN2IwMjEzMGI3OTYyYzRlOGUwNzQ5MjA4
ZDIzYzg2MTRjY2FlYmE5Li4wMzZhZGY1MzRlM2EyOTY0YTRiMGU5YzI3NmI4ZWYwMGY1NTU3MWI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMjg4OCw3ICsyODg4LDcgQEAgc3RhdGljIE5PX1JF
VFVSTiB2b2lkIHByaW50VXNhZ2VTdGF0ZW1lbnQoYm9vbCBoZWxwID0gZmFsc2UpCiAgICAgZnBy
aW50ZihzdGRlcnIsICIgIC1ofC0taGVscCAgUHJpbnRzIHRoaXMgaGVscCBtZXNzYWdlXG4iKTsK
ICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWkgICAgICAgICBFbmFibGVzIGludGVyYWN0aXZlIG1v
ZGUgKGRlZmF1bHQgaWYgbm8gZmlsZXMgYXJlIHNwZWNpZmllZClcbiIpOwogICAgIGZwcmludGYo
c3RkZXJyLCAiICAtbSAgICAgICAgIEV4ZWN1dGUgYXMgYSBtb2R1bGVcbiIpOwotI2lmIFVTRShQ
VEhSRUFEUykgJiYgSEFWRShNQUNISU5FX0NPTlRFWFQpCisjaWYgVVNFKFBUSFJFQURTKQogICAg
IGZwcmludGYoc3RkZXJyLCAiICAtcyAgICAgICAgIEluc3RhbGxzIHNpZ25hbCBoYW5kbGVycyB0
aGF0IGV4aXQgb24gYSBjcmFzaCAoVW5peCBwbGF0Zm9ybXMgb25seSwgbGxkYiB3aWxsIG5vdCB3
b3JrIHdpdGggdGhpcyBvcHRpb24pIFxuIik7CiAjZW5kaWYKICAgICBmcHJpbnRmKHN0ZGVyciwg
IiAgLXAgPGZpbGU+ICBPdXRwdXRzIHByb2ZpbGluZyBkYXRhIHRvIGEgZmlsZVxuIik7CkBAIC0y
OTgwLDcgKzI5ODAsNyBAQCB2b2lkIENvbW1hbmRMaW5lOjpwYXJzZUFyZ3VtZW50cyhpbnQgYXJn
YywgY2hhcioqIGFyZ3YpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoIXN0cmNtcChhcmcsICItcyIpKSB7Ci0jaWYgVVNFKFBUSFJFQURTKSAmJiBIQVZFKE1B
Q0hJTkVfQ09OVEVYVCkKKyNpZiBVU0UoUFRIUkVBRFMpCiAgICAgICAgICAgICBTaWduYWxBY3Rp
b24gKCpleGl0KShTaWduYWwsIFNpZ0luZm8mLCBQbGF0Zm9ybVJlZ2lzdGVycyYpID0gW10gKFNp
Z25hbCwgU2lnSW5mbyYsIFBsYXRmb3JtUmVnaXN0ZXJzJikgewogICAgICAgICAgICAgICAgIGRh
dGFMb2dMbigiU2lnbmFsIGhhbmRsZXIgaGl0LiBFeGl0aW5nIHdpdGggc3RhdHVzIDAiKTsKICAg
ICAgICAgICAgICAgICBfZXhpdCgwKTsKQEAgLTI5OTcsNiArMjk5NywxMSBAQCB2b2lkIENvbW1h
bmRMaW5lOjpwYXJzZUFyZ3VtZW50cyhpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgICAgICAg
ICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWNjZXNzRmF1bHQpOwogICAgICAg
ICAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWduYWw6OkZsb2F0aW5nUG9pbnQpOwog
ICAgICAgICAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWduYWw6OkJyZWFrcG9pbnQp
OworCisjaWYgIU9TKERBUldJTikKKyAgICAgICAgICAgIGFkZFNpZ25hbEhhbmRsZXIoU2lnbmFs
OjpBYm9ydCwgU2lnbmFsSGFuZGxlcihleGl0KSk7CisgICAgICAgICAgICBhY3RpdmF0ZVNpZ25h
bEhhbmRsZXJzRm9yKFNpZ25hbDo6QWJvcnQpOworI2VuZGlmCiAjZW5kaWYKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRz
L1NpZ25hbHMuY3BwIGIvU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmNwcAppbmRleCBj
NGM5YTk2MDMxN2M2YmM4YjUzNjhiOGQ0YTUzNzcwMGYxMjU2NmI2Li5lYzllMDQyZjM0NzM4Mjgy
OGFkNzllMTA5NWZmZWQ1YjZhNTAwZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90aHJl
YWRzL1NpZ25hbHMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAK
QEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvdGhy
ZWFkcy9TaWduYWxzLmg+CiAKLSNpZiBVU0UoUFRIUkVBRFMpICYmIEhBVkUoTUFDSElORV9DT05U
RVhUKQorI2lmIFVTRShQVEhSRUFEUykKIAogI2lmIEhBVkUoTUFDSF9FWENFUFRJT05TKQogZXh0
ZXJuICJDIiB7CkBAIC00MTcsNCArNDE3LDQgQEAgdm9pZCBTaWduYWxIYW5kbGVyczo6aW5pdGlh
bGl6ZSgpCiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi0jZW5kaWYgLy8gVVNFKFBUSFJFQURTKSAm
JiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKKyNlbmRpZiAvLyBVU0UoUFRIUkVBRFMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuaCBiL1NvdXJjZS9XVEYvd3RmL3Ro
cmVhZHMvU2lnbmFscy5oCmluZGV4IGE2MDJhZDMzNTBlZmNlOWFlYWE0ZTVmZWU1YWMxMTQzYWEy
N2YyZjYuLjI4YzAxNjkzMGMyN2NjMWI3ZWUxNjVhYzM3OTcxYzYwZTE4ODJhM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RocmVhZHMvU2lnbmFscy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgVVNFKFBUSFJFQURTKSAmJiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKKyNpZiBVU0UoUFRIUkVB
RFMpCiAKICNpbmNsdWRlIDxzaWduYWwuaD4KICNpbmNsdWRlIDx0dXBsZT4KQEAgLTQ4LDYgKzQ4
LDkgQEAgZW51bSBjbGFzcyBTaWduYWwgewogCiAgICAgLy8gVGhlc2Ugc2lnbmFscyB3aWxsIG9u
bHkgY2hhaW4gaWYgd2UgZG9uJ3QgaGF2ZSBhIGhhbmRsZXIgdGhhdCBjYW4gcHJvY2VzcyB0aGVt
LiBJZiB0aGVyZSBpcyBub3RoaW5nCiAgICAgLy8gdG8gY2hhaW4gdG8gd2UgcmVzdG9yZSB0aGUg
ZGVmYXVsdCBoYW5kbGVyIGFuZCBjcmFzaC4KKyNpZiAhT1MoREFSV0lOKQorICAgIEFib3J0LAor
I2VuZGlmCiAgICAgRmxvYXRpbmdQb2ludCwKICAgICBCcmVha3BvaW50LCAvLyBCZSBWRVJZIGNh
cmVmdWwgd2l0aCB0aGlzLCBpbnN0YWxsaW5nIGEgaGFuZGxlciBmb3IgdGhpcyB3aWxsIGJyZWFr
IGxsZGIvZ2RiLgogICAgIElsbGVnYWxJbnN0cnVjdGlvbiwKQEAgLTY0LDYgKzY3LDkgQEAgaW5s
aW5lIHN0ZDo6dHVwbGU8aW50LCBPcHRpb25hbDxpbnQ+PiB0b1N5c3RlbVNpZ25hbChTaWduYWwg
c2lnbmFsKQogICAgIGNhc2UgU2lnbmFsOjpVc3I6IHJldHVybiBzdGQ6Om1ha2VfdHVwbGUoU0lH
SUxMLCBXVEY6Om51bGxvcHQpOwogICAgIGNhc2UgU2lnbmFsOjpGbG9hdGluZ1BvaW50OiByZXR1
cm4gc3RkOjptYWtlX3R1cGxlKFNJR0ZQRSwgV1RGOjpudWxsb3B0KTsKICAgICBjYXNlIFNpZ25h
bDo6QnJlYWtwb2ludDogcmV0dXJuIHN0ZDo6bWFrZV90dXBsZShTSUdUUkFQLCBXVEY6Om51bGxv
cHQpOworI2lmICFPUyhEQVJXSU4pCisgICAgY2FzZSBTaWduYWw6OkFib3J0OiByZXR1cm4gc3Rk
OjptYWtlX3R1cGxlKFNJR0FCUlQsIFdURjo6bnVsbG9wdCk7CisjZW5kaWYKICAgICBkZWZhdWx0
OiBicmVhazsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTc4
LDYgKzg0LDkgQEAgaW5saW5lIFNpZ25hbCBmcm9tU3lzdGVtU2lnbmFsKGludCBzaWduYWwpCiAg
ICAgY2FzZSBTSUdUUkFQOiByZXR1cm4gU2lnbmFsOjpCcmVha3BvaW50OwogICAgIGNhc2UgU0lH
SUxMOiByZXR1cm4gU2lnbmFsOjpJbGxlZ2FsSW5zdHJ1Y3Rpb247CiAgICAgY2FzZSBTSUdVU1Iy
OiByZXR1cm4gU2lnbmFsOjpVc3I7CisjaWYgIU9TKERBUldJTikKKyAgICBjYXNlIFNJR0FCUlQ6
IHJldHVybiBTaWduYWw6OkFib3J0OworI2VuZGlmCiAgICAgZGVmYXVsdDogcmV0dXJuIFNpZ25h
bDo6VW5rbm93bjsKICAgICB9CiB9CkBAIC0xNTQsNCArMTYzLDQgQEAgdXNpbmcgV1RGOjpTaWdu
YWxIYW5kbGVyOwogdXNpbmcgV1RGOjphZGRTaWduYWxIYW5kbGVyOwogdXNpbmcgV1RGOjphY3Rp
dmF0ZVNpZ25hbEhhbmRsZXJzRm9yOwogCi0jZW5kaWYgLy8gVVNFKFBUSFJFQURTKSAmJiBIQVZF
KE1BQ0hJTkVfQ09OVEVYVCkKKyNlbmRpZiAvLyBVU0UoUFRIUkVBRFMpCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE2OGUwN2JhNDkyZDg0
OWI2Yzk3ODE0ZWVlMGU1ZTllYWFiOWQxMmMuLjczYTM2MjVhMjJiZTQxZWQ0YzdlNDJjMTg1OTAy
ODY0NDdiOGJkYTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMTUgIE1hcmsgTGFtICA8bWFyay5s
YW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTSUdBQlJUIGhhbmRsZXIgZm9yIG5vbiBPUyhE
QVJXSU4pIGJ1aWxkcyB0byB0aGUganNjIHNoZWxsIHdpdGggdGhlIC1zIG9wdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzIwMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE1pY2hhZWwgQ2F0YW56YXJvLgorCisgICAgICAgICogc3RyZXNzL2Vu
c3VyZS1jcmFzaC5qczoKKyAgICAgICAgLSB1bnNraXAgdGhpcyB0ZXN0IHNpbmNlIGV4cGVjdGVk
IGNyYXNoZXMgc2hvdWxkIG5vdyBiZSBoYW5kbGVkIG9uIG5vbi1kYXJ3aW4gYnVpbGRzLgorCiAy
MDIwLTA2LTE1ICBDYWlvIExpbWEgIDx0aWNhaW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBb
QVJNdjddW01JUFNdW0pTQ10gU2tpcCBjaGVjay1pcy1jb25zdGFudC1ub24tY2VsbC1zaG91bGQt
bm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0LmpzCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3N0cmVzcy9lbnN1cmUtY3Jhc2guanMgYi9KU1Rlc3RzL3N0cmVzcy9lbnN1cmUtY3Jhc2guanMK
aW5kZXggOTJhZTRiZDEwM2FlOWUyMmYyYjU1OTdmNDc0YjlhNTFlMTlmMjY3Mi4uMWZmZjM2YmI4
ZDYxYWJjZjc2ZmQzMmI1OTNhNzE2OTRmZmQ2YWZlZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJl
c3MvZW5zdXJlLWNyYXNoLmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL2Vuc3VyZS1jcmFzaC5qcwpA
QCAtMSw0ICsxLDMgQEAKLS8vQCBza2lwIGlmIFsiYXJtIiwgIm1pcHMiXS5pbmNsdWRlPygkYXJj
aGl0ZWN0dXJlKQogLy9AIGNyYXNoT0shCiAKICR2bS5jcmFzaCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>