<?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>222972</bug_id>
          
          <creation_ts>2021-03-09 06:28:05 -0800</creation_ts>
          <short_desc>[WPE][GTK] TestJSC incorrectly expects garbage collector to collect variables still on the stack</short_desc>
          <delta_ts>2021-10-06 01:09:15 -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=181916</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229321</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>
          
          <blocked>181916</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</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>1737543</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-09 06:28:05 -0800</bug_when>
    <thetext>In bug #181916 we noticed that TestJSC (the testsuite for WPE and GTK ports&apos; JSC API) started failing after switching the GTK port to build with -fvisibility=hidden. Don and I were pretty dumbfounded, but Mark Lam proposed a theory:

&quot;&quot;&quot;
My theory is that the -fvisibility=hidden now makes it such that some functions get inlined, thereby changing the stack values, which in turn potentially keeps a pointer to a dead object on the stack (though the value is not used).  With a conservative GC, that keeps the object alive.

...

The test is making an assumption that there is no temp on the stack / in a register storing the value of weakFoo

try this: 1. move this code into a function and call it:
        weakFoo = adoptGRef(jsc_weak_value_get_value(weak.get()));
        checker.watch(weakFoo.get());
        g_assert_true(jsc_value_is_object(weakFoo.get()));
        weakFoo = nullptr;

2. call sanitizeStackForVM() after that before you do the GC.

See if that makes the test pass

Actually, move all the code that uses weakFoo into the out of line function

If this makes the test pass, then it confirms my suspicion that the test is just badly written and made assumptions about the GC that it shouldn’t have

Alternatively, you can also do this:

1. Set a breakpoint at 3305 and inspect the value of weakFoo
2. Set a breakpoint at 3310, and check if the value of weakFoo is in any registers or in any stack slots
&quot;&quot;&quot;

After implementing Mark&apos;s suggestion, the test began to pass, so it&apos;s probably right. However, my current implementation is messy and not suitable to commit. It also touches only the test that was actually failing, /JSC/weak-value. We should probably audit the entire file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737544</commentid>
    <comment_count>1</comment_count>
      <attachid>422692</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-09 06:28:44 -0800</bug_when>
    <thetext>Created attachment 422692
My test patch from bug #181916</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737640</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-09 10:12:43 -0800</bug_when>
    <thetext>I&apos;m going to break this test and mark it as flaky in bug #181916. When fixed, we need to update Tools/TestWebKitAPI/glib/TestExpectations.json.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737739</commentid>
    <comment_count>3</comment_count>
      <attachid>422753</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-09 13:32:11 -0800</bug_when>
    <thetext>Created attachment 422753
Yucky test patch that fixes this test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737740</commentid>
    <comment_count>4</comment_count>
      <attachid>422753</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-09 13:34:11 -0800</bug_when>
    <thetext>Comment on attachment 422753
Yucky test patch that fixes this test

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

&gt; a/Tools/TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:114
&gt; +    JSContextGroupRef jsContextGroup = jscVirtualMachineGetContextGroup(jscVM);

BTW this is probably leaked. Not sure how refcounting works with the C API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741111</commentid>
    <comment_count>5</comment_count>
      <attachid>422753</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-03-18 02:41:23 -0700</bug_when>
    <thetext>Comment on attachment 422753
Yucky test patch that fixes this test

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

&gt; a/Tools/TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:118
&gt; +static void jscContextSanitizeStack(JSCContext* context)
&gt; +{
&gt; +    JSCVirtualMachine* jscVM = jsc_context_get_virtual_machine(context);
&gt; +    JSContextGroupRef jsContextGroup = jscVirtualMachineGetContextGroup(jscVM);
&gt; +    JSC::VM&amp; vm = *toJS(jsContextGroup);
&gt; +    JSC::JSLockHolder locker(vm);
&gt; +    sanitizeStackForVM(vm);
&gt; +}

I think we could add JSCContextInternal.h with jscContextGarbageCollect() and jscContextSanitizeStack() implemented in JSCContext.cpp. That way we only need to include the internal header from the tests and not use the C API nor internal API from tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785697</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-08-19 22:26:26 -0700</bug_when>
    <thetext>This seems related to bug 229321</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800532</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-05 06:31:11 -0700</bug_when>
    <thetext>It seems calling sanitizeStackForVM is enough to make the test pass with hidden symbols, no need to move code to a function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800533</commentid>
    <comment_count>8</comment_count>
      <attachid>440206</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-05 06:36:47 -0700</bug_when>
    <thetext>Created attachment 440206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800989</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-06 01:08:06 -0700</bug_when>
    <thetext>Committed r283606 (242558@main): &lt;https://commits.webkit.org/242558@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800990</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-06 01:09:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/83922969&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422692</attachid>
            <date>2021-03-09 06:28:44 -0800</date>
            <delta_ts>2021-03-09 13:32:11 -0800</delta_ts>
            <desc>My test patch from bug #181916</desc>
            <filename>test-patch</filename>
            <type>text/plain</type>
            <size>10309</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZTBiZmMwYjg1MWVl
YzBkNGE3YTgzMGJhZWZiMDRhMzhkMjkwMy4uNThmNjEwNDg1MTFmNjM5MjZjMDY0OTMzMGJjM2Y4
YzZiY2IxY2YxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTAzLTA4ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisgICAgICAgIFtXUEVdW0dU
S10gUmVlbmFibGUgLWZ2aXNpYmlsaXR5PWhpZGRlbiAoYW5kIC1mdmlzaWJpbGl0eS1pbmxpbmVz
LWhpZGRlbiBmb3IgV1BFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgxOTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRG9uIE9sbXN0ZWFkLgorCisg
ICAgICAgIFdlIG5lZWQgdG8gZXhwb3J0IHRoZSBkZXN0cnVjdG9yIG9mIEV2ZW50VGFyZ2V0Lgor
CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0
LmNwcDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKwogMjAyMS0wMy0wOCAgSm9obiBX
aWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFsaWduIGZyYXVk
IHByZXZlbnRpb24gdG9rZW4gbmFtaW5nIHdpdGggaXNzdWUgNzMgaW4gdGhlIFByaXZhY3kgQ0cg
cmVwbwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1ZpcnR1
YWxNYWNoaW5lUHJpdmF0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1Zp
cnR1YWxNYWNoaW5lUHJpdmF0ZS5oCmluZGV4IDhmYzllNzA3MDRjYTQyZDJkY2RkMDQ3NjkyMmFm
OWJmN2RmNGVlMTYuLmVhYjgwYzgxZGE4MTQxMTNhNjRjZjdjODIzMWViNTcwNWJiNDMyZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NWaXJ0dWFsTWFjaGlu
ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmlydHVh
bE1hY2hpbmVQcml2YXRlLmgKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9H
UmVmUHRyLmg+CiAKIEdSZWZQdHI8SlNDVmlydHVhbE1hY2hpbmU+IGpzY1ZpcnR1YWxNYWNoaW5l
R2V0T3JDcmVhdGUoSlNDb250ZXh0R3JvdXBSZWYpOwotSlNDb250ZXh0R3JvdXBSZWYganNjVmly
dHVhbE1hY2hpbmVHZXRDb250ZXh0R3JvdXAoSlNDVmlydHVhbE1hY2hpbmUqKTsKK0pTX0VYUE9S
VF9QUklWQVRFIEpTQ29udGV4dEdyb3VwUmVmIGpzY1ZpcnR1YWxNYWNoaW5lR2V0Q29udGV4dEdy
b3VwKEpTQ1ZpcnR1YWxNYWNoaW5lKik7CiB2b2lkIGpzY1ZpcnR1YWxNYWNoaW5lQWRkQ29udGV4
dChKU0NWaXJ0dWFsTWFjaGluZSosIEpTQ0NvbnRleHQqKTsKIHZvaWQganNjVmlydHVhbE1hY2hp
bmVSZW1vdmVDb250ZXh0KEpTQ1ZpcnR1YWxNYWNoaW5lKiwgSlNDQ29udGV4dCopOwogSlNDQ29u
dGV4dCoganNjVmlydHVhbE1hY2hpbmVHZXRDb250ZXh0KEpTQ1ZpcnR1YWxNYWNoaW5lKiwgSlNH
bG9iYWxDb250ZXh0UmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RL
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMDA5ZjM0NjUy
MzQ5YTBmN2IwZDA1ZWQxNzQ0Njk4NjViZDQ3YzMzMi4uZDE4YTNhODdlMjI3ZTU0MzA0MmVkYmIx
MzE3ZGE0Mjk1NWU2OTM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTgsMTMgKzgs
NiBAQCBpbmNsdWRlKHBsYXRmb3JtL1RleHR1cmVNYXBwZXIuY21ha2UpCiAKIHNldChXZWJDb3Jl
X09VVFBVVF9OQU1FIFdlYkNvcmVHVEspCiAKLSMgRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODE5MTYKLSMgUmVtb3ZlIHRoZXNlIGxpbmVzIHdoZW4gdHVy
bmluZyBvbiBoaWRkZW4gdmlzaWJpbGl0eQotbGlzdChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0xJ
QlJBUklFUyBXZWJLaXQ6OldURikKLWlmIChOT1QgVVNFX1NZU1RFTV9NQUxMT0MpCi0gICAgbGlz
dChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0xJQlJBUklFUyBXZWJLaXQ6OmJtYWxsb2MpCi1lbmRp
ZiAoKQotCiBsaXN0KEFQUEVORCBXZWJDb3JlX1VOSUZJRURfU09VUkNFX0xJU1RfRklMRVMKICAg
ICAiU291cmNlc0dUSy50eHQiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IGI1
YTlmNGFmZWVmZmY3NGI1Y2ZiY2Y4NGYxYTQxYmZjMjZmYTFjZWQuLjEyMDQwMWY4ODhiY2E2Nzc2
ODExZDkwZDI1ZjgyNDFmNTUxNzE3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApA
QCAtNjYsNiArNjYsOCBAQCBSZWY8RXZlbnRUYXJnZXQ+IEV2ZW50VGFyZ2V0OjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICByZXR1cm4gRXZlbnRUYXJnZXRDb25j
cmV0ZTo6Y3JlYXRlKGNvbnRleHQpOwogfQogCitFdmVudFRhcmdldDo6fkV2ZW50VGFyZ2V0KCkg
PSBkZWZhdWx0OworCiBib29sIEV2ZW50VGFyZ2V0Ojppc05vZGUoKSBjb25zdAogewogICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZTY0MzM3MTlkNmFhMTgz
YjQ5YzUwNzkwNGRkYjk2NDcyZGVkYmZkYS4uMGRkNTdmODE5YzZmYzk2MzgxMzVjNmQ0ZDJiZGU4
N2FlNmY4OWRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTEwMyw3ICsxMDMsNyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKSBj
b25zdDsKIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgfkV2ZW50VGFyZ2V0KCkgPSBkZWZhdWx0
OworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgfkV2ZW50VGFyZ2V0KCk7CiAgICAgCiAgICAg
dmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpID0gMDsKICAgICB2aXJ0
dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhQ29uY3VycmVudGx5KCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0dUSy5jbWFrZQppbmRleCA2YTFiOTcxMjZjOWIwZjY1MTkxNGZjNGMwMzYzMGUxNDk5
NDUyZWRiLi43ZjBjZDg4NTVkMGYxYmY3NDVjMGIxMDg1Yzc1NDk4ODkxOTQ3MTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZQpAQCAtMTgsNiArMTgsMTEgQEAgZW5kaWYgKCkKIAogQ0FMQ1VMQVRFX0xJ
QlJBUllfVkVSU0lPTlNfRlJPTV9MSUJUT09MX1RSSVBMRShKQVZBU0NSSVBUQ09SRSAzNyAwIDE5
KQogCitzZXQoQ01BS0VfQ19WSVNJQklMSVRZX1BSRVNFVCBoaWRkZW4pCitzZXQoQ01BS0VfQ1hY
X1ZJU0lCSUxJVFlfUFJFU0VUIGhpZGRlbikKK3NldChibWFsbG9jX0xJQlJBUllfVFlQRSBPQkpF
Q1QpCitzZXQoV1RGX0xJQlJBUllfVFlQRSBPQkpFQ1QpCisKICMgVGhlc2UgYXJlIHNoYXJlZCB2
YXJpYWJsZXMsIGJ1dCB3ZSBzcGVjaWFsIGNhc2UgdGhlaXIgZGVmaW5pdGlvbiBzbyB0aGF0IHdl
IGNhbiB1c2UgdGhlCiAjIENNQUtFX0lOU1RBTExfKiB2YXJpYWJsZXMgdGhhdCBhcmUgcG9wdWxh
dGVkIGJ5IHRoZSBHTlVJbnN0YWxsRGlycyBtYWNyby4KIHNldChMSUJfSU5TVEFMTF9ESVIgIiR7
Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0iIENBQ0hFIFBBVEggIkFic29sdXRlIHBhdGggdG8g
bGlicmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiN2UyZWY4NDAwNDQ2NjNkMWJjNjNhYjFjOGRk
ODM4NmMzZGYxNDIwLi4xOTk5NjhhZjhlNGYyMjg5MTUxZWNkNGUwZWZlMzJhZmYyM2U5YTRiIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMjEtMDMtMDggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9t
ZS5vcmc+CisKKyAgICAgICAgW0dUS10gUmVlbmFibGUgLWZ2aXNpYmlsaXR5PWhpZGRlbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxOTE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRG9uIE9sbXN0ZWFkLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9QbGF0Zm9ybUdUSy5jbWFrZToKKwogMjAyMS0wMy0wOCAgSm9obiBXaWxhbmRlciAgPHdpbGFu
ZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFsaWduIGZyYXVkIHByZXZlbnRpb24gdG9r
ZW4gbmFtaW5nIHdpdGggaXNzdWUgNzMgaW4gdGhlIFByaXZhY3kgQ0cgcmVwbwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMjMxYjMzMzczNDAyMTIyMGFiMzY2MmIwOWVk
NjVlZWFhYzEwNDdlMy4uOTFlZTQ5YTQ0YTViOGE5MTFhZTIyNjEyN2FiZTZjZmNjYzY1Y2RlNSAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yOCw5ICsyOCw2IEBAIGxp
c3QoQVBQRU5EIFRlc3RXVEZfTElCUkFSSUVTCiAgICAgR1RLOjpHVEsKICkKIAotIyBGSVhNRTog
UmVtb3ZlIHdoZW4gdHVybmluZyBvbiBoaWRkZW4gdmlzaWJpbGl0eSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxOTE2Ci1saXN0KEFQUEVORCBUZXN0SmF2YVNjcmlw
dENvcmVfTElCUkFSSUVTIFdURikKLQogIyBUZXN0V2ViQ29yZQogbGlzdChBUFBFTkQgVGVzdFdl
YkNvcmVfU09VUkNFUwogICAgICR7dGVzdF9tYWluX1NPVVJDRVN9CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAK
aW5kZXggODMyMjJhZjVjMWJmYTU1MWYzMmE2MjVhY2Y2NWUwZDVkYWU2NGQ3OC4uOWFhZWIxZjc1
YjI1YmQ3OTM5ZGFlZWFhOWI4MzJlYzkxNTRjYWFhMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9KYXZhU2NyaXB0Q29yZS9nbGliL1Rlc3RKU0MuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvSmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcApAQCAt
MTksOSArMTksMTAgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0vLyBJbmNsdWRlIEpTQ0Nv
bnRleHRQcml2YXRlLmggdG8gYmUgYWJsZSB0byBydW4gZ2FyYmFnZSBjb2xsZWN0b3IgZm9yIHRl
c3RpbmcuCisvLyBJbmNsdWRlIHByaXZhdGUgaGVhZGVycyB0byBiZSBhYmxlIHRvIHJ1biBnYXJi
YWdlIGNvbGxlY3RvciBmb3IgdGVzdGluZy4KICNkZWZpbmUgSlNDX0NPTVBJTEFUSU9OIDEKICNp
bmNsdWRlICJqc2MvSlNDQ29udGV4dFByaXZhdGUuaCIKKyNpbmNsdWRlICJqc2MvSlNDVmlydHVh
bE1hY2hpbmVQcml2YXRlLmgiCiAjdW5kZWYgSlNDX0NPTVBJTEFUSU9OCiAKICNpbmNsdWRlIDxq
c2MvanNjLmg+CkBAIC0xMDcsNiArMTA4LDE1IEBAIHN0YXRpYyB2b2lkIGpzY0NvbnRleHRHYXJi
YWdlQ29sbGVjdChKU0NDb250ZXh0KiBjb250ZXh0KQogICAgIEpTU3luY2hyb25vdXNHYXJiYWdl
Q29sbGVjdEZvckRlYnVnZ2luZyhqc2NDb250ZXh0R2V0SlNDb250ZXh0KGNvbnRleHQpKTsKIH0K
IAorc3RhdGljIHZvaWQganNjQ29udGV4dFNhbml0aXplU3RhY2soSlNDQ29udGV4dCogY29udGV4
dCkKK3sKKyAgICBKU0NWaXJ0dWFsTWFjaGluZSoganNjVk0gPSBqc2NfY29udGV4dF9nZXRfdmly
dHVhbF9tYWNoaW5lKGNvbnRleHQpOworICAgIEpTQ29udGV4dEdyb3VwUmVmIGpzQ29udGV4dEdy
b3VwID0ganNjVmlydHVhbE1hY2hpbmVHZXRDb250ZXh0R3JvdXAoanNjVk0pOworICAgIEpTQzo6
Vk0mIHZtID0gKnRvSlMoanNDb250ZXh0R3JvdXApOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxv
Y2tlcih2bSk7CisgICAgc2FuaXRpemVTdGFja0ZvclZNKHZtKTsKK30KKwogc3RhdGljIHZvaWQg
dGVzdEpTQ0Jhc2ljKCkKIHsKICAgICB7CkBAIC0zMjY1LDYgKzMyNzUsMjcgQEAgc3RhdGljIHZv
aWQgd2Vha1ZhbHVlQ2xlYXJlZENhbGxiYWNrKEpTQ1dlYWtWYWx1ZSogd2Vha1ZhbHVlLCBib29s
KiB3ZWFrVmFsdWVDbGUKICAgICBnX2Fzc2VydF9udWxsKGpzY193ZWFrX3ZhbHVlX2dldF92YWx1
ZSh3ZWFrVmFsdWUpKTsKIH0KIAorc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHVzZVdlYWtGb29J
bkFTZXBhcmF0ZUZ1bmN0aW9uVG9Gb3JjZUdhcmJhZ2VDb2xsZWN0aW9uKEdSZWZQdHI8SlNDVmFs
dWU+JiYgb2JqZWN0LCBHUmVmUHRyPEpTQ1ZhbHVlPiYmIGZvbywgSlNDV2Vha1ZhbHVlKiB3ZWFr
LCBMZWFrQ2hlY2tlciYgY2hlY2tlciwgSlNDQ29udGV4dCogY29udGV4dCwgYm9vbCYgd2Vha1Zh
bHVlQ2xlYXJlZCkKK3sKKyAgICBHUmVmUHRyPEpTQ1ZhbHVlPiB3ZWFrRm9vID0gYWRvcHRHUmVm
KGpzY193ZWFrX3ZhbHVlX2dldF92YWx1ZSh3ZWFrKSk7CisgICAgY2hlY2tlci53YXRjaCh3ZWFr
Rm9vLmdldCgpKTsKKyAgICBnX2Fzc2VydF90cnVlKGZvby5nZXQoKSA9PSB3ZWFrRm9vLmdldCgp
KTsKKworICAgIEdSZWZQdHI8SlNDVmFsdWU+IHVuZGVmaW5lZFZhbHVlID0gYWRvcHRHUmVmKGpz
Y192YWx1ZV9uZXdfdW5kZWZpbmVkKGNvbnRleHQpKTsKKyAgICBjaGVja2VyLndhdGNoKHVuZGVm
aW5lZFZhbHVlLmdldCgpKTsKKyAgICBqc2NfY29udGV4dF9zZXRfdmFsdWUoY29udGV4dCwgImZv
byIsIHVuZGVmaW5lZFZhbHVlLmdldCgpKTsKKyAgICB3ZWFrRm9vID0gbnVsbHB0cjsKKyAgICBm
b28gPSBudWxscHRyOworICAgIG9iamVjdCA9IG51bGxwdHI7CisKKyAgICAvLyBUaGUgdmFsdWUg
aXMgc3RpbGwgcmVhY2hhYmxlLCBidXQgdW5wcm90ZWN0ZWQuCisgICAgZ19hc3NlcnRfZmFsc2Uo
d2Vha1ZhbHVlQ2xlYXJlZCk7CisgICAgd2Vha0ZvbyA9IGFkb3B0R1JlZihqc2Nfd2Vha192YWx1
ZV9nZXRfdmFsdWUod2VhaykpOworICAgIGNoZWNrZXIud2F0Y2god2Vha0Zvby5nZXQoKSk7Cisg
ICAgZ19hc3NlcnRfdHJ1ZShqc2NfdmFsdWVfaXNfb2JqZWN0KHdlYWtGb28uZ2V0KCkpKTsKKyAg
ICB3ZWFrRm9vID0gbnVsbHB0cjsKK30KKwogc3RhdGljIHZvaWQgdGVzdEpTQ1dlYWtWYWx1ZSgp
CiB7CiAgICAgewpAQCAtMzI4OSwyMyArMzMyMCw4IEBAIHN0YXRpYyB2b2lkIHRlc3RKU0NXZWFr
VmFsdWUoKQogICAgICAgICBjaGVja2VyLndhdGNoKGZvby5nZXQoKSk7CiAgICAgICAgIGdfYXNz
ZXJ0X3RydWUob2JqZWN0LmdldCgpID09IGZvby5nZXQoKSk7CiAKLSAgICAgICAgR1JlZlB0cjxK
U0NWYWx1ZT4gd2Vha0ZvbyA9IGFkb3B0R1JlZihqc2Nfd2Vha192YWx1ZV9nZXRfdmFsdWUod2Vh
ay5nZXQoKSkpOwotICAgICAgICBjaGVja2VyLndhdGNoKHdlYWtGb28uZ2V0KCkpOwotICAgICAg
ICBnX2Fzc2VydF90cnVlKGZvby5nZXQoKSA9PSB3ZWFrRm9vLmdldCgpKTsKLQotICAgICAgICBH
UmVmUHRyPEpTQ1ZhbHVlPiB1bmRlZmluZWRWYWx1ZSA9IGFkb3B0R1JlZihqc2NfdmFsdWVfbmV3
X3VuZGVmaW5lZChjb250ZXh0LmdldCgpKSk7Ci0gICAgICAgIGNoZWNrZXIud2F0Y2godW5kZWZp
bmVkVmFsdWUuZ2V0KCkpOwotICAgICAgICBqc2NfY29udGV4dF9zZXRfdmFsdWUoY29udGV4dC5n
ZXQoKSwgImZvbyIsIHVuZGVmaW5lZFZhbHVlLmdldCgpKTsKLSAgICAgICAgd2Vha0ZvbyA9IG51
bGxwdHI7Ci0gICAgICAgIGZvbyA9IG51bGxwdHI7Ci0gICAgICAgIG9iamVjdCA9IG51bGxwdHI7
Ci0KLSAgICAgICAgLy8gVGhlIHZhbHVlIGlzIHN0aWxsIHJlYWNoYWJsZSwgYnV0IHVucHJvdGVj
dGVkLgotICAgICAgICBnX2Fzc2VydF9mYWxzZSh3ZWFrVmFsdWVDbGVhcmVkKTsKLSAgICAgICAg
d2Vha0ZvbyA9IGFkb3B0R1JlZihqc2Nfd2Vha192YWx1ZV9nZXRfdmFsdWUod2Vhay5nZXQoKSkp
OwotICAgICAgICBjaGVja2VyLndhdGNoKHdlYWtGb28uZ2V0KCkpOwotICAgICAgICBnX2Fzc2Vy
dF90cnVlKGpzY192YWx1ZV9pc19vYmplY3Qod2Vha0Zvby5nZXQoKSkpOwotICAgICAgICB3ZWFr
Rm9vID0gbnVsbHB0cjsKKyAgICAgICAgdXNlV2Vha0Zvb0luQVNlcGFyYXRlRnVuY3Rpb25Ub0Zv
cmNlR2FyYmFnZUNvbGxlY3Rpb24oV1RGTW92ZShvYmplY3QpLCBXVEZNb3ZlKGZvbyksIHdlYWsu
Z2V0KCksIGNoZWNrZXIsIGNvbnRleHQuZ2V0KCksIHdlYWtWYWx1ZUNsZWFyZWQpOworICAgICAg
ICBqc2NDb250ZXh0U2FuaXRpemVTdGFjayhjb250ZXh0LmdldCgpKTsKIAogICAgICAgICBqc2ND
b250ZXh0R2FyYmFnZUNvbGxlY3QoY29udGV4dC5nZXQoKSk7CiAgICAgICAgIGdfYXNzZXJ0X3Ry
dWUod2Vha1ZhbHVlQ2xlYXJlZCk7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cK
aW5kZXggODA1ODJhNTI4OTBlYjhlMWUyYzM5YTg4OTg3MDVjNjI3ZjBjNjRhMC4uMmUwM2Y1ZmU1
MDdkZjZjYzkyNjFmZDcxMDZhYmM5OWE3NWIwMWE3MSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisr
KyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTAzLTA4ICBNaWNoYWVsIENhdGFu
emFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisgICAgICAgIFtHVEtdIFJlZW5hYmxlIC1m
dmlzaWJpbGl0eT1oaWRkZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MTkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IERvbiBPbG1zdGVhZC4KKwor
ICAgICAgICBJbiBub24tREVWRUxPUEVSX01PREUgYnVpbGRzLCB3ZSByZWx5IG9uIGEgbGlua2Vy
IHZlcnNpb24gc2NyaXB0IHRvIGhpZGUgc3ltYm9scyB0aGF0IHdlCisgICAgICAgIGRvbid0IHdh
bnQgdG8gZXhwb3J0LiBCdWlsZGluZyB3aXRoIGhpZGRlbiB2aXNpYmlsaXR5IG1pZ2h0IHNlZW0g
cmVkdW5kYW50IHdpdGggdGhpcywgYnV0CisgICAgICAgIGFjdHVhbGx5IGJ1aWxkaW5nIHdpdGgg
aGlkZGVuIHZpc2liaWxpdHkgaGFzIGFkdmFudGFnZXMgYW55d2F5LiBTZWUKKyAgICAgICAgaHR0
cHM6Ly9nY2MuZ251Lm9yZy93aWtpL1Zpc2liaWxpdHkuCisKKyAgICAgICAgTm90ZSB0aGF0IEkn
bSBub3QgY29uZmlkZW50IEdUSyBwb3J0IGNhbiBzYWZlbHkgdXNlIC1mdmlzaWJpbGl0eS1pbmxp
bmVzLWhpZGRlbiwgc2luY2UgaXQncworICAgICAgICBzcGxpdCBiZXR3ZWVuIHR3byBzaGFyZWQg
b2JqZWN0cy4gQWxzbywgYmVjYXVzZSBHVEsgaXMgc3BsaXQgaW50byB0d28gc2hhcmVkIG9iamVj
dHMsIEdUSworICAgICAgICBuZWVkcyB0byBidWlsZCBibWFsbG9jIGFuZCBXVEYgYXMgQ01ha2Ug
T0JKRUNUIGxpYnJhcmllcywgd2hpY2ggaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgYXMKKyAgICAg
ICAgdXNpbmcgLVdsLC0td2hvbGUtYXJjaGl2ZSB0byBwcmV2ZW50IHN5bWJvbHMgZnJvbSBiZWlu
ZyBwcmVtYXR1cmVseSBzdHJpcHBlZCBhd2F5LgorCisgICAgICAgIFAuUy4gTWFqb3IgY3JlZGl0
IHRvIERvbiBPbG1zdGVhZCwgd2hvIGRpZCBtb3N0IG9mIHRoZSB3b3JrIHRvIG1ha2UgdGhpcyBw
b3NzaWJsZSwgd2hpY2ggaGFzCisgICAgICAgIGFscmVhZHkgbGFuZGVkIGluIHByZXZpb3VzIHBh
dGNoZXMuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAy
MS0wMy0wNSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAg
ICAgICBbR1RLXSBSZW1vdmUgQUREX1dIT0xFX0FSQ0hJVkVfVE9fTElCUkFSSUVTCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422753</attachid>
            <date>2021-03-09 13:32:11 -0800</date>
            <delta_ts>2021-10-05 06:36:47 -0700</delta_ts>
            <desc>Yucky test patch that fixes this test</desc>
            <filename>testpatch</filename>
            <type>text/plain</type>
            <size>3993</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1ZpcnR1YWxNYWNoaW5lUHJp
dmF0ZS5oCQorKysgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmlydHVhbE1h
Y2hpbmVQcml2YXRlLmgJCkBAIC0yNCw3ICsyNCw3IEBAIAogI2luY2x1ZGUgPHd0Zi9nbGliL0dS
ZWZQdHIuaD4KIAogR1JlZlB0cjxKU0NWaXJ0dWFsTWFjaGluZT4ganNjVmlydHVhbE1hY2hpbmVH
ZXRPckNyZWF0ZShKU0NvbnRleHRHcm91cFJlZik7Ci1KU0NvbnRleHRHcm91cFJlZiBqc2NWaXJ0
dWFsTWFjaGluZUdldENvbnRleHRHcm91cChKU0NWaXJ0dWFsTWFjaGluZSopOworSlNfRVhQT1JU
X1BSSVZBVEUgSlNDb250ZXh0R3JvdXBSZWYganNjVmlydHVhbE1hY2hpbmVHZXRDb250ZXh0R3Jv
dXAoSlNDVmlydHVhbE1hY2hpbmUqKTsKIHZvaWQganNjVmlydHVhbE1hY2hpbmVBZGRDb250ZXh0
KEpTQ1ZpcnR1YWxNYWNoaW5lKiwgSlNDQ29udGV4dCopOwogdm9pZCBqc2NWaXJ0dWFsTWFjaGlu
ZVJlbW92ZUNvbnRleHQoSlNDVmlydHVhbE1hY2hpbmUqLCBKU0NDb250ZXh0Kik7CiBKU0NDb250
ZXh0KiBqc2NWaXJ0dWFsTWFjaGluZUdldENvbnRleHQoSlNDVmlydHVhbE1hY2hpbmUqLCBKU0ds
b2JhbENvbnRleHRSZWYpOwotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL0phdmFTY3Jp
cHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAJCisrKyBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
SmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcAkKQEAgLTE5LDkgKzE5LDEwIEBAIAogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAKLS8vIEluY2x1ZGUgSlNDQ29udGV4dFByaXZhdGUuaCB0byBi
ZSBhYmxlIHRvIHJ1biBnYXJiYWdlIGNvbGxlY3RvciBmb3IgdGVzdGluZy4KKy8vIEluY2x1ZGUg
cHJpdmF0ZSBoZWFkZXJzIHRvIGJlIGFibGUgdG8gcnVuIGdhcmJhZ2UgY29sbGVjdG9yIGZvciB0
ZXN0aW5nLgogI2RlZmluZSBKU0NfQ09NUElMQVRJT04gMQogI2luY2x1ZGUgImpzYy9KU0NDb250
ZXh0UHJpdmF0ZS5oIgorI2luY2x1ZGUgImpzYy9KU0NWaXJ0dWFsTWFjaGluZVByaXZhdGUuaCIK
ICN1bmRlZiBKU0NfQ09NUElMQVRJT04KIAogI2luY2x1ZGUgPGpzYy9qc2MuaD4KQEAgLTEwNyw2
ICsxMDgsMTUgQEAgc3RhdGljIHZvaWQganNjQ29udGV4dEdhcmJhZ2VDb2xsZWN0KEpTQ0NvbnRl
eHQqIGNvbnRleHQpCiAgICAgSlNTeW5jaHJvbm91c0dhcmJhZ2VDb2xsZWN0Rm9yRGVidWdnaW5n
KGpzY0NvbnRleHRHZXRKU0NvbnRleHQoY29udGV4dCkpOwogfQogCitzdGF0aWMgdm9pZCBqc2ND
b250ZXh0U2FuaXRpemVTdGFjayhKU0NDb250ZXh0KiBjb250ZXh0KQoreworICAgIEpTQ1ZpcnR1
YWxNYWNoaW5lKiBqc2NWTSA9IGpzY19jb250ZXh0X2dldF92aXJ0dWFsX21hY2hpbmUoY29udGV4
dCk7CisgICAgSlNDb250ZXh0R3JvdXBSZWYganNDb250ZXh0R3JvdXAgPSBqc2NWaXJ0dWFsTWFj
aGluZUdldENvbnRleHRHcm91cChqc2NWTSk7CisgICAgSlNDOjpWTSYgdm0gPSAqdG9KUyhqc0Nv
bnRleHRHcm91cCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKTsKKyAgICBzYW5p
dGl6ZVN0YWNrRm9yVk0odm0pOworfQorCiBzdGF0aWMgdm9pZCB0ZXN0SlNDQmFzaWMoKQogewog
ICAgIHsKQEAgLTMyNjUsNiArMzI3NSwyNyBAQCBzdGF0aWMgdm9pZCB3ZWFrVmFsdWVDbGVhcmVk
Q2FsbGJhY2soSlNDV2Vha1ZhbHVlKiB3ZWFrVmFsdWUsIGJvb2wqIHdlYWtWYWx1ZUNsZQogICAg
IGdfYXNzZXJ0X251bGwoanNjX3dlYWtfdmFsdWVfZ2V0X3ZhbHVlKHdlYWtWYWx1ZSkpOwogfQog
CitzdGF0aWMgTkVWRVJfSU5MSU5FIHZvaWQgdXNlV2Vha0Zvb0luQVNlcGFyYXRlRnVuY3Rpb25U
b0ZvcmNlR2FyYmFnZUNvbGxlY3Rpb24oR1JlZlB0cjxKU0NWYWx1ZT4mJiBvYmplY3QsIEdSZWZQ
dHI8SlNDVmFsdWU+JiYgZm9vLCBKU0NXZWFrVmFsdWUqIHdlYWssIExlYWtDaGVja2VyJiBjaGVj
a2VyLCBKU0NDb250ZXh0KiBjb250ZXh0LCBib29sJiB3ZWFrVmFsdWVDbGVhcmVkKQoreworICAg
IEdSZWZQdHI8SlNDVmFsdWU+IHdlYWtGb28gPSBhZG9wdEdSZWYoanNjX3dlYWtfdmFsdWVfZ2V0
X3ZhbHVlKHdlYWspKTsKKyAgICBjaGVja2VyLndhdGNoKHdlYWtGb28uZ2V0KCkpOworICAgIGdf
YXNzZXJ0X3RydWUoZm9vLmdldCgpID09IHdlYWtGb28uZ2V0KCkpOworCisgICAgR1JlZlB0cjxK
U0NWYWx1ZT4gdW5kZWZpbmVkVmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25ld191bmRlZmlu
ZWQoY29udGV4dCkpOworICAgIGNoZWNrZXIud2F0Y2godW5kZWZpbmVkVmFsdWUuZ2V0KCkpOwor
ICAgIGpzY19jb250ZXh0X3NldF92YWx1ZShjb250ZXh0LCAiZm9vIiwgdW5kZWZpbmVkVmFsdWUu
Z2V0KCkpOworICAgIHdlYWtGb28gPSBudWxscHRyOworICAgIGZvbyA9IG51bGxwdHI7CisgICAg
b2JqZWN0ID0gbnVsbHB0cjsKKworICAgIC8vIFRoZSB2YWx1ZSBpcyBzdGlsbCByZWFjaGFibGUs
IGJ1dCB1bnByb3RlY3RlZC4KKyAgICBnX2Fzc2VydF9mYWxzZSh3ZWFrVmFsdWVDbGVhcmVkKTsK
KyAgICB3ZWFrRm9vID0gYWRvcHRHUmVmKGpzY193ZWFrX3ZhbHVlX2dldF92YWx1ZSh3ZWFrKSk7
CisgICAgY2hlY2tlci53YXRjaCh3ZWFrRm9vLmdldCgpKTsKKyAgICBnX2Fzc2VydF90cnVlKGpz
Y192YWx1ZV9pc19vYmplY3Qod2Vha0Zvby5nZXQoKSkpOworICAgIHdlYWtGb28gPSBudWxscHRy
OworfQorCiBzdGF0aWMgdm9pZCB0ZXN0SlNDV2Vha1ZhbHVlKCkKIHsKICAgICB7CkBAIC0zMjg5
LDIzICszMzIwLDggQEAgc3RhdGljIHZvaWQgdGVzdEpTQ1dlYWtWYWx1ZSgpCiAgICAgICAgIGNo
ZWNrZXIud2F0Y2goZm9vLmdldCgpKTsKICAgICAgICAgZ19hc3NlcnRfdHJ1ZShvYmplY3QuZ2V0
KCkgPT0gZm9vLmdldCgpKTsKIAotICAgICAgICBHUmVmUHRyPEpTQ1ZhbHVlPiB3ZWFrRm9vID0g
YWRvcHRHUmVmKGpzY193ZWFrX3ZhbHVlX2dldF92YWx1ZSh3ZWFrLmdldCgpKSk7Ci0gICAgICAg
IGNoZWNrZXIud2F0Y2god2Vha0Zvby5nZXQoKSk7Ci0gICAgICAgIGdfYXNzZXJ0X3RydWUoZm9v
LmdldCgpID09IHdlYWtGb28uZ2V0KCkpOwotCi0gICAgICAgIEdSZWZQdHI8SlNDVmFsdWU+IHVu
ZGVmaW5lZFZhbHVlID0gYWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfdW5kZWZpbmVkKGNvbnRleHQu
Z2V0KCkpKTsKLSAgICAgICAgY2hlY2tlci53YXRjaCh1bmRlZmluZWRWYWx1ZS5nZXQoKSk7Ci0g
ICAgICAgIGpzY19jb250ZXh0X3NldF92YWx1ZShjb250ZXh0LmdldCgpLCAiZm9vIiwgdW5kZWZp
bmVkVmFsdWUuZ2V0KCkpOwotICAgICAgICB3ZWFrRm9vID0gbnVsbHB0cjsKLSAgICAgICAgZm9v
ID0gbnVsbHB0cjsKLSAgICAgICAgb2JqZWN0ID0gbnVsbHB0cjsKLQotICAgICAgICAvLyBUaGUg
dmFsdWUgaXMgc3RpbGwgcmVhY2hhYmxlLCBidXQgdW5wcm90ZWN0ZWQuCi0gICAgICAgIGdfYXNz
ZXJ0X2ZhbHNlKHdlYWtWYWx1ZUNsZWFyZWQpOwotICAgICAgICB3ZWFrRm9vID0gYWRvcHRHUmVm
KGpzY193ZWFrX3ZhbHVlX2dldF92YWx1ZSh3ZWFrLmdldCgpKSk7Ci0gICAgICAgIGNoZWNrZXIu
d2F0Y2god2Vha0Zvby5nZXQoKSk7Ci0gICAgICAgIGdfYXNzZXJ0X3RydWUoanNjX3ZhbHVlX2lz
X29iamVjdCh3ZWFrRm9vLmdldCgpKSk7Ci0gICAgICAgIHdlYWtGb28gPSBudWxscHRyOworICAg
ICAgICB1c2VXZWFrRm9vSW5BU2VwYXJhdGVGdW5jdGlvblRvRm9yY2VHYXJiYWdlQ29sbGVjdGlv
bihXVEZNb3ZlKG9iamVjdCksIFdURk1vdmUoZm9vKSwgd2Vhay5nZXQoKSwgY2hlY2tlciwgY29u
dGV4dC5nZXQoKSwgd2Vha1ZhbHVlQ2xlYXJlZCk7CisgICAgICAgIGpzY0NvbnRleHRTYW5pdGl6
ZVN0YWNrKGNvbnRleHQuZ2V0KCkpOwogCiAgICAgICAgIGpzY0NvbnRleHRHYXJiYWdlQ29sbGVj
dChjb250ZXh0LmdldCgpKTsKICAgICAgICAgZ19hc3NlcnRfdHJ1ZSh3ZWFrVmFsdWVDbGVhcmVk
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440206</attachid>
            <date>2021-10-05 06:36:47 -0700</date>
            <delta_ts>2021-10-05 08:50:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-weak-fix.diff</filename>
            <type>text/plain</type>
            <size>5453</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NDb250ZXh0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NDb250ZXh0LmNwcAppbmRleCBm
MmZhNDkwOTk5MTMuLjlkY2VhZmM1YjgzYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9nbGliL0pTQ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0NDb250ZXh0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAiQVBJ
Q2FzdC5oIgogI2luY2x1ZGUgIkpTQ0NsYXNzUHJpdmF0ZS5oIgorI2luY2x1ZGUgIkpTQ0NvbnRl
eHRJbnRlcm5hbC5oIgogI2luY2x1ZGUgIkpTQ0NvbnRleHRQcml2YXRlLmgiCiAjaW5jbHVkZSAi
SlNDRXhjZXB0aW9uUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTU4Myw2
ICs1ODQsMTkgQEAgdm9pZCBqc2NDb250ZXh0SlNWYWx1ZVRvR1ZhbHVlKEpTQ0NvbnRleHQqIGNv
bnRleHQsIEpTVmFsdWVSZWYganNWYWx1ZSwgR1R5cGUgdHkKICAgICB9CiB9CiAKK3ZvaWQganNj
Q29udGV4dEdhcmJhZ2VDb2xsZWN0KEpTQ0NvbnRleHQqIGNvbnRleHQsIGJvb2wgc2FuaXRpemVT
dGFjaykKK3sKKyAgICBhdXRvKiBqc0NvbnRleHQgPSBjb250ZXh0LT5wcml2LT5qc0NvbnRleHQu
Z2V0KCk7CisgICAgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdG9KUyhqc0Nv
bnRleHQpOworICAgIEpTQzo6Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIEpTQzo6
SlNMb2NrSG9sZGVyIGxvY2tlcih2bSk7CisKKyAgICBpZiAoc2FuaXRpemVTdGFjaykKKyAgICAg
ICAgc2FuaXRpemVTdGFja0ZvclZNKHZtKTsKKworICAgIHZtLmhlYXAuY29sbGVjdE5vdyhKU0M6
OlN5bmMsIEpTQzo6Q29sbGVjdGlvblNjb3BlOjpGdWxsKTsKK30KKwogLyoqCiAgKiBqc2NfY29u
dGV4dF9uZXc6CiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGli
L0pTQ0NvbnRleHRJbnRlcm5hbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pT
Q0NvbnRleHRJbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uNTMzNGQxYThkMjgwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9nbGliL0pTQ0NvbnRleHRJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMjQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJK
U0NDb250ZXh0LmgiCisKK0pTX0VYUE9SVF9QUklWQVRFIHZvaWQganNjQ29udGV4dEdhcmJhZ2VD
b2xsZWN0KEpTQ0NvbnRleHQqLCBib29sIHNhbml0aXplU3RhY2sgPSBmYWxzZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwppbmRleCA0ZjUyMmJiMzBhYWUuLmJiMGY3YTY4NTIxNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMTAtMDUgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10gVGVz
dEpTQyBpbmNvcnJlY3RseSBleHBlY3RzIGdhcmJhZ2UgY29sbGVjdG9yIHRvIGNvbGxlY3QgdmFy
aWFibGVzIHN0aWxsIG9uIHRoZSBzdGFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIEpTQ0NvbnRleHRJbnRlcm5hbC5oIGhlYWRlciB0byBiZSB1
c2VkIGJ5IHVuaXQgdGVzdHMgdG8gdXNlIHByaXZhdGUgSlNDIEFQSSBhbmQgYWRkCisgICAgICAg
IGpzY0NvbnRleHRHYXJiYWdlQ29sbGVjdCgpLgorCisgICAgICAgICogQVBJL2dsaWIvSlNDQ29u
dGV4dC5jcHA6CisgICAgICAgIChqc2NDb250ZXh0R2FyYmFnZUNvbGxlY3QpOiBNb3ZlZCBmcm9t
IHVuaXQgdGVzdHMgaGVyZSBhZGRpbmcgYSBwYXJhbWV0ZXIgdG8gb3B0aW9uYWxseSBjYWxsCisg
ICAgICAgIHNhbml0aXplU3RhY2tGb3JWTSgpIGJlZm9yZSBkb2luZyB0aGUgZ2FyYmFnZSBjb2xs
ZWN0aW9uLgorICAgICAgICAqIEFQSS9nbGliL0pTQ0NvbnRleHRJbnRlcm5hbC5oOiBBZGRlZC4K
KwogMjAyMS0xMC0wNCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBEaXNwbGF5IHJldHVybiB2YWx1ZXMgaW4gbmljZXIgd2F5IGluIHRoZSBqc2MgUkVQTCBhbmQg
YWRkIGEgcHJldHR5UHJpbnQgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMjhhZDFjN2QzMTkuLjc5MDNiMzQwZTIwOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTEwLTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbV1BFXVtHVEtdIFRlc3RKU0MgaW5jb3JyZWN0bHkgZXhwZWN0cyBnYXJi
YWdlIGNvbGxlY3RvciB0byBjb2xsZWN0IHZhcmlhYmxlcyBzdGlsbCBvbiB0aGUgc3RhY2sKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjk3MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgSlND
Q29udGV4dEludGVybmFsLmggaW5zdGVhZCBvZiBKU0NDb250ZXh0UHJpdmF0ZS5oIGFuZCByZW1v
dmUgdGhlIGpzY0NvbnRleHRHYXJiYWdlQ29sbGVjdCgpIGltcGxlbWVudGF0aW9uLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9KYXZhU2NyaXB0Q29yZS9nbGliL1Rlc3RKU0MuY3Bw
OgorICAgICAgICAodGVzdEpTQ1dlYWtWYWx1ZSk6IENhbGwgc2FuaXRpemVTdGFja0ZvclZNKCkg
YmVmb3JlIHRoZSBnYXJiYWdlIGNvbGxlY3Rpb24uCisgICAgICAgIChqc2NDb250ZXh0R2FyYmFn
ZUNvbGxlY3QpOiBEZWxldGVkLgorCiAyMDIxLTEwLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVk
YXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbZXdzLWJ1aWxkLndlYmtpdC5vcmddIGNoZWNrLXBh
dGNoLXJlbGV2YW5jZSBjYW4gZ2V0IHN0dWNrCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAKaW5kZXggZGViNmYz
NDAxY2Q4Li5kYTQ1N2I1MzUyMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvSmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAKQEAgLTE5LDkgKzE5LDkg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0vLyBJbmNsdWRlIEpTQ0NvbnRleHRQcml2YXRl
LmggdG8gYmUgYWJsZSB0byBydW4gZ2FyYmFnZSBjb2xsZWN0b3IgZm9yIHRlc3RpbmcuCisvLyBJ
bmNsdWRlIEpTQ0NvbnRleHRJbnRlcm5hbC5oIHRvIGJlIGFibGUgdG8gcnVuIGdhcmJhZ2UgY29s
bGVjdG9yIGZvciB0ZXN0aW5nLgogI2RlZmluZSBKU0NfQ09NUElMQVRJT04gMQotI2luY2x1ZGUg
ImpzYy9KU0NDb250ZXh0UHJpdmF0ZS5oIgorI2luY2x1ZGUgImpzYy9KU0NDb250ZXh0SW50ZXJu
YWwuaCIKICN1bmRlZiBKU0NfQ09NUElMQVRJT04KIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTQ29udGV4dFJlZi5oPgpAQCAtMTAyLDEzICsxMDIsNiBAQCBwcml2YXRlOgogICAgIGdfYXNz
ZXJ0X3RydWUoZGlkVGhyb3cpOyBcCiAgICAgZGlkVGhyb3cgPSBmYWxzZTsKIAotZXh0ZXJuICJD
IiB2b2lkIEpTU3luY2hyb25vdXNHYXJiYWdlQ29sbGVjdEZvckRlYnVnZ2luZyhKU0NvbnRleHRS
ZWYpOwotCi1zdGF0aWMgdm9pZCBqc2NDb250ZXh0R2FyYmFnZUNvbGxlY3QoSlNDQ29udGV4dCog
Y29udGV4dCkKLXsKLSAgICBKU1N5bmNocm9ub3VzR2FyYmFnZUNvbGxlY3RGb3JEZWJ1Z2dpbmco
anNjQ29udGV4dEdldEpTQ29udGV4dChjb250ZXh0KSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHRlc3RK
U0NCYXNpYygpCiB7CiAgICAgewpAQCAtMzM2Myw3ICszMzU2LDcgQEAgc3RhdGljIHZvaWQgdGVz
dEpTQ1dlYWtWYWx1ZSgpCiAgICAgICAgIGdfYXNzZXJ0X3RydWUoanNjX3ZhbHVlX2lzX29iamVj
dCh3ZWFrRm9vLmdldCgpKSk7CiAgICAgICAgIHdlYWtGb28gPSBudWxscHRyOwogCi0gICAgICAg
IGpzY0NvbnRleHRHYXJiYWdlQ29sbGVjdChjb250ZXh0LmdldCgpKTsKKyAgICAgICAganNjQ29u
dGV4dEdhcmJhZ2VDb2xsZWN0KGNvbnRleHQuZ2V0KCksIHRydWUpOwogICAgICAgICBnX2Fzc2Vy
dF90cnVlKHdlYWtWYWx1ZUNsZWFyZWQpOwogICAgICAgICBnX2Fzc2VydF9udWxsKGpzY193ZWFr
X3ZhbHVlX2dldF92YWx1ZSh3ZWFrLmdldCgpKSk7CiAgICAgfQo=
</data>
<flag name="review"
          id="464049"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>