<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>16365</bug_id>
          
          <creation_ts>2026-07-20 09:16:42 +0000</creation_ts>
          <short_desc>HASHSERVER_UPSTREAM discards any gains from the batch stream API</short_desc>
          <delta_ts>2026-09-04 10:16:47 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>6.1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michal Sieron">michalwsieron</reporter>
          <assigned_to name="Joshua Watt">JPEWhacker</assigned_to>
          <cc>JPEWhacker</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>randy.macleod</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106212</commentid>
    <comment_count>0</comment_count>
      <attachid>5236</attachid>
    <who name="Michal Sieron">michalwsieron</who>
    <bug_when>2026-07-20 09:16:42 +0000</bug_when>
    <thetext>Created attachment 5236
AI generated fix

This is something I noticed quite some time ago as our builds&apos; startup was taking a lot of time during the `Initialising tasks:  44%` step, which is when Bitbake queries the hashserver.

Basically, when `BB_HASHSERVE_UPSTREAM` is configured, a local hash equivalence
server awaits a blocking `upstream_client.get_unihash()` for every miss, which discards any gains from the batch stream API.

Because I am not confident with my understanding of this part of Bitbake&apos;s code or async in general, I had to use LLM for a fix. It seems to work, but as it is 100% generated, I didn&apos;t want to send it straight to the mailing list. You can check the attached patch and decide what to do with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106293</commentid>
    <comment_count>1</comment_count>
    <who name="Joshua Watt">JPEWhacker</who>
    <bug_when>2026-07-23 14:07:20 +0000</bug_when>
    <thetext>The idea is sound, but I&apos;m not a big fan of the way this patch works. I do have an idea for how to do this, so I can try to work it up in the comming weeks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106334</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Watt">JPEWhacker</who>
    <bug_when>2026-07-24 21:30:06 +0000</bug_when>
    <thetext>https://lists.openembedded.org/g/bitbake-devel/message/19850</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106335</commentid>
    <comment_count>3</comment_count>
    <who name="Michal Sieron">michalwsieron</who>
    <bug_when>2026-07-24 22:41:28 +0000</bug_when>
    <thetext>Wow, that was quick. Thanks a lot. Will test on Monday when in office</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106350</commentid>
    <comment_count>4</comment_count>
    <who name="Michal Sieron">michalwsieron</who>
    <bug_when>2026-07-27 11:55:23 +0000</bug_when>
    <thetext>Initially it seemed to work just fine and indeed the speedup was there, but then on a rerun I had some issues where it seemed that bitbake couldn&apos;t communicate with the local hashserv (leftover .sock?).
After cleaning up the builddir, now I get the same issue as on the Autobuilder with `hashserv.client.AsyncQueue.Shutdown`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106727</commentid>
    <comment_count>5</comment_count>
    <who name="Michal Sieron">michalwsieron</who>
    <bug_when>2026-09-04 10:16:47 +0000</bug_when>
    <thetext>Fixed by https://lists.openembedded.org/g/bitbake-devel/topic/patch_v3_00_11_hashserv/120974201
Thanks &lt;3</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5236</attachid>
            <date>2026-07-20 09:16:42 +0000</date>
            <delta_ts>2026-07-20 09:16:42 +0000</delta_ts>
            <desc>AI generated fix</desc>
            <filename>0001-hashserv-server-Pipeline-upstream-queries-in-get-str.patch</filename>
            <type>text/plain</type>
            <size>10817</size>
            <attacher name="Michal Sieron">michalwsieron</attacher>
            
              <data encoding="base64">RnJvbSAwNDYwYjE1MjNlY2E2NWE4MmM5YTMwNDFlMWZiOTg1MjE3NjUyYmFjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgU2llcm9uIDxtaWNoYWwuc2llcm9uQG5va2lhLmNv
bT4KRGF0ZTogVGh1LCAyNSBKdW4gMjAyNiAwMzoxOTo0OCArMDIwMApTdWJqZWN0OiBbUEFUQ0hd
IGhhc2hzZXJ2OiBzZXJ2ZXI6IFBpcGVsaW5lIHVwc3RyZWFtIHF1ZXJpZXMgaW4gZ2V0LXN0cmVh
bQogaGFuZGxlcgoKV2hlbiBCQl9IQVNIU0VSVkVfVVBTVFJFQU0gaXMgY29uZmlndXJlZCwgYSBs
b2NhbCBoYXNoIGVxdWl2YWxlbmNlCnNlcnZlciBmb3J3YXJkcyBnZXQtc3RyZWFtIG1pc3NlcyB0
byBpdHMgdXBzdHJlYW0uIFByZXZpb3VzbHkgdGhpcyB3YXMKZG9uZSBvbmUgdGFzayBhdCBhIHRp
bWU6IGhhbmRsZV9nZXRfc3RyZWFtKCkgYXdhaXRlZCBhIGJsb2NraW5nCnVwc3RyZWFtX2NsaWVu
dC5nZXRfdW5paGFzaCgpIGZvciBldmVyeSBtaXNzIGluc2lkZSB0aGUgc2VyaWFsCl9zdHJlYW1f
aGFuZGxlcigpIGxvb3AuIFRoYXQgZGlzY2FyZHMgdGhlIGxhdGVuY3kgaGlkaW5nIHRoZSBjbGll
bnQKZ2V0LXN0cmVhbSBwcm90b2NvbCBwcm92aWRlcyAodGhlIGNsaWVudCBzZW5kcyBhbGwgcXVl
cmllcyB1cCBmcm9udCBhbmQKcmVhZHMgcmVzcG9uc2VzIGFzeW5jaHJvbm91c2x5KSwgdHVybmlu
ZyBldmVyeSB0YXNrIGludG8gYSBmdWxsIHVwc3RyZWFtCnJvdW5kLXRyaXAuCgpPbiBhIGhpZ2gg
bGF0ZW5jeSBsaW5rIHRoaXMgZG9taW5hdGVzICJJbml0aWFsaXNpbmcgdGFza3MiOiBlLmcuIH4x
ODAwMAp0YXNrcyBhdCB+OC41bXMgcm91bmQtdHJpcCBzZXJpYWxpemVkIHRvIH4xNTVzLgoKRm9y
d2FyZCB0aGUgdXBzdHJlYW0gcXVlcmllcyBvdmVyIHRoZSBzaW5nbGUgcGVyc2lzdGVudCB1cHN0
cmVhbQpjb25uZWN0aW9uIGluIGEgcGlwZWxpbmVkIGZhc2hpb24gaW5zdGVhZDogYSByZWFkZXIg
Zm9yd2FyZHMgbWlzc2VzIGFzCmZhc3QgYXMgdGhleSBhcnJpdmUsIGEgcmVjZWl2ZXIgY29sbGVj
dHMgdGhlIGluLW9yZGVyIHJlc3BvbnNlcwpjb25jdXJyZW50bHksIGFuZCBhIHNlbmRlciByZXR1
cm5zIHJlc3VsdHMgdG8gdGhlIGNsaWVudCBpbiByZXF1ZXN0Cm9yZGVyLiBUaGUgdXBzdHJlYW0g
Y29ubmVjdGlvbiBjb3VudCBpcyB1bmNoYW5nZWQgKG9uZSksIGJ1dCB0aGUKcGVyLXRhc2sgbGF0
ZW5jeSBpcyBoaWRkZW4uCgpXaXRoIGEgMjBtcyByb3VuZC10cmlwIGluamVjdGVkIGJldHdlZW4g
YSBkb3duc3RyZWFtIGFuZCB1cHN0cmVhbSBzZXJ2ZXIsCnJlc29sdmluZyA0MDAgbWlzc2VzIGRy
b3BzIGZyb20gPjhzIChzZXJpYWwpIHRvIH4wLjEzcy4KCkFJLUdlbmVyYXRlZDogVXNlcyBDdXJz
b3IKU2lnbmVkLW9mZi1ieTogTWljaGFsIFNpZXJvbiA8bWljaGFsLnNpZXJvbkBub2tpYS5jb20+
Ci0tLQogbGliL2hhc2hzZXJ2L3NlcnZlci5weSB8IDEwMiArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLQogbGliL2hhc2hzZXJ2L3Rlc3RzLnB5ICB8ICA4NiArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE4MiBpbnNlcnRp
b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9oYXNoc2Vydi9zZXJ2ZXIu
cHkgYi9saWIvaGFzaHNlcnYvc2VydmVyLnB5CmluZGV4IDNmZjQzNDc4Li4wZjMwNTg4MSAxMDA2
NDQKLS0tIGEvbGliL2hhc2hzZXJ2L3NlcnZlci5weQorKysgYi9saWIvaGFzaHNlcnYvc2VydmVy
LnB5CkBAIC00MjMsNiArNDIzLDE2IEBAIGNsYXNzIFNlcnZlckNsaWVudChiYi5hc3luY3JwYy5B
c3luY1NlcnZlckNvbm5lY3Rpb24pOgogCiAgICAgQHBlcm1pc3Npb25zKFJFQURfUEVSTSkKICAg
ICBhc3luYyBkZWYgaGFuZGxlX2dldF9zdHJlYW0oc2VsZiwgcmVxdWVzdCk6CisgICAgICAgICMg
V2hlbiBhbiB1cHN0cmVhbSBzZXJ2ZXIgaXMgY29uZmlndXJlZCwgbG9jYWwgREIgbWlzc2VzIGhh
dmUgdG8gYmUKKyAgICAgICAgIyBmb3J3YXJkZWQgdG8gaXQuIERvaW5nIHRoYXQgb25lIHRhc2sg
YXQgYSB0aW1lIGluc2lkZSB0aGUgc2VyaWFsCisgICAgICAgICMgX3N0cmVhbV9oYW5kbGVyIGxv
b3AgKGEgYmxvY2tpbmcgcm91bmQtdHJpcCBwZXIgdGFzaykgdGhyb3dzIGF3YXkgdGhlCisgICAg
ICAgICMgbGF0ZW5jeSBoaWRpbmcgdGhlIGNsaWVudCBnZXQtc3RyZWFtIHByb3RvY29sIGlzIGRl
c2lnbmVkIHRvIHByb3ZpZGUsCisgICAgICAgICMgd2hpY2ggYWRkcyBtaW51dGVzIHRvICJJbml0
aWFsaXNpbmcgdGFza3MiIG9uIGEgaGlnaCBsYXRlbmN5IGxpbmsuCisgICAgICAgICMgSW5zdGVh
ZCBwaXBlbGluZSB0aGUgdXBzdHJlYW0gbG9va3VwcyBvdmVyIHRoZSBzaW5nbGUgcGVyc2lzdGVu
dAorICAgICAgICAjIHVwc3RyZWFtIGNvbm5lY3Rpb24gd2hpbGUgcHJlc2VydmluZyB0aGUgY2xp
ZW50J3MgcmVzcG9uc2Ugb3JkZXJpbmcuCisgICAgICAgIGlmIHNlbGYudXBzdHJlYW1fY2xpZW50
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNlbGYuX3N0cmVhbV9oYW5k
bGVyX3Vwc3RyZWFtKCkKKwogICAgICAgICBhc3luYyBkZWYgaGFuZGxlcihsKToKICAgICAgICAg
ICAgIChtZXRob2QsIHRhc2toYXNoKSA9IGwuc3BsaXQoKQogICAgICAgICAgICAgIyBzZWxmLmxv
Z2dlci5kZWJ1ZygnTG9va2luZyB1cCAlcyAlcycgJSAobWV0aG9kLCB0YXNraGFzaCkpCkBAIC00
MzIsMTYgKzQ0Miw5NiBAQCBjbGFzcyBTZXJ2ZXJDbGllbnQoYmIuYXN5bmNycGMuQXN5bmNTZXJ2
ZXJDb25uZWN0aW9uKToKICAgICAgICAgICAgICAgICAjIHNlbGYubG9nZ2VyLmRlYnVnKCdGb3Vu
ZCBlcXVpdmFsZW50IHRhc2sgJXMgLT4gJXMnLCAocm93Wyd0YXNraGFzaCddLCByb3dbJ3VuaWhh
c2gnXSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJvd1sidW5paGFzaCJdCiAKLSAgICAgICAg
ICAgIGlmIHNlbGYudXBzdHJlYW1fY2xpZW50IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAg
IHVwc3RyZWFtID0gYXdhaXQgc2VsZi51cHN0cmVhbV9jbGllbnQuZ2V0X3VuaWhhc2gobWV0aG9k
LCB0YXNraGFzaCkKLSAgICAgICAgICAgICAgICBpZiB1cHN0cmVhbToKLSAgICAgICAgICAgICAg
ICAgICAgYXdhaXQgc2VsZi5zZXJ2ZXIuYmFja2ZpbGxfcXVldWUucHV0KChtZXRob2QsIHRhc2to
YXNoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwc3RyZWFtCi0KICAgICAgICAgICAg
IHJldHVybiAiIgogCiAgICAgICAgIHJldHVybiBhd2FpdCBzZWxmLl9zdHJlYW1faGFuZGxlciho
YW5kbGVyKQogCisgICAgYXN5bmMgZGVmIF9zdHJlYW1faGFuZGxlcl91cHN0cmVhbShzZWxmKToK
KyAgICAgICAgdXBzdHJlYW0gPSBzZWxmLnVwc3RyZWFtX2NsaWVudAorCisgICAgICAgIGF3YWl0
IHNlbGYuc29ja2V0LnNlbmRfbWVzc2FnZSgib2siKQorCisgICAgICAgIGxvb3AgPSBhc3luY2lv
LmdldF9ldmVudF9sb29wKCkKKyAgICAgICAgIyBGdXR1cmVzIGluIGNsaWVudCByZXF1ZXN0IG9y
ZGVyOyBkcmFpbmVkIGFuZCBzZW50IGJ5IHNlbmRlcigpLgorICAgICAgICByZXN1bHRzID0gYXN5
bmNpby5RdWV1ZSgpCisgICAgICAgICMgKGZ1dHVyZSwgbWV0aG9kLCB0YXNraGFzaCkgZm9yIG1p
c3NlcyBmb3J3YXJkZWQgdXBzdHJlYW0sIGluIHRoZQorICAgICAgICAjIG9yZGVyIHNlbnQgKHdo
aWNoIGlzIHRoZSBvcmRlciByZXNwb25zZXMgY29tZSBiYWNrKS4KKyAgICAgICAgdXBzdHJlYW1f
cGVuZGluZyA9IGFzeW5jaW8uUXVldWUoKQorICAgICAgICBzZW50aW5lbCA9IG9iamVjdCgpCisK
KyAgICAgICAgIyBQdXQgdGhlIHVwc3RyZWFtIGNvbm5lY3Rpb24gaW50byBnZXQtc3RyZWFtIG1v
ZGUgZm9yIHRoZSBkdXJhdGlvbiBvZgorICAgICAgICAjIHRoZSByZWxheTsgcmVzdG9yZSBub3Jt
YWwgbW9kZSBhZnRlcndhcmRzIHNvIHRoZSBnZXQvcmVwb3J0IGhhbmRsZXJzCisgICAgICAgICMg
Y2FuIGtlZXAgdXNpbmcgaXQuCisgICAgICAgIGF3YWl0IHVwc3RyZWFtLl9zZXRfbW9kZSh1cHN0
cmVhbS5NT0RFX0dFVF9TVFJFQU0pCisKKyAgICAgICAgYXN5bmMgZGVmIHJlYWRlcigpOgorICAg
ICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAg
ICAgICAgIGwgPSBhd2FpdCBzZWxmLnNvY2tldC5yZWN2KCkKKyAgICAgICAgICAgICAgICAgICAg
aWYgbm90IGwgb3IgbCA9PSAiRU5EIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisK
KyAgICAgICAgICAgICAgICAgICAgKG1ldGhvZCwgdGFza2hhc2gpID0gbC5zcGxpdCgpCisgICAg
ICAgICAgICAgICAgICAgIHJvdyA9IGF3YWl0IHNlbGYuZGIuZ2V0X2VxdWl2YWxlbnQobWV0aG9k
LCB0YXNraGFzaCkKKworICAgICAgICAgICAgICAgICAgICBmdXQgPSBsb29wLmNyZWF0ZV9mdXR1
cmUoKQorICAgICAgICAgICAgICAgICAgICBhd2FpdCByZXN1bHRzLnB1dChmdXQpCisKKyAgICAg
ICAgICAgICAgICAgICAgaWYgcm93IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAg
ICAgZnV0LnNldF9yZXN1bHQocm93WyJ1bmloYXNoIl0pCisgICAgICAgICAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgICAgICAgICAjIEZvcndhcmQgdGhlIG1pc3Mgbm93OyB1cHN0
cmVhbV9yZWNlaXZlcigpIGNvbGxlY3RzIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgIyAo
aW4tb3JkZXIpIHJlc3BvbnNlIHdpdGhvdXQgYmxvY2tpbmcgdGhpcyByZWFkIGxvb3AuCisgICAg
ICAgICAgICAgICAgICAgICAgICBhd2FpdCB1cHN0cmVhbS5zb2NrZXQuc2VuZCgiJXMgJXMiICUg
KG1ldGhvZCwgdGFza2hhc2gpKQorICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBzdHJl
YW1fcGVuZGluZy5wdXQoKGZ1dCwgbWV0aG9kLCB0YXNraGFzaCkpCisgICAgICAgICAgICBmaW5h
bGx5OgorICAgICAgICAgICAgICAgIGF3YWl0IHVwc3RyZWFtX3BlbmRpbmcucHV0KHNlbnRpbmVs
KQorICAgICAgICAgICAgICAgIGF3YWl0IHJlc3VsdHMucHV0KHNlbnRpbmVsKQorCisgICAgICAg
IGFzeW5jIGRlZiB1cHN0cmVhbV9yZWNlaXZlcigpOgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToK
KyAgICAgICAgICAgICAgICBpdGVtID0gYXdhaXQgdXBzdHJlYW1fcGVuZGluZy5nZXQoKQorICAg
ICAgICAgICAgICAgIGlmIGl0ZW0gaXMgc2VudGluZWw6CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrCisKKyAgICAgICAgICAgICAgICBmdXQsIG1ldGhvZCwgdGFza2hhc2ggPSBpdGVtCisgICAg
ICAgICAgICAgICAgciA9IGF3YWl0IHVwc3RyZWFtLnNvY2tldC5yZWN2KCkKKyAgICAgICAgICAg
ICAgICBpZiByOgorICAgICAgICAgICAgICAgICAgICBhd2FpdCBzZWxmLnNlcnZlci5iYWNrZmls
bF9xdWV1ZS5wdXQoKG1ldGhvZCwgdGFza2hhc2gpKQorICAgICAgICAgICAgICAgICAgICBmdXQu
c2V0X3Jlc3VsdChyKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAg
IGZ1dC5zZXRfcmVzdWx0KCIiKQorCisgICAgICAgIGFzeW5jIGRlZiBzZW5kZXIoKToKKyAgICAg
ICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgZnV0ID0gYXdhaXQgcmVzdWx0cy5n
ZXQoKQorICAgICAgICAgICAgICAgIGlmIGZ1dCBpcyBzZW50aW5lbDoKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBtc2cgPSBhd2FpdCBmdXQKKyAgICAgICAgICAg
ICAgICBhd2FpdCBzZWxmLnNvY2tldC5zZW5kKG1zZykKKyAgICAgICAgICAgIGF3YWl0IHNlbGYu
c29ja2V0LnNlbmQoIm9rIikKKworICAgICAgICB0YXNrcyA9IFsKKyAgICAgICAgICAgIGxvb3Au
Y3JlYXRlX3Rhc2socmVhZGVyKCkpLAorICAgICAgICAgICAgbG9vcC5jcmVhdGVfdGFzayh1cHN0
cmVhbV9yZWNlaXZlcigpKSwKKyAgICAgICAgICAgIGxvb3AuY3JlYXRlX3Rhc2soc2VuZGVyKCkp
LAorICAgICAgICBdCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGF3YWl0IGFzeW5jaW8uZ2F0
aGVyKCp0YXNrcykKKyAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb246CisgICAgICAgICAgICBm
b3IgdCBpbiB0YXNrczoKKyAgICAgICAgICAgICAgICB0LmNhbmNlbCgpCisgICAgICAgICAgICBh
d2FpdCBhc3luY2lvLmdhdGhlcigqdGFza3MsIHJldHVybl9leGNlcHRpb25zPVRydWUpCisgICAg
ICAgICAgICByYWlzZQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgIyBSZXN0b3JlIHRo
ZSB1cHN0cmVhbSBjb25uZWN0aW9uIHRvIG5vcm1hbCBtb2RlIGZvciByZXVzZS4KKyAgICAgICAg
ICAgIHRyeToKKyAgICAgICAgICAgICAgICBhd2FpdCB1cHN0cmVhbS5fc2V0X21vZGUodXBzdHJl
YW0uTU9ERV9OT1JNQUwpCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAg
ICAgICAgIHBhc3MKKworICAgICAgICByZXR1cm4gc2VsZi5OT19SRVNQT05TRQorCiAgICAgQHBl
cm1pc3Npb25zKFJFQURfUEVSTSkKICAgICBhc3luYyBkZWYgaGFuZGxlX2V4aXN0c19zdHJlYW0o
c2VsZiwgcmVxdWVzdCk6CiAgICAgICAgIGFzeW5jIGRlZiBoYW5kbGVyKGwpOgpkaWZmIC0tZ2l0
IGEvbGliL2hhc2hzZXJ2L3Rlc3RzLnB5IGIvbGliL2hhc2hzZXJ2L3Rlc3RzLnB5CmluZGV4IDdj
NzM2ZDZjLi45ZTYwZTE5OCAxMDA2NDQKLS0tIGEvbGliL2hhc2hzZXJ2L3Rlc3RzLnB5CisrKyBi
L2xpYi9oYXNoc2Vydi90ZXN0cy5weQpAQCAtMTU1Niw2ICsxNTU2LDkyIEBAIGNsYXNzIFRlc3RI
YXNoRXF1aXZhbGVuY2VUQ1BTZXJ2ZXIoSGFzaEVxdWl2YWxlbmNlVGVzdFNldHVwLCBIYXNoRXF1
aXZhbGVuY2VDb21tCiAgICAgICAgICMgY2FzZSBpdCBpcyBtb3JlIHJlbGlhYmxlIHRvIHJlc29s
dmUgdGhlIElQIGFkZHJlc3MgZXhwbGljaXRseS4KICAgICAgICAgcmV0dXJuIHNvY2tldC5nZXRo
b3N0YnluYW1lKCJsb2NhbGhvc3QiKSArICI6MCIKIAorICAgIGRlZiB0ZXN0X2dldF9zdHJlYW1f
dXBzdHJlYW1fcGlwZWxpbmVkKHNlbGYpOgorICAgICAgICAjIFZlcmlmeSB0aGF0LCB3aXRoIGFu
IHVwc3RyZWFtIGNvbmZpZ3VyZWQsIHRoZSBnZXQtc3RyZWFtIGhhbmRsZXIKKyAgICAgICAgIyBw
aXBlbGluZXMgaXRzIHVwc3RyZWFtIHF1ZXJpZXMgaW5zdGVhZCBvZiBkb2luZyBvbmUgYmxvY2tp
bmcKKyAgICAgICAgIyByb3VuZC10cmlwIHBlciB0YXNrLiBBIGxhdGVuY3kgcHJveHkgaW5qZWN0
cyBSVFQgYmV0d2VlbiB0aGlzIHNlcnZlcgorICAgICAgICAjIGFuZCBpdHMgdXBzdHJlYW07IGEg
c2VyaWFsIChvbmUgcm91bmQtdHJpcCBwZXIgdGFzaykgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
IyBjb3VsZCBub3QgYmVhdCBOICogUlRULCBzbyBmaW5pc2hpbmcgZmFyIGZhc3RlciBwcm92ZXMg
dGhlIHF1ZXJpZXMKKyAgICAgICAgIyBhcmUgcGlwZWxpbmVkLgorICAgICAgICBpbXBvcnQgYXN5
bmNpbworCisgICAgICAgIExBVEVOQ1kgPSAwLjAxICAjIDEwbXMgZWFjaCBkaXJlY3Rpb24gPT4g
fjIwbXMgcm91bmQgdHJpcAorICAgICAgICB1cHN0cmVhbV9ob3N0LCB1cHN0cmVhbV9wb3J0ID0g
c2VsZi5zZXJ2ZXJfYWRkcmVzcy5yc3BsaXQoIjoiLCAxKQorICAgICAgICB1cHN0cmVhbV9wb3J0
ID0gaW50KHVwc3RyZWFtX3BvcnQpCisKKyAgICAgICAgcmVhZHkgPSB0aHJlYWRpbmcuRXZlbnQo
KQorICAgICAgICBwcm94eSA9IHt9CisKKyAgICAgICAgZGVmIHJ1bl9wcm94eSgpOgorICAgICAg
ICAgICAgbG9vcCA9IGFzeW5jaW8ubmV3X2V2ZW50X2xvb3AoKQorICAgICAgICAgICAgYXN5bmNp
by5zZXRfZXZlbnRfbG9vcChsb29wKQorCisgICAgICAgICAgICBhc3luYyBkZWYgaGFuZGxlKGNy
ZWFkZXIsIGN3cml0ZXIpOgorICAgICAgICAgICAgICAgIHVyZWFkZXIsIHV3cml0ZXIgPSBhd2Fp
dCBhc3luY2lvLm9wZW5fY29ubmVjdGlvbih1cHN0cmVhbV9ob3N0LCB1cHN0cmVhbV9wb3J0KQor
CisgICAgICAgICAgICAgICAgYXN5bmMgZGVmIHBpcGUociwgdyk6CisgICAgICAgICAgICAgICAg
ICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGF0YSA9IGF3YWl0IHIucmVhZCg2NTUzNikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBhc3luY2lvLnNs
ZWVwKExBVEVOQ1kpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy53cml0ZShkYXRhKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHcuZHJhaW4oKQorICAgICAgICAgICAg
ICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwor
ICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5
OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcuY2xvc2UoKQorICAgICAgICAgICAgICAg
ICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXNzCisKKyAgICAgICAgICAgICAgICBhd2FpdCBhc3luY2lvLmdhdGhlcihwaXBlKGNyZWFkZXIs
IHV3cml0ZXIpLCBwaXBlKHVyZWFkZXIsIGN3cml0ZXIpKQorCisgICAgICAgICAgICBhc3luYyBk
ZWYgbWFpbigpOgorICAgICAgICAgICAgICAgIHNlcnZlciA9IGF3YWl0IGFzeW5jaW8uc3RhcnRf
c2VydmVyKGhhbmRsZSwgIjEyNy4wLjAuMSIsIDApCisgICAgICAgICAgICAgICAgcHJveHlbInBv
cnQiXSA9IHNlcnZlci5zb2NrZXRzWzBdLmdldHNvY2tuYW1lKClbMV0KKyAgICAgICAgICAgICAg
ICByZWFkeS5zZXQoKQorICAgICAgICAgICAgICAgIGFzeW5jIHdpdGggc2VydmVyOgorICAgICAg
ICAgICAgICAgICAgICBhd2FpdCBzZXJ2ZXIuc2VydmVfZm9yZXZlcigpCisKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICBsb29wLnJ1bl91bnRpbF9jb21wbGV0ZShtYWluKCkpCisg
ICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAg
ICAgICB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1ydW5fcHJveHksIGRhZW1vbj1UcnVlKS5zdGFy
dCgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZWFkeS53YWl0KDEwKSwgImxhdGVuY3kgcHJv
eHkgZGlkIG5vdCBzdGFydCIpCisgICAgICAgIHByb3h5X2FkZHIgPSAiMTI3LjAuMC4xOiVkIiAl
IHByb3h5WyJwb3J0Il0KKworICAgICAgICBOID0gNDAwCisgICAgICAgIGV4cGVjdGVkID0gW10K
KyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTik6CisgICAgICAgICAgICB0YXNraGFzaCA9IGhhc2hs
aWIuc2hhMjU2KCgidGFzayVkIiAlIGkpLmVuY29kZSgpKS5oZXhkaWdlc3QoKQorICAgICAgICAg
ICAgb3V0aGFzaCA9IGhhc2hsaWIuc2hhMjU2KCgib3V0JWQiICUgaSkuZW5jb2RlKCkpLmhleGRp
Z2VzdCgpCisgICAgICAgICAgICB1bmloYXNoID0gaGFzaGxpYi5zaGEyNTYoKCJ1bmklZCIgJSBp
KS5lbmNvZGUoKSkuaGV4ZGlnZXN0KCkKKyAgICAgICAgICAgIHNlbGYuY2xpZW50LnJlcG9ydF91
bmloYXNoKHRhc2toYXNoLCBzZWxmLk1FVEhPRCwgb3V0aGFzaCwgdW5paGFzaCkKKyAgICAgICAg
ICAgIGV4cGVjdGVkLmFwcGVuZCgoc2VsZi5NRVRIT0QsIHRhc2toYXNoLCB1bmloYXNoKSkKKwor
ICAgICAgICAjIERvd25zdHJlYW0gc2VydmVyIHdpdGggYW4gRU1QVFkgbG9jYWwgREIgd2hvc2Ug
dXBzdHJlYW0gaXMgdGhlIHNsb3cgcHJveHkuCisgICAgICAgIGRvd25fc2VydmVyID0gc2VsZi5z
dGFydF9zZXJ2ZXIodXBzdHJlYW09cHJveHlfYWRkcikKKyAgICAgICAgZG93bl9jbGllbnQgPSBz
ZWxmLnN0YXJ0X2NsaWVudChkb3duX3NlcnZlci5hZGRyZXNzKQorCisgICAgICAgIGFyZ3MgPSBb
KG0sIHRoKSBmb3IgKG0sIHRoLCBfdWgpIGluIGV4cGVjdGVkXQorICAgICAgICBzdGFydCA9IHRp
bWUudGltZSgpCisgICAgICAgIHJlc3VsdHMgPSBkb3duX2NsaWVudC5nZXRfdW5paGFzaF9iYXRj
aChhcmdzKQorICAgICAgICBlbGFwc2VkID0gdGltZS50aW1lKCkgLSBzdGFydAorCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cywgW3VoIGZvciAoX20sIF90aCwgdWgpIGluIGV4cGVj
dGVkXSkKKworICAgICAgICAjIEEgc2VyaWFsIChvbmUgcm91bmQtdHJpcCBwZXIgdGFzaykgaW1w
bGVtZW50YXRpb24gY2Fubm90IGJlYXQgTipSVFQuCisgICAgICAgICMgQWxsb3cgYSBnZW5lcm91
cyBtYXJnaW4gdG8gYXZvaWQgZmxha2luZXNzIG9uIGxvYWRlZCBDSSBtYWNoaW5lcy4KKyAgICAg
ICAgc2VyaWFsX2xvd2VyX2JvdW5kID0gTiAqIDIgKiBMQVRFTkNZCisgICAgICAgIHNlbGYuYXNz
ZXJ0TGVzcyhlbGFwc2VkLCBzZXJpYWxfbG93ZXJfYm91bmQgLyA0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgIlVwc3RyZWFtIHF1ZXJpZXMgYXJlIG5vdCBiZWluZyBwaXBlbGluZWQgIgorICAg
ICAgICAgICAgICAgICAgICAgICAgIiglLjNmcyBmb3IgJWQgcXVlcmllcyBhdCAlLjBmbXMgaW5q
ZWN0ZWQgUlRUKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICUgKGVsYXBzZWQsIE4sIDIgKiBM
QVRFTkNZICogMTAwMCkpCisKIAogY2xhc3MgVGVzdEhhc2hFcXVpdmFsZW5jZVdlYnNvY2tldFNl
cnZlcihIYXNoRXF1aXZhbGVuY2VUZXN0U2V0dXAsIEhhc2hFcXVpdmFsZW5jZUNvbW1vblRlc3Rz
LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>