<?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>226236</bug_id>
          
          <creation_ts>2021-05-25 13:00:03 -0700</creation_ts>
          <short_desc>[webkitpy] Use existing signal handler when printing stacktrace</short_desc>
          <delta_ts>2021-05-27 18:07:39 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226234</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1763638</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-25 13:00:03 -0700</bug_when>
    <thetext>It is useful to retain the existing signal handler when printing a stack trace. This is particularly important when multiprocessing, since the SIGTERM and SIGINT handlers may not exit the process or raise an exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763641</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-25 13:00:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/78471882&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763646</commentid>
    <comment_count>2</comment_count>
      <attachid>429686</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-25 13:14:28 -0700</bug_when>
    <thetext>Created attachment 429686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764547</commentid>
    <comment_count>3</comment_count>
      <attachid>429686</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-05-27 15:35:34 -0700</bug_when>
    <thetext>Comment on attachment 429686
Patch

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

&gt; Tools/Scripts/webkitpy/common/interrupt_debugging.py:95
&gt;  def log_stack_trace_on_term(output_file=None):
&gt; +    if not getattr(signal, &apos;SIGTERM&apos;):
&gt; +        return
&gt; +
&gt; +    previous = signal.getsignal(signal.SIGTERM)
&gt; +
&gt;      def handler(signum, frame):
&gt;          with StackTraceFileContext(output_file=output_file) as file:
&gt;              file.write(&apos;SIGTERM signal received&apos;)
&gt;              log_stack_trace(frame, file)
&gt;  
&gt; -        exit(-1)
&gt; +        return previous(signum, frame)
&gt;  
&gt; -    signal.signal(signal.SIGTERM, handler)
&gt; +    return signal.signal(signal.SIGTERM, handler)
&gt;  
&gt;  
&gt;  def log_stack_trace_on_ctrl_c(output_file=None):
&gt; +    if not getattr(signal, &apos;SIGINT&apos;):
&gt; +        return
&gt; +
&gt; +    previous = signal.getsignal(signal.SIGINT)
&gt; +
&gt;      def handler(signum, frame):
&gt;          with StackTraceFileContext(output_file=output_file) as file:
&gt;              file.write(&apos;CTRL+C received\n&apos;)
&gt;              log_stack_trace(frame, file)
&gt;  
&gt; -        raise KeyboardInterrupt
&gt; +        return previous(signum, frame)
&gt;  
&gt; -    signal.signal(signal.SIGINT, handler)
&gt; +    return signal.signal(signal.SIGINT, handler)

Those two are almost identical, maybe we can do some refactor here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764550</commentid>
    <comment_count>4</comment_count>
      <attachid>429686</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-27 15:39:04 -0700</bug_when>
    <thetext>Comment on attachment 429686
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/interrupt_debugging.py:95
&gt;&gt; +    return signal.signal(signal.SIGINT, handler)
&gt; 
&gt; Those two are almost identical, maybe we can do some refactor here?

We could convert them both to &quot;log_stack_trace_on_signal&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764570</commentid>
    <comment_count>5</comment_count>
      <attachid>429950</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-27 16:25:46 -0700</bug_when>
    <thetext>Created attachment 429950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764574</commentid>
    <comment_count>6</comment_count>
      <attachid>429950</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-05-27 16:36:54 -0700</bug_when>
    <thetext>Comment on attachment 429950
Patch

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

r=me

&gt; Tools/Scripts/webkitpy/common/interrupt_debugging.py:66
&gt; +def log_stack_trace_on_signal(signum, output_file=None):

Would it a better logging info if we pass sig_name instead of signum?

log_stack_trace_on_signal(&apos;SIGTERM&apos;, output_file=stack_trace_path)
log_stack_trace_on_signal(&apos;SIGINT&apos;, output_file=stack_trace_path)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764577</commentid>
    <comment_count>7</comment_count>
      <attachid>429950</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-05-27 16:40:18 -0700</bug_when>
    <thetext>Comment on attachment 429950
Patch

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

&gt; Tools/Scripts/webkitpy/common/interrupt_debugging.py:83
&gt; +        if previous == getattr(signal, &apos;SIG_DFL&apos;):
&gt; +            if signum_ == getattr(signal, &apos;SIGTERM&apos;):
&gt; +                sys.exit(-1)
&gt; +            if signum_ == getattr(signal, &apos;SIGINT&apos;):
&gt; +                raise KeyboardInterrupt

In previous version patch, we don&apos;t do those?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764601</commentid>
    <comment_count>8</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-27 17:23:19 -0700</bug_when>
    <thetext>(In reply to dewei_zhu from comment #7)
&gt; Comment on attachment 429950 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=429950&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/interrupt_debugging.py:83
&gt; &gt; +        if previous == getattr(signal, &apos;SIG_DFL&apos;):
&gt; &gt; +            if signum_ == getattr(signal, &apos;SIGTERM&apos;):
&gt; &gt; +                sys.exit(-1)
&gt; &gt; +            if signum_ == getattr(signal, &apos;SIGINT&apos;):
&gt; &gt; +                raise KeyboardInterrupt
&gt; 
&gt; In previous version patch, we don&apos;t do those?

No, I realized (with the keyboard interrupt, specifically), the only reason it was &quot;working&quot; is that attempting to invoke an integer resulted in an exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764602</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-27 17:23:32 -0700</bug_when>
    <thetext>(In reply to dewei_zhu from comment #6)
&gt; Comment on attachment 429950 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=429950&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/interrupt_debugging.py:66
&gt; &gt; +def log_stack_trace_on_signal(signum, output_file=None):
&gt; 
&gt; Would it a better logging info if we pass sig_name instead of signum?
&gt; 
&gt; log_stack_trace_on_signal(&apos;SIGTERM&apos;, output_file=stack_trace_path)
&gt; log_stack_trace_on_signal(&apos;SIGINT&apos;, output_file=stack_trace_path)

Good idea! Let me update for this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764607</commentid>
    <comment_count>10</comment_count>
      <attachid>429964</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-27 17:42:54 -0700</bug_when>
    <thetext>Created attachment 429964
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764614</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-27 18:07:38 -0700</bug_when>
    <thetext>Committed r278184 (238227@main): &lt;https://commits.webkit.org/238227@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429964.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429686</attachid>
            <date>2021-05-25 13:14:28 -0700</date>
            <delta_ts>2021-05-27 16:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226236-20210525131427.patch</filename>
            <type>text/plain</type>
            <size>2093</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3ODAzNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDIxLTA1LTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIFVzZSBleGlzdGluZyBzaWduYWwgaGFuZGxlciB3aGVu
IHByaW50aW5nIHN0YWNrdHJhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjIzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg0NzE4ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9pbnRlcnJ1cHRfZGVidWdnaW5nLnB5OgorICAgICAgICAobG9nX3N0
YWNrX3RyYWNlX29uX3Rlcm0pOiBDYWxsIHByZXZpb3VzIGhhbmRsZXIgYWZ0ZXIgbG9nZ2luZyBz
dGFja3RyYWNlLgorICAgICAgICAobG9nX3N0YWNrX3RyYWNlX29uX2N0cmxfYyk6IERpdHRvLgor
CiAyMDIxLTA1LTI0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBT
d2l0Y2ggZnJvbSBXVEY6Ok9wdGlvbmFsIHRvIHN0ZDo6b3B0aW9uYWwKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2ludGVycnVwdF9kZWJ1Z2dpbmcucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vaW50ZXJydXB0X2RlYnVnZ2luZy5weQko
cmV2aXNpb24gMjc4MDM2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vaW50ZXJy
dXB0X2RlYnVnZ2luZy5weQkod29ya2luZyBjb3B5KQpAQCAtNjQsMjIgKzY0LDMyIEBAIGNsYXNz
IFN0YWNrVHJhY2VGaWxlQ29udGV4dChvYmplY3QpOgogCiAKIGRlZiBsb2dfc3RhY2tfdHJhY2Vf
b25fdGVybShvdXRwdXRfZmlsZT1Ob25lKToKKyAgICBpZiBub3QgZ2V0YXR0cihzaWduYWwsICdT
SUdURVJNJyk6CisgICAgICAgIHJldHVybgorCisgICAgcHJldmlvdXMgPSBzaWduYWwuZ2V0c2ln
bmFsKHNpZ25hbC5TSUdURVJNKQorCiAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CiAg
ICAgICAgIHdpdGggU3RhY2tUcmFjZUZpbGVDb250ZXh0KG91dHB1dF9maWxlPW91dHB1dF9maWxl
KSBhcyBmaWxlOgogICAgICAgICAgICAgZmlsZS53cml0ZSgnU0lHVEVSTSBzaWduYWwgcmVjZWl2
ZWQnKQogICAgICAgICAgICAgbG9nX3N0YWNrX3RyYWNlKGZyYW1lLCBmaWxlKQogCi0gICAgICAg
IGV4aXQoLTEpCisgICAgICAgIHJldHVybiBwcmV2aW91cyhzaWdudW0sIGZyYW1lKQogCi0gICAg
c2lnbmFsLnNpZ25hbChzaWduYWwuU0lHVEVSTSwgaGFuZGxlcikKKyAgICByZXR1cm4gc2lnbmFs
LnNpZ25hbChzaWduYWwuU0lHVEVSTSwgaGFuZGxlcikKIAogCiBkZWYgbG9nX3N0YWNrX3RyYWNl
X29uX2N0cmxfYyhvdXRwdXRfZmlsZT1Ob25lKToKKyAgICBpZiBub3QgZ2V0YXR0cihzaWduYWws
ICdTSUdJTlQnKToKKyAgICAgICAgcmV0dXJuCisKKyAgICBwcmV2aW91cyA9IHNpZ25hbC5nZXRz
aWduYWwoc2lnbmFsLlNJR0lOVCkKKwogICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgog
ICAgICAgICB3aXRoIFN0YWNrVHJhY2VGaWxlQ29udGV4dChvdXRwdXRfZmlsZT1vdXRwdXRfZmls
ZSkgYXMgZmlsZToKICAgICAgICAgICAgIGZpbGUud3JpdGUoJ0NUUkwrQyByZWNlaXZlZFxuJykK
ICAgICAgICAgICAgIGxvZ19zdGFja190cmFjZShmcmFtZSwgZmlsZSkKIAotICAgICAgICByYWlz
ZSBLZXlib2FyZEludGVycnVwdAorICAgICAgICByZXR1cm4gcHJldmlvdXMoc2lnbnVtLCBmcmFt
ZSkKIAotICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0lOVCwgaGFuZGxlcikKKyAgICByZXR1
cm4gc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHSU5ULCBoYW5kbGVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429950</attachid>
            <date>2021-05-27 16:25:46 -0700</date>
            <delta_ts>2021-05-27 17:42:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226236-20210527162545.patch</filename>
            <type>text/plain</type>
            <size>4080</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3ODE4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTA1LTI3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIFVzZSBleGlzdGluZyBzaWduYWwgaGFuZGxlciB3aGVu
IHByaW50aW5nIHN0YWNrdHJhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjIzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg0NzE4ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9pbnRlcnJ1cHRfZGVidWdnaW5nLnB5OgorICAgICAgICAobG9nX3N0
YWNrX3RyYWNlX29uX3NpZ25hbCk6IFVzZSB0aGUgc2FtZSBpbXBsZW1lbnRhdGlvbiBmb3IgU0lH
VEVSTSBhbmQgU0lHSU5UIHNpZ25hbHMsIGNhbGwgZXhpc3RpbmcKKyAgICAgICAgaGFuZGxlciBh
ZnRlciBsb2dnaW5nIHN0YWNrIHRyYWNlLgorICAgICAgICAobG9nX3N0YWNrX3RyYWNlX29uX3Rl
cm0pOiBEZWxldGVkLgorICAgICAgICAobG9nX3N0YWNrX3RyYWNlX29uX2N0cmxfYyk6IERlbGV0
ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weToKKyAgICAgICAgKG1haW4pOiBVc2UgdGhlIG5ldyBsb2dfc3RhY2tfdHJhY2Vfb25f
c2lnbmFsIGZ1bmN0aW9uLgorCiAyMDIxLTA1LTI3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtydW4td2Via2l0LXRlc3RzXVtXaW5dIFN0cmlw
IFBIUCBzdXBwb3J0IGZyb20gd2Vic2VydmVyCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9pbnRlcnJ1cHRfZGVidWdnaW5nLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2ludGVycnVwdF9kZWJ1Z2dpbmcucHkJKHJldmlzaW9uIDI3ODE3
OSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2ludGVycnVwdF9kZWJ1Z2dpbmcu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTYzLDIzICs2MywyNCBAQCBjbGFzcyBTdGFja1RyYWNlRmls
ZUNvbnRleHQob2JqZWN0KToKICAgICAgICAgc2VsZi5maWxlID0gc3lzLnN0ZGVycgogCiAKLWRl
ZiBsb2dfc3RhY2tfdHJhY2Vfb25fdGVybShvdXRwdXRfZmlsZT1Ob25lKToKLSAgICBkZWYgaGFu
ZGxlcihzaWdudW0sIGZyYW1lKToKLSAgICAgICAgd2l0aCBTdGFja1RyYWNlRmlsZUNvbnRleHQo
b3V0cHV0X2ZpbGU9b3V0cHV0X2ZpbGUpIGFzIGZpbGU6Ci0gICAgICAgICAgICBmaWxlLndyaXRl
KCdTSUdURVJNIHNpZ25hbCByZWNlaXZlZCcpCi0gICAgICAgICAgICBsb2dfc3RhY2tfdHJhY2Uo
ZnJhbWUsIGZpbGUpCi0KLSAgICAgICAgZXhpdCgtMSkKLQotICAgIHNpZ25hbC5zaWduYWwoc2ln
bmFsLlNJR1RFUk0sIGhhbmRsZXIpCitkZWYgbG9nX3N0YWNrX3RyYWNlX29uX3NpZ25hbChzaWdu
dW0sIG91dHB1dF9maWxlPU5vbmUpOgorICAgIGlmIG5vdCBzaWdudW06CisgICAgICAgIHJldHVy
biBOb25lCiAKKyAgICBwcmV2aW91cyA9IHNpZ25hbC5nZXRzaWduYWwoc2lnbnVtKQogCi1kZWYg
bG9nX3N0YWNrX3RyYWNlX29uX2N0cmxfYyhvdXRwdXRfZmlsZT1Ob25lKToKLSAgICBkZWYgaGFu
ZGxlcihzaWdudW0sIGZyYW1lKToKKyAgICBkZWYgaGFuZGxlcihzaWdudW1fLCBmcmFtZSk6CiAg
ICAgICAgIHdpdGggU3RhY2tUcmFjZUZpbGVDb250ZXh0KG91dHB1dF9maWxlPW91dHB1dF9maWxl
KSBhcyBmaWxlOgotICAgICAgICAgICAgZmlsZS53cml0ZSgnQ1RSTCtDIHJlY2VpdmVkXG4nKQor
ICAgICAgICAgICAgZmlsZS53cml0ZSgne30gc2lnbmFsIHJlY2VpdmVkJy5mb3JtYXQoc2lnbnVt
XykpCiAgICAgICAgICAgICBsb2dfc3RhY2tfdHJhY2UoZnJhbWUsIGZpbGUpCiAKLSAgICAgICAg
cmFpc2UgS2V5Ym9hcmRJbnRlcnJ1cHQKKyAgICAgICAgaWYgcHJldmlvdXMgaW4gKE5vbmUsIGdl
dGF0dHIoc2lnbmFsLCAnU0lHX0lHTicpKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBp
ZiBwcmV2aW91cyA9PSBnZXRhdHRyKHNpZ25hbCwgJ1NJR19ERkwnKToKKyAgICAgICAgICAgIGlm
IHNpZ251bV8gPT0gZ2V0YXR0cihzaWduYWwsICdTSUdURVJNJyk6CisgICAgICAgICAgICAgICAg
c3lzLmV4aXQoLTEpCisgICAgICAgICAgICBpZiBzaWdudW1fID09IGdldGF0dHIoc2lnbmFsLCAn
U0lHSU5UJyk6CisgICAgICAgICAgICAgICAgcmFpc2UgS2V5Ym9hcmRJbnRlcnJ1cHQKKyAgICAg
ICAgcmV0dXJuIHByZXZpb3VzKHNpZ251bV8sIGZyYW1lKQogCi0gICAgc2lnbmFsLnNpZ25hbChz
aWduYWwuU0lHSU5ULCBoYW5kbGVyKQorICAgIHJldHVybiBzaWduYWwuc2lnbmFsKHNpZ251bSwg
aGFuZGxlcikKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkocmV2aXNpb24gMjc4MTc5KQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsMTEgKzMyLDEyIEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRf
ZnVuY3Rpb24KIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3B0cGFyc2UKIGltcG9ydCBvcworaW1w
b3J0IHNpZ25hbAogaW1wb3J0IHN5cwogaW1wb3J0IHRyYWNlYmFjawogCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5ob3N0IGltcG9ydCBIb3N0Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5pbnRlcnJ1cHRf
ZGVidWdnaW5nIGltcG9ydCBsb2dfc3RhY2tfdHJhY2Vfb25fY3RybF9jLCBsb2dfc3RhY2tfdHJh
Y2Vfb25fdGVybQorZnJvbSB3ZWJraXRweS5jb21tb24uaW50ZXJydXB0X2RlYnVnZ2luZyBpbXBv
cnQgbG9nX3N0YWNrX3RyYWNlX29uX3NpZ25hbAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMu
Y29udHJvbGxlcnMubWFuYWdlciBpbXBvcnQgTWFuYWdlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMubW9kZWxzLnRlc3RfcnVuX3Jlc3VsdHMgaW1wb3J0IElOVEVSUlVQVEVEX0VYSVRfU1RB
VFVTCiBmcm9tIHdlYmtpdHB5LnBvcnQgaW1wb3J0IGNvbmZpZ3VyYXRpb25fb3B0aW9ucywgcGxh
dGZvcm1fb3B0aW9ucwpAQCAtNzcsOCArNzgsOCBAQCBkZWYgbWFpbihhcmd2LCBzdGRvdXQsIHN0
ZGVycik6CiAgICAgICAgIHJldHVybiBFWENFUFRJT05BTF9FWElUX1NUQVRVUwogCiAgICAgc3Rh
Y2tfdHJhY2VfcGF0aCA9IGhvc3QuZmlsZXN5c3RlbS5qb2luKHBvcnQucmVzdWx0c19kaXJlY3Rv
cnkoKSwgJ3B5dGhvbl9zdGFja190cmFjZS50eHQnKQotICAgIGxvZ19zdGFja190cmFjZV9vbl9j
dHJsX2Mob3V0cHV0X2ZpbGU9c3RhY2tfdHJhY2VfcGF0aCkKLSAgICBsb2dfc3RhY2tfdHJhY2Vf
b25fdGVybShvdXRwdXRfZmlsZT1zdGFja190cmFjZV9wYXRoKQorICAgIGxvZ19zdGFja190cmFj
ZV9vbl9zaWduYWwoZ2V0YXR0cihzaWduYWwsICdTSUdURVJNJyksIG91dHB1dF9maWxlPXN0YWNr
X3RyYWNlX3BhdGgpCisgICAgbG9nX3N0YWNrX3RyYWNlX29uX3NpZ25hbChnZXRhdHRyKHNpZ25h
bCwgJ1NJR0lOVCcpLCBvdXRwdXRfZmlsZT1zdGFja190cmFjZV9wYXRoKQogCiAgICAgaWYgb3B0
aW9ucy5wcmludF9leHBlY3RhdGlvbnM6CiAgICAgICAgIHJldHVybiBfcHJpbnRfZXhwZWN0YXRp
b25zKHBvcnQsIG9wdGlvbnMsIGFyZ3MsIHN0ZGVycikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429964</attachid>
            <date>2021-05-27 17:42:54 -0700</date>
            <delta_ts>2021-05-27 18:07:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226236-20210527174253.patch</filename>
            <type>text/plain</type>
            <size>4047</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3ODE4MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTA1LTI3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIFVzZSBleGlzdGluZyBzaWduYWwgaGFuZGxlciB3aGVu
IHByaW50aW5nIHN0YWNrdHJhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjIzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg0NzE4ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGV3ZWkgWmh1LgorCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vaW50ZXJydXB0X2RlYnVnZ2luZy5weToKKyAgICAgICAgKGxvZ19zdGFja190
cmFjZV9vbl9zaWduYWwpOiBVc2UgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gZm9yIFNJR1RFUk0g
YW5kIFNJR0lOVCBzaWduYWxzLCBjYWxsIGV4aXN0aW5nCisgICAgICAgIGhhbmRsZXIgYWZ0ZXIg
bG9nZ2luZyBzdGFjayB0cmFjZS4KKyAgICAgICAgKGxvZ19zdGFja190cmFjZV9vbl90ZXJtKTog
RGVsZXRlZC4KKyAgICAgICAgKGxvZ19zdGFja190cmFjZV9vbl9jdHJsX2MpOiBEZWxldGVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMu
cHk6CisgICAgICAgIChtYWluKTogVXNlIHRoZSBuZXcgbG9nX3N0YWNrX3RyYWNlX29uX3NpZ25h
bCBmdW5jdGlvbi4KKwogMjAyMS0wNS0yNyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbcnVuLXdlYmtpdC10ZXN0c11bV2luXSBTdHJpcCBQSFAg
c3VwcG9ydCBmcm9tIHdlYnNlcnZlcgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vaW50ZXJydXB0X2RlYnVnZ2luZy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9pbnRlcnJ1cHRfZGVidWdnaW5nLnB5CShyZXZpc2lvbiAyNzgxODIpCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9pbnRlcnJ1cHRfZGVidWdnaW5nLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC02MywyMyArNjMsMjUgQEAgY2xhc3MgU3RhY2tUcmFjZUZpbGVDb250
ZXh0KG9iamVjdCk6CiAgICAgICAgIHNlbGYuZmlsZSA9IHN5cy5zdGRlcnIKIAogCi1kZWYgbG9n
X3N0YWNrX3RyYWNlX29uX3Rlcm0ob3V0cHV0X2ZpbGU9Tm9uZSk6Ci0gICAgZGVmIGhhbmRsZXIo
c2lnbnVtLCBmcmFtZSk6Ci0gICAgICAgIHdpdGggU3RhY2tUcmFjZUZpbGVDb250ZXh0KG91dHB1
dF9maWxlPW91dHB1dF9maWxlKSBhcyBmaWxlOgotICAgICAgICAgICAgZmlsZS53cml0ZSgnU0lH
VEVSTSBzaWduYWwgcmVjZWl2ZWQnKQotICAgICAgICAgICAgbG9nX3N0YWNrX3RyYWNlKGZyYW1l
LCBmaWxlKQotCi0gICAgICAgIGV4aXQoLTEpCi0KLSAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5T
SUdURVJNLCBoYW5kbGVyKQorZGVmIGxvZ19zdGFja190cmFjZV9vbl9zaWduYWwoc2lnYXR0ciwg
b3V0cHV0X2ZpbGU9Tm9uZSk6CisgICAgc2lnbnVtID0gZ2V0YXR0cihzaWduYWwsIHNpZ2F0dHIp
CisgICAgaWYgbm90IHNpZ251bToKKyAgICAgICAgcmV0dXJuIE5vbmUKIAorICAgIHByZXZpb3Vz
ID0gc2lnbmFsLmdldHNpZ25hbChzaWdudW0pCiAKLWRlZiBsb2dfc3RhY2tfdHJhY2Vfb25fY3Ry
bF9jKG91dHB1dF9maWxlPU5vbmUpOgotICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgor
ICAgIGRlZiBoYW5kbGVyKHNpZ251bV8sIGZyYW1lKToKICAgICAgICAgd2l0aCBTdGFja1RyYWNl
RmlsZUNvbnRleHQob3V0cHV0X2ZpbGU9b3V0cHV0X2ZpbGUpIGFzIGZpbGU6Ci0gICAgICAgICAg
ICBmaWxlLndyaXRlKCdDVFJMK0MgcmVjZWl2ZWRcbicpCisgICAgICAgICAgICBmaWxlLndyaXRl
KCd7fSBzaWduYWwgcmVjZWl2ZWQnLmZvcm1hdChzaWdhdHRyKSkKICAgICAgICAgICAgIGxvZ19z
dGFja190cmFjZShmcmFtZSwgZmlsZSkKIAotICAgICAgICByYWlzZSBLZXlib2FyZEludGVycnVw
dAorICAgICAgICBpZiBwcmV2aW91cyBpbiAoTm9uZSwgZ2V0YXR0cihzaWduYWwsICdTSUdfSUdO
JykpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIHByZXZpb3VzID09IGdldGF0dHIo
c2lnbmFsLCAnU0lHX0RGTCcpOgorICAgICAgICAgICAgaWYgc2lnYXR0ciA9PSAnU0lHVEVSTSc6
CisgICAgICAgICAgICAgICAgc3lzLmV4aXQoLTEpCisgICAgICAgICAgICBpZiBzaWdhdHRyID09
ICdTSUdJTlQnOgorICAgICAgICAgICAgICAgIHJhaXNlIEtleWJvYXJkSW50ZXJydXB0CisgICAg
ICAgIHJldHVybiBwcmV2aW91cyhzaWdudW1fLCBmcmFtZSkKIAotICAgIHNpZ25hbC5zaWduYWwo
c2lnbmFsLlNJR0lOVCwgaGFuZGxlcikKKyAgICByZXR1cm4gc2lnbmFsLnNpZ25hbChzaWdudW0s
IGhhbmRsZXIpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkJKHJldmlzaW9uIDI3ODE4MikKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDExICszMiwxMiBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50
X2Z1bmN0aW9uCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9wdHBhcnNlCiBpbXBvcnQgb3MKK2lt
cG9ydCBzaWduYWwKIGltcG9ydCBzeXMKIGltcG9ydCB0cmFjZWJhY2sKIAogZnJvbSB3ZWJraXRw
eS5jb21tb24uaG9zdCBpbXBvcnQgSG9zdAotZnJvbSB3ZWJraXRweS5jb21tb24uaW50ZXJydXB0
X2RlYnVnZ2luZyBpbXBvcnQgbG9nX3N0YWNrX3RyYWNlX29uX2N0cmxfYywgbG9nX3N0YWNrX3Ry
YWNlX29uX3Rlcm0KK2Zyb20gd2Via2l0cHkuY29tbW9uLmludGVycnVwdF9kZWJ1Z2dpbmcgaW1w
b3J0IGxvZ19zdGFja190cmFjZV9vbl9zaWduYWwKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3Rz
LmNvbnRyb2xsZXJzLm1hbmFnZXIgaW1wb3J0IE1hbmFnZXIKIGZyb20gd2Via2l0cHkubGF5b3V0
X3Rlc3RzLm1vZGVscy50ZXN0X3J1bl9yZXN1bHRzIGltcG9ydCBJTlRFUlJVUFRFRF9FWElUX1NU
QVRVUwogZnJvbSB3ZWJraXRweS5wb3J0IGltcG9ydCBjb25maWd1cmF0aW9uX29wdGlvbnMsIHBs
YXRmb3JtX29wdGlvbnMKQEAgLTc3LDggKzc4LDggQEAgZGVmIG1haW4oYXJndiwgc3Rkb3V0LCBz
dGRlcnIpOgogICAgICAgICByZXR1cm4gRVhDRVBUSU9OQUxfRVhJVF9TVEFUVVMKIAogICAgIHN0
YWNrX3RyYWNlX3BhdGggPSBob3N0LmZpbGVzeXN0ZW0uam9pbihwb3J0LnJlc3VsdHNfZGlyZWN0
b3J5KCksICdweXRob25fc3RhY2tfdHJhY2UudHh0JykKLSAgICBsb2dfc3RhY2tfdHJhY2Vfb25f
Y3RybF9jKG91dHB1dF9maWxlPXN0YWNrX3RyYWNlX3BhdGgpCi0gICAgbG9nX3N0YWNrX3RyYWNl
X29uX3Rlcm0ob3V0cHV0X2ZpbGU9c3RhY2tfdHJhY2VfcGF0aCkKKyAgICBsb2dfc3RhY2tfdHJh
Y2Vfb25fc2lnbmFsKCdTSUdURVJNJywgb3V0cHV0X2ZpbGU9c3RhY2tfdHJhY2VfcGF0aCkKKyAg
ICBsb2dfc3RhY2tfdHJhY2Vfb25fc2lnbmFsKCdTSUdJTlQnLCBvdXRwdXRfZmlsZT1zdGFja190
cmFjZV9wYXRoKQogCiAgICAgaWYgb3B0aW9ucy5wcmludF9leHBlY3RhdGlvbnM6CiAgICAgICAg
IHJldHVybiBfcHJpbnRfZXhwZWN0YXRpb25zKHBvcnQsIG9wdGlvbnMsIGFyZ3MsIHN0ZGVycikK
</data>

          </attachment>
      

    </bug>

</bugzilla>