<?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>204886</bug_id>
          
          <creation_ts>2019-12-05 05:38:56 -0800</creation_ts>
          <short_desc>computeIfUsingFuzzerAgent() is called before parsing command line arguments</short_desc>
          <delta_ts>2019-12-05 12:25:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>Other</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="Tuomas Karkkainen">tuomas.webkit</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595781</commentid>
    <comment_count>0</comment_count>
    <who name="Tuomas Karkkainen">tuomas.webkit</who>
    <bug_when>2019-12-05 05:38:56 -0800</bug_when>
    <thetext>computeIfUsingFuzzerAgent(); is called in the lambda inside Options::initialize() which is invoked at the top of CommandLine::parseArguments().

The options are only set later in CommandLine::parseArguments() at

&gt; if (!JSC::Options::setOption(&amp;arg[2])) {

This means that computeIfUsingFuzzerAgent(); will always determine that no FuzzerAgents are in use because at the time of the check all relevant options are still false regardless of the command line.

similarly I don&apos;t believe this will ever be executed either:
&gt;     if (Options::dumpOptions()) {
&gt;       printf(&quot;Command line:&quot;);

the thing that actually dumps the options with --dumpOptions is at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595875</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-05 10:31:55 -0800</bug_when>
    <thetext>(In reply to Tuomas Karkkainen from comment #0)
&gt; computeIfUsingFuzzerAgent(); is called in the lambda inside
&gt; Options::initialize() which is invoked at the top of
&gt; CommandLine::parseArguments().
&gt; 
&gt; The options are only set later in CommandLine::parseArguments() at
&gt; 
&gt; &gt; if (!JSC::Options::setOption(&amp;arg[2])) {
&gt; 
&gt; This means that computeIfUsingFuzzerAgent(); will always determine that no
&gt; FuzzerAgents are in use because at the time of the check all relevant
&gt; options are still false regardless of the command line.

Will fix.

&gt; similarly I don&apos;t believe this will ever be executed either:
&gt; &gt;     if (Options::dumpOptions()) {
&gt; &gt;       printf(&quot;Command line:&quot;);
&gt; 
&gt; the thing that actually dumps the options with --dumpOptions is at the end.

This does run but only if you use the env var JSC_dumpOptions=true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595879</commentid>
    <comment_count>2</comment_count>
      <attachid>384919</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-05 10:41:39 -0800</bug_when>
    <thetext>Created attachment 384919
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595882</commentid>
    <comment_count>3</comment_count>
      <attachid>384921</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-05 10:46:23 -0800</bug_when>
    <thetext>Created attachment 384921
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595890</commentid>
    <comment_count>4</comment_count>
      <attachid>384921</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-12-05 11:03:46 -0800</bug_when>
    <thetext>Comment on attachment 384921
proposed patch.

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        computeIfUsingFuzzerAgent() is called before parsing command line arguments.

can we just go back to the world where we checked all of the options individually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595918</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-05 12:01:11 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; Comment on attachment 384921 [details]
&gt; proposed patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=384921&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:3
&gt; &gt; +        computeIfUsingFuzzerAgent() is called before parsing command line arguments.
&gt; 
&gt; can we just go back to the world where we checked all of the options
&gt; individually?

Fine.  I&apos;ll roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595929</commentid>
    <comment_count>6</comment_count>
      <attachid>384933</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-05 12:17:42 -0800</bug_when>
    <thetext>Created attachment 384933
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595938</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-05 12:24:08 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r253164: &lt;http://trac.webkit.org/r253164&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595939</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-05 12:25:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/57672961&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384919</attachid>
            <date>2019-12-05 10:41:39 -0800</date>
            <delta_ts>2019-12-05 10:46:23 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-204886.patch</filename>
            <type>text/plain</type>
            <size>3603</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUzMTU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEyLTA1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBj
b21wdXRlSWZVc2luZ0Z1enplckFnZW50KCkgaXMgY2FsbGVkIGJlZm9yZSBwYXJzaW5nIGNvbW1h
bmQgbGluZSBhcmd1bWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gY2FsbHMgY29tcHV0ZUlmVXNp
bmdGdXp6ZXJBZ2VudCgpIGFmdGVyIHBhcnNpbmcgZm9yCisgICAgICAgIG9wdGlvbnMgYWZ0ZXIg
SlNDXyBvcHRpb25zIGZyb20gZW52aXJvbm1lbnRhbCB2YXJpYWJsZXMgaGF2ZSBiZWVuIHBhcnNl
ZC4gIEhvd2V2ZXIsCisgICAgICAgIHRoaXMgZG9lcyBub3QgaGFuZGxlIHRoZSBjYXNlIHdoZXJl
IG9wdGlvbnMgYXJlIHNwZWNpZmllZCB2aWEgdGhlIGpzYyBzaGVsbAorICAgICAgICBjb21tYW5k
IGxpbmUuICBUaGUgZml4IGlzIHNpbXBseSBtb3ZlIHRoZSBjYWxsIHRvIGNvbXB1dGVJZlVzaW5n
RnV6emVyQWdlbnQoKQorICAgICAgICBpbnRvIHJlY29tcHV0ZURlcGVuZGVudE9wdGlvbnMoKS4K
KworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OmNvbXB1dGVJ
ZlVzaW5nRnV6emVyQWdlbnQpOgorICAgICAgICAoSlNDOjpyZWNvbXB1dGVEZXBlbmRlbnRPcHRp
b25zKToKKyAgICAgICAgKEpTQzo6T3B0aW9uczo6aW5pdGlhbGl6ZSk6CisKIDIwMTktMTItMDQg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBBSSBz
aG91bGQgY29udmVydCBJc0NlbGxXaXRoVHlwZSB0byBjb25zdGFudCB3aGVuIFN0cnVjdHVyZSBz
ZXQgaXMgZmluaXRlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmNwcAkocmV2aXNpb24gMjUzMTQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4MSw2ICszODEsMjEgQEAgc3RhdGljIHZv
aWQgY29ycmVjdE9wdGlvbnMoKQogICAgICAgICBPcHRpb25zOjp0aHJlc2hvbGRGb3JHbG9iYWxM
ZXhpY2FsQmluZGluZ0Vwb2NoKCkgPSBVSU5UX01BWDsKIH0KIAorc3RhdGljIHZvaWQgY29tcHV0
ZUlmVXNpbmdGdXp6ZXJBZ2VudCgpCit7CisgICAgZ19qc2NDb25maWcub3B0aW9ucy5pc1VzaW5n
RnV6emVyQWdlbnQgPSBmYWxzZTsKKyNkZWZpbmUgQ0hFQ0tfSUZfVVNJTkdfRlVaWkVSX0FHRU5U
KHR5cGVfLCBuYW1lXywgZGVmYXVsdFZhbHVlXywgYXZhaWxhYmlsaXR5XywgZGVzY3JpcHRpb25f
KSB7IFwKKyAgICAgICAgY29uc3QgY2hhciBuYW1lW10gPSAjbmFtZV87IFwKKyAgICAgICAgdW5z
aWduZWQgbmFtZUxlbmd0aCA9IHN0cmxlbihuYW1lKTsgXAorICAgICAgICBpZiAobmFtZUxlbmd0
aCA+IDE0ICYmICFzdHJuY21wKG5hbWUsICJ1c2UiLCAzKSAmJiAhc3RybmNtcCgmbmFtZVtuYW1l
TGVuZ3RoIC0xMV0sICJGdXp6ZXJBZ2VudCIsIDExKSkgeyBcCisgICAgICAgICAgICBpZiAoT3B0
aW9uczo6bmFtZV8oKSkgXAorICAgICAgICAgICAgICAgIGdfanNjQ29uZmlnLm9wdGlvbnMuaXNV
c2luZ0Z1enplckFnZW50ID0gdHJ1ZTsgXAorICAgICAgICB9IFwKKyAgICB9CisgICAgRk9SX0VB
Q0hfSlNDX09QVElPTihDSEVDS19JRl9VU0lOR19GVVpaRVJfQUdFTlQpCisjdW5kZWYgQ0hFQ0tf
SUZfVVNJTkdfRlVaWkVSX0FHRU5UCit9CisKIHN0YXRpYyB2b2lkIHJlY29tcHV0ZURlcGVuZGVu
dE9wdGlvbnMoKQogewogI2lmICFkZWZpbmVkKE5ERUJVRykKQEAgLTUyMiw2ICs1MzcsOCBAQCBz
dGF0aWMgdm9pZCByZWNvbXB1dGVEZXBlbmRlbnRPcHRpb25zKCkKICAgICAgICAgT3B0aW9uczo6
cmFuZG9tSW50ZWdyaXR5QXVkaXRSYXRlKCkgPSAwOwogICAgIGVsc2UgaWYgKE9wdGlvbnM6OnJh
bmRvbUludGVncml0eUF1ZGl0UmF0ZSgpID4gMS4wKQogICAgICAgICBPcHRpb25zOjpyYW5kb21J
bnRlZ3JpdHlBdWRpdFJhdGUoKSA9IDEuMDsKKworICAgIGNvbXB1dGVJZlVzaW5nRnV6emVyQWdl
bnQoKTsKIH0KIAogaW5saW5lIHZvaWQqIE9wdGlvbnM6OmFkZHJlc3NPZk9wdGlvbihPcHRpb25z
OjpJRCBpZCkKQEAgLTUzNiwyMSArNTUzLDYgQEAgaW5saW5lIHZvaWQqIE9wdGlvbnM6OmFkZHJl
c3NPZk9wdGlvbkRlZgogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPigmZ19q
c2NDb25maWcub3B0aW9ucykgKyBvZmZzZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGNvbXB1dGVJZlVz
aW5nRnV6emVyQWdlbnQoKQotewotICAgIGdfanNjQ29uZmlnLm9wdGlvbnMuaXNVc2luZ0Z1enpl
ckFnZW50ID0gZmFsc2U7Ci0jZGVmaW5lIENIRUNLX0lGX1VTSU5HX0ZVWlpFUl9BR0VOVCh0eXBl
XywgbmFtZV8sIGRlZmF1bHRWYWx1ZV8sIGF2YWlsYWJpbGl0eV8sIGRlc2NyaXB0aW9uXykgeyBc
Ci0gICAgICAgIGNvbnN0IGNoYXIgbmFtZVtdID0gI25hbWVfOyBcCi0gICAgICAgIHVuc2lnbmVk
IG5hbWVMZW5ndGggPSBzdHJsZW4obmFtZSk7IFwKLSAgICAgICAgaWYgKG5hbWVMZW5ndGggPiAx
NCAmJiAhc3RybmNtcChuYW1lLCAidXNlIiwgMykgJiYgIXN0cm5jbXAoJm5hbWVbbmFtZUxlbmd0
aCAtMTFdLCAiRnV6emVyQWdlbnQiLCAxMSkpIHsgXAotICAgICAgICAgICAgaWYgKE9wdGlvbnM6
Om5hbWVfKCkpIFwKLSAgICAgICAgICAgICAgICBnX2pzY0NvbmZpZy5vcHRpb25zLmlzVXNpbmdG
dXp6ZXJBZ2VudCA9IHRydWU7IFwKLSAgICAgICAgfSBcCi0gICAgfQotICAgIEZPUl9FQUNIX0pT
Q19PUFRJT04oQ0hFQ0tfSUZfVVNJTkdfRlVaWkVSX0FHRU5UKQotI3VuZGVmIENIRUNLX0lGX1VT
SU5HX0ZVWlpFUl9BR0VOVAotfQotCiB2b2lkIE9wdGlvbnM6OmluaXRpYWxpemUoKQogewogICAg
IHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplT3B0aW9uc09uY2VGbGFnOwpAQCAtNjI0
LDcgKzYyNiw2IEBAIHZvaWQgT3B0aW9uczo6aW5pdGlhbGl6ZSgpCiAKICAgICAgICAgICAgIGR1
bXBPcHRpb25zSWZOZWVkZWQoKTsKICAgICAgICAgICAgIGVuc3VyZU9wdGlvbnNBcmVDb2hlcmVu
dCgpOwotICAgICAgICAgICAgY29tcHV0ZUlmVXNpbmdGdXp6ZXJBZ2VudCgpOwogCiAjaWYgSEFW
RShNQUNIX0VYQ0VQVElPTlMpCiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6dXNlTWFjaEZvckV4
Y2VwdGlvbnMoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384921</attachid>
            <date>2019-12-05 10:46:23 -0800</date>
            <delta_ts>2019-12-05 12:17:42 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-204886.patch</filename>
            <type>text/plain</type>
            <size>3563</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUzMTU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE5LTEyLTA1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBj
b21wdXRlSWZVc2luZ0Z1enplckFnZW50KCkgaXMgY2FsbGVkIGJlZm9yZSBwYXJzaW5nIGNvbW1h
bmQgbGluZSBhcmd1bWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gY2FsbHMgY29tcHV0ZUlmVXNp
bmdGdXp6ZXJBZ2VudCgpIGFmdGVyIHBhcnNpbmcgZm9yCisgICAgICAgIEpTQ18gb3B0aW9ucyBm
cm9tIGVudmlyb25tZW50YWwgdmFyaWFibGVzLiAgSG93ZXZlciwgdGhpcyBkb2VzIG5vdCBoYW5k
bGUgdGhlIGNhc2UKKyAgICAgICAgd2hlcmUgb3B0aW9ucyBhcmUgc3BlY2lmaWVkIHZpYSB0aGUg
anNjIHNoZWxsIGNvbW1hbmQgbGluZS4gIFRoZSBmaXggaXMgc2ltcGx5CisgICAgICAgIG1vdmUg
dGhlIGNhbGwgdG8gY29tcHV0ZUlmVXNpbmdGdXp6ZXJBZ2VudCgpIGludG8gcmVjb21wdXRlRGVw
ZW5kZW50T3B0aW9ucygpLgorCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAg
ICAgKEpTQzo6Y29tcHV0ZUlmVXNpbmdGdXp6ZXJBZ2VudCk6CisgICAgICAgIChKU0M6OnJlY29t
cHV0ZURlcGVuZGVudE9wdGlvbnMpOgorICAgICAgICAoSlNDOjpPcHRpb25zOjppbml0aWFsaXpl
KToKKwogMjAxOS0xMi0wNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIEFJIHNob3VsZCBjb252ZXJ0IElzQ2VsbFdpdGhUeXBlIHRvIGNvbnN0YW50
IHdoZW4gU3RydWN0dXJlIHNldCBpcyBmaW5pdGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnMuY3BwCShyZXZpc2lvbiAyNTMxNDUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgxLDYgKzM4
MSwyMSBAQCBzdGF0aWMgdm9pZCBjb3JyZWN0T3B0aW9ucygpCiAgICAgICAgIE9wdGlvbnM6OnRo
cmVzaG9sZEZvckdsb2JhbExleGljYWxCaW5kaW5nRXBvY2goKSA9IFVJTlRfTUFYOwogfQogCitz
dGF0aWMgdm9pZCBjb21wdXRlSWZVc2luZ0Z1enplckFnZW50KCkKK3sKKyAgICBnX2pzY0NvbmZp
Zy5vcHRpb25zLmlzVXNpbmdGdXp6ZXJBZ2VudCA9IGZhbHNlOworI2RlZmluZSBDSEVDS19JRl9V
U0lOR19GVVpaRVJfQUdFTlQodHlwZV8sIG5hbWVfLCBkZWZhdWx0VmFsdWVfLCBhdmFpbGFiaWxp
dHlfLCBkZXNjcmlwdGlvbl8pIHsgXAorICAgICAgICBjb25zdCBjaGFyIG5hbWVbXSA9ICNuYW1l
XzsgXAorICAgICAgICB1bnNpZ25lZCBuYW1lTGVuZ3RoID0gc3RybGVuKG5hbWUpOyBcCisgICAg
ICAgIGlmIChuYW1lTGVuZ3RoID4gMTQgJiYgIXN0cm5jbXAobmFtZSwgInVzZSIsIDMpICYmICFz
dHJuY21wKCZuYW1lW25hbWVMZW5ndGggLTExXSwgIkZ1enplckFnZW50IiwgMTEpKSB7IFwKKyAg
ICAgICAgICAgIGlmIChPcHRpb25zOjpuYW1lXygpKSBcCisgICAgICAgICAgICAgICAgZ19qc2ND
b25maWcub3B0aW9ucy5pc1VzaW5nRnV6emVyQWdlbnQgPSB0cnVlOyBcCisgICAgICAgIH0gXAor
ICAgIH0KKyAgICBGT1JfRUFDSF9KU0NfT1BUSU9OKENIRUNLX0lGX1VTSU5HX0ZVWlpFUl9BR0VO
VCkKKyN1bmRlZiBDSEVDS19JRl9VU0lOR19GVVpaRVJfQUdFTlQKK30KKwogc3RhdGljIHZvaWQg
cmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygpCiB7CiAjaWYgIWRlZmluZWQoTkRFQlVHKQpAQCAt
NTIyLDYgKzUzNyw4IEBAIHN0YXRpYyB2b2lkIHJlY29tcHV0ZURlcGVuZGVudE9wdGlvbnMoKQog
ICAgICAgICBPcHRpb25zOjpyYW5kb21JbnRlZ3JpdHlBdWRpdFJhdGUoKSA9IDA7CiAgICAgZWxz
ZSBpZiAoT3B0aW9uczo6cmFuZG9tSW50ZWdyaXR5QXVkaXRSYXRlKCkgPiAxLjApCiAgICAgICAg
IE9wdGlvbnM6OnJhbmRvbUludGVncml0eUF1ZGl0UmF0ZSgpID0gMS4wOworCisgICAgY29tcHV0
ZUlmVXNpbmdGdXp6ZXJBZ2VudCgpOwogfQogCiBpbmxpbmUgdm9pZCogT3B0aW9uczo6YWRkcmVz
c09mT3B0aW9uKE9wdGlvbnM6OklEIGlkKQpAQCAtNTM2LDIxICs1NTMsNiBAQCBpbmxpbmUgdm9p
ZCogT3B0aW9uczo6YWRkcmVzc09mT3B0aW9uRGVmCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8dWludDhfdCo+KCZnX2pzY0NvbmZpZy5vcHRpb25zKSArIG9mZnNldDsKIH0KIAotc3RhdGlj
IHZvaWQgY29tcHV0ZUlmVXNpbmdGdXp6ZXJBZ2VudCgpCi17Ci0gICAgZ19qc2NDb25maWcub3B0
aW9ucy5pc1VzaW5nRnV6emVyQWdlbnQgPSBmYWxzZTsKLSNkZWZpbmUgQ0hFQ0tfSUZfVVNJTkdf
RlVaWkVSX0FHRU5UKHR5cGVfLCBuYW1lXywgZGVmYXVsdFZhbHVlXywgYXZhaWxhYmlsaXR5Xywg
ZGVzY3JpcHRpb25fKSB7IFwKLSAgICAgICAgY29uc3QgY2hhciBuYW1lW10gPSAjbmFtZV87IFwK
LSAgICAgICAgdW5zaWduZWQgbmFtZUxlbmd0aCA9IHN0cmxlbihuYW1lKTsgXAotICAgICAgICBp
ZiAobmFtZUxlbmd0aCA+IDE0ICYmICFzdHJuY21wKG5hbWUsICJ1c2UiLCAzKSAmJiAhc3RybmNt
cCgmbmFtZVtuYW1lTGVuZ3RoIC0xMV0sICJGdXp6ZXJBZ2VudCIsIDExKSkgeyBcCi0gICAgICAg
ICAgICBpZiAoT3B0aW9uczo6bmFtZV8oKSkgXAotICAgICAgICAgICAgICAgIGdfanNjQ29uZmln
Lm9wdGlvbnMuaXNVc2luZ0Z1enplckFnZW50ID0gdHJ1ZTsgXAotICAgICAgICB9IFwKLSAgICB9
Ci0gICAgRk9SX0VBQ0hfSlNDX09QVElPTihDSEVDS19JRl9VU0lOR19GVVpaRVJfQUdFTlQpCi0j
dW5kZWYgQ0hFQ0tfSUZfVVNJTkdfRlVaWkVSX0FHRU5UCi19Ci0KIHZvaWQgT3B0aW9uczo6aW5p
dGlhbGl6ZSgpCiB7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVPcHRpb25z
T25jZUZsYWc7CkBAIC02MjQsNyArNjI2LDYgQEAgdm9pZCBPcHRpb25zOjppbml0aWFsaXplKCkK
IAogICAgICAgICAgICAgZHVtcE9wdGlvbnNJZk5lZWRlZCgpOwogICAgICAgICAgICAgZW5zdXJl
T3B0aW9uc0FyZUNvaGVyZW50KCk7Ci0gICAgICAgICAgICBjb21wdXRlSWZVc2luZ0Z1enplckFn
ZW50KCk7CiAKICNpZiBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKICAgICAgICAgICAgIGlmIChPcHRp
b25zOjp1c2VNYWNoRm9yRXhjZXB0aW9ucygpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384933</attachid>
            <date>2019-12-05 12:17:42 -0800</date>
            <delta_ts>2019-12-05 12:21:21 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-204886.patch</filename>
            <type>text/plain</type>
            <size>5166</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUzMTYwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE5LTEyLTA1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBj
b21wdXRlSWZVc2luZ0Z1enplckFnZW50KCkgaXMgY2FsbGVkIGJlZm9yZSBwYXJzaW5nIGNvbW1h
bmQgbGluZSBhcmd1bWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSb2xsaW5nIG91dCByMjUzMDE1IHdoaWNoIGludHJvZHVjZWQgY29tcHV0ZUlm
VXNpbmdGdXp6ZXJBZ2VudCgpLgorCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAg
ICAgICAgKEpTQzo6T3B0aW9uczo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChKU0M6OmNvbXB1dGVJ
ZlVzaW5nRnV6emVyQWdlbnQpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5o
OgorICAgICAgICAoSlNDOjpPcHRpb25zOjppc1VzaW5nRnV6emVyQWdlbnQpOiBEZWxldGVkLgor
ICAgICAgICAqIHJ1bnRpbWUvT3B0aW9uc0xpc3QuaDoKKyAgICAgICAgKEpTQzo6T3B0aW9uUmFu
Z2U6Om9wZXJhdG9yIGJvb2wgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvVk0u
Y3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorCiAyMDE5LTEyLTA0ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQUkgc2hvdWxkIGNvbnZlcnQg
SXNDZWxsV2l0aFR5cGUgdG8gY29uc3RhbnQgd2hlbiBTdHJ1Y3R1cmUgc2V0IGlzIGZpbml0ZQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAJKHJldmlzaW9u
IDI1MzE2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MzYsMjEgKzUzNiw2IEBAIGlubGluZSB2b2lkKiBPcHRpb25zOjph
ZGRyZXNzT2ZPcHRpb25EZWYKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4o
JmdfanNjQ29uZmlnLm9wdGlvbnMpICsgb2Zmc2V0OwogfQogCi1zdGF0aWMgdm9pZCBjb21wdXRl
SWZVc2luZ0Z1enplckFnZW50KCkKLXsKLSAgICBnX2pzY0NvbmZpZy5vcHRpb25zLmlzVXNpbmdG
dXp6ZXJBZ2VudCA9IGZhbHNlOwotI2RlZmluZSBDSEVDS19JRl9VU0lOR19GVVpaRVJfQUdFTlQo
dHlwZV8sIG5hbWVfLCBkZWZhdWx0VmFsdWVfLCBhdmFpbGFiaWxpdHlfLCBkZXNjcmlwdGlvbl8p
IHsgXAotICAgICAgICBjb25zdCBjaGFyIG5hbWVbXSA9ICNuYW1lXzsgXAotICAgICAgICB1bnNp
Z25lZCBuYW1lTGVuZ3RoID0gc3RybGVuKG5hbWUpOyBcCi0gICAgICAgIGlmIChuYW1lTGVuZ3Ro
ID4gMTQgJiYgIXN0cm5jbXAobmFtZSwgInVzZSIsIDMpICYmICFzdHJuY21wKCZuYW1lW25hbWVM
ZW5ndGggLTExXSwgIkZ1enplckFnZW50IiwgMTEpKSB7IFwKLSAgICAgICAgICAgIGlmIChPcHRp
b25zOjpuYW1lXygpKSBcCi0gICAgICAgICAgICAgICAgZ19qc2NDb25maWcub3B0aW9ucy5pc1Vz
aW5nRnV6emVyQWdlbnQgPSB0cnVlOyBcCi0gICAgICAgIH0gXAotICAgIH0KLSAgICBGT1JfRUFD
SF9KU0NfT1BUSU9OKENIRUNLX0lGX1VTSU5HX0ZVWlpFUl9BR0VOVCkKLSN1bmRlZiBDSEVDS19J
Rl9VU0lOR19GVVpaRVJfQUdFTlQKLX0KLQogdm9pZCBPcHRpb25zOjppbml0aWFsaXplKCkKIHsK
ICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZU9wdGlvbnNPbmNlRmxhZzsKQEAg
LTYyNCw3ICs2MDksNiBAQCB2b2lkIE9wdGlvbnM6OmluaXRpYWxpemUoKQogCiAgICAgICAgICAg
ICBkdW1wT3B0aW9uc0lmTmVlZGVkKCk7CiAgICAgICAgICAgICBlbnN1cmVPcHRpb25zQXJlQ29o
ZXJlbnQoKTsKLSAgICAgICAgICAgIGNvbXB1dGVJZlVzaW5nRnV6emVyQWdlbnQoKTsKIAogI2lm
IEhBVkUoTUFDSF9FWENFUFRJT05TKQogICAgICAgICAgICAgaWYgKE9wdGlvbnM6OnVzZU1hY2hG
b3JFeGNlcHRpb25zKCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5oCShyZXZpc2lvbiAyNTMxNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDggKzk3LDYgQEAgcHVibGljOgogCiAgICAg
c3RhdGljIGJvb2wgaXNBdmFpbGFibGUoSUQsIEF2YWlsYWJpbGl0eSk7CiAKLSAgICBzdGF0aWMg
Ym9vbCBpc1VzaW5nRnV6emVyQWdlbnQoKSB7IHJldHVybiBnX2pzY0NvbmZpZy5vcHRpb25zLmlz
VXNpbmdGdXp6ZXJBZ2VudDsgfQotCiBwcml2YXRlOgogICAgIHN0cnVjdCBDb25zdE1ldGFEYXRh
IHsKICAgICAgICAgY29uc3QgY2hhciogbmFtZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAkocmV2aXNpb24gMjUzMTYwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTcy
LDggKzU3Miw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5SYW5nZSh1bnNpZ25lZCk7CiAgICAg
Y29uc3QgY2hhciogcmFuZ2VTdHJpbmcoKSBjb25zdCB7IHJldHVybiAobV9zdGF0ZSA+IEluaXRF
cnJvcikgPyBtX3JhbmdlU3RyaW5nIDogc19udWxsUmFuZ2VTdHI7IH0KICAgICAKLSAgICBvcGVy
YXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSAhPSBVbmluaXRpYWxpemVkOyB9Ci0K
ICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC02
MDAsOCArNTk4LDYgQEAgc3RydWN0IE9wdGlvbnNTdG9yYWdlIHsKICAgICB0eXBlXyBuYW1lXyMj
RGVmYXVsdDsKIEZPUl9FQUNIX0pTQ19PUFRJT04oREVDTEFSRV9PUFRJT04pCiAjdW5kZWYgREVD
TEFSRV9PUFRJT04KLQotICAgIGJvb2wgaXNVc2luZ0Z1enplckFnZW50OyAvLyBUaGlzIHZhbHVl
IGlzIGNvbXB1dGVkIGluIE9wdGlvbnM6OmluaXRpYWxpemUoKS4KIH07CiAKIC8vIE9wdGlvbnM6
Ok1ldGFkYXRhJ3Mgb2Zmc2V0T2ZPcHRpb24gYW5kIG9mZnNldE9mT3B0aW9uRGVmYXVsdCByZWxp
ZXMgb24gdGhpcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJldmlz
aW9uIDI1MzE2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDkzLDE2ICs0OTMsMTQgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhl
YXBUeXBlIGhlYXBUeXBlKQogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoU0FNUExJTkdfUFJPRklM
RVIpCiAKLSAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6aXNVc2luZ0Z1enplckFnZW50KCkpKSB7
Ci0gICAgICAgIGlmIChPcHRpb25zOjp1c2VSYW5kb21pemluZ0Z1enplckFnZW50KCkpCi0gICAg
ICAgICAgICBzZXRGdXp6ZXJBZ2VudChtYWtlVW5pcXVlPFJhbmRvbWl6aW5nRnV6emVyQWdlbnQ+
KCp0aGlzKSk7Ci0gICAgICAgIGlmIChPcHRpb25zOjp1c2VEb3VibGVQcmVkaWN0aW9uRnV6emVy
QWdlbnQoKSkKLSAgICAgICAgICAgIHNldEZ1enplckFnZW50KG1ha2VVbmlxdWU8RG91YmxlUHJl
ZGljdGlvbkZ1enplckFnZW50PigqdGhpcykpOwotICAgICAgICBpZiAoT3B0aW9uczo6dXNlRmls
ZUJhc2VkRnV6emVyQWdlbnQoKSkKLSAgICAgICAgICAgIHNldEZ1enplckFnZW50KG1ha2VVbmlx
dWU8RmlsZUJhc2VkRnV6emVyQWdlbnQ+KCp0aGlzKSk7Ci0gICAgICAgIGlmIChPcHRpb25zOjp1
c2VQcmVkaWN0aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQoKSkKLSAgICAgICAgICAgIHNldEZ1
enplckFnZW50KG1ha2VVbmlxdWU8UHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFnZW50Pigq
dGhpcykpOwotICAgIH0KKyAgICBpZiAoT3B0aW9uczo6dXNlUmFuZG9taXppbmdGdXp6ZXJBZ2Vu
dCgpKQorICAgICAgICBzZXRGdXp6ZXJBZ2VudChtYWtlVW5pcXVlPFJhbmRvbWl6aW5nRnV6emVy
QWdlbnQ+KCp0aGlzKSk7CisgICAgaWYgKE9wdGlvbnM6OnVzZURvdWJsZVByZWRpY3Rpb25GdXp6
ZXJBZ2VudCgpKQorICAgICAgICBzZXRGdXp6ZXJBZ2VudChtYWtlVW5pcXVlPERvdWJsZVByZWRp
Y3Rpb25GdXp6ZXJBZ2VudD4oKnRoaXMpKTsKKyAgICBpZiAoT3B0aW9uczo6dXNlRmlsZUJhc2Vk
RnV6emVyQWdlbnQoKSkKKyAgICAgICAgc2V0RnV6emVyQWdlbnQobWFrZVVuaXF1ZTxGaWxlQmFz
ZWRGdXp6ZXJBZ2VudD4oKnRoaXMpKTsKKyAgICBpZiAoT3B0aW9uczo6dXNlUHJlZGljdGlvbkZp
bGVDcmVhdGluZ0Z1enplckFnZW50KCkpCisgICAgICAgIHNldEZ1enplckFnZW50KG1ha2VVbmlx
dWU8UHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFnZW50PigqdGhpcykpOwogCiAgICAgaWYg
KE9wdGlvbnM6OmFsd2F5c0dlbmVyYXRlUENUb0NvZGVPcmlnaW5NYXAoKSkKICAgICAgICAgc2V0
U2hvdWxkQnVpbGRQQ1RvQ29kZU9yaWdpbk1hcHBpbmcoKTsK
</data>
<flag name="review"
          id="400769"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>