<?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>175185</bug_id>
          
          <creation_ts>2017-08-04 04:43:23 -0700</creation_ts>
          <short_desc>[WebRTC] page reload often hangs when webrtc stream is involved</short_desc>
          <delta_ts>2018-03-12 13:53:51 -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>WebRTC</component>
          <version>Safari Technology Preview</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>andj2223</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>ap</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1335211</commentid>
    <comment_count>0</comment_count>
      <attachid>317234</attachid>
    <who name="">andj2223</who>
    <bug_when>2017-08-04 04:43:23 -0700</bug_when>
    <thetext>Created attachment 317234
patch against libwebrtc to enable &quot;immediately start recvonly video upon pageload&quot; behavior.

I&apos;ve noticed flakiness when refreshing pages that use webrtc in Safari. For example, if the page is set up to automatically start receiving a recvonly video stream, and you repeatedly refresh the page, it will eventually stop working.

To reproduce:
Set up a simple webrtc example that immediately causes a recvonly video stream to be played upon pageload.
Repeatedly refresh the page.

Expectation:
The video stream should start playing upon every single refresh.

Actual result:
After about 4-5 refreshes, safari&apos;s progress meter in the url bar will freeze at around the 10% mark, and stay there indefinitely. The page will seemingly never reload.

As mentioned, you do need a simple webrtc example that immediately causes a recvonly video stream to be played upon page load.

If you don&apos;t have such an example available to you, you have a couple of options that I know of off the top of my head:

I provide a patch to peerconnection_server/peerconnection_client to have this &quot;recvonly upon pageload&quot; behavior here:
https://bugs.chromium.org/p/webrtc/issues/detail?id=7791
I&apos;m not sure if peerconnection_server/client works with webkit&apos;s webrtc, so it may require further changes before using it.

Alternatively, you can use the private url that I provided to Alexey P. and Youenn F. in this bug: 
https://bugs.webkit.org/show_bug.cgi?id=175014
Please get that URL from Alexey or Youenn but do not distribute it outside of webkit/Apple.

Additional notes:
You may be hitting the following issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=725038
(more info) https://bugs.chromium.org/p/webrtc/issues/detail?id=7791
libwebrtc commit 355be367c161 fixes that, which you do not appear to have upon my quick glance (it happened after a87675d4 apparently).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335287</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-04 09:39:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/33726024&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348386</commentid>
    <comment_count>2</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-09-13 11:21:42 -0700</bug_when>
    <thetext>This will be fixed once we update to the latest libwebrtc.

*** This bug has been marked as a duplicate of bug 176865 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383892</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-12-20 16:42:38 -0800</bug_when>
    <thetext>Deduping. We may want to try to fix this before the libwebrtc update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389305</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-15 07:55:58 -0800</bug_when>
    <thetext>&gt; After about 4-5 refreshes, safari&apos;s progress meter in the url bar will
&gt; freeze at around the 10% mark, and stay there indefinitely. The page will
&gt; seemingly never reload.

I was sometimes able to replay this hang.
Going to a new URL, loading in the same page was ok.
Going back to the test page was also ok.

Sometimes I saw some crashes when reloading but I am not sure this is actually related to WebRTC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389307</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-15 08:03:57 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; &gt; After about 4-5 refreshes, safari&apos;s progress meter in the url bar will
&gt; &gt; freeze at around the 10% mark, and stay there indefinitely. The page will
&gt; &gt; seemingly never reload.
&gt; 
&gt; I was sometimes able to replay this hang.
&gt; Going to a new URL, loading in the same page was ok.
&gt; Going back to the test page was also ok.
&gt; 
&gt; Sometimes I saw some crashes when reloading but I am not sure this is
&gt; actually related to WebRTC.

As detailed in rdar://problem/33726024, one is related to WebRTC. I filed https://bugs.webkit.org/show_bug.cgi?id=181649 for that purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405882</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-12 13:53:51 -0700</bug_when>
    <thetext>andj2223, given bug 181649 is done, I am closing this bug.
Let me know if you still experience this issue in latest releases.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317234</attachid>
            <date>2017-08-04 04:43:23 -0700</date>
            <delta_ts>2017-08-04 04:43:23 -0700</delta_ts>
            <desc>patch against libwebrtc to enable &quot;immediately start recvonly video upon pageload&quot; behavior.</desc>
            <filename>0001-Beef-up-the-peerconnection_client-and-server_test.ht.patch</filename>
            <type>text/plain</type>
            <size>11208</size>
            <attacher>andj2223</attacher>
            
              <data encoding="base64">RnJvbSAyYTFjYjQ5MjkzMzBkNzJhOWI5NDFiZTc1ODdmMzNkNjdmM2MzMDNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgPGFuZGoyMjIzQGdtYWlsLmNvbT4KRGF0ZTogRnJp
LCA5IEp1biAyMDE3IDIxOjE5OjE4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gQmVlZiB1cCB0aGUg
cGVlcmNvbm5lY3Rpb25fY2xpZW50IGFuZCBzZXJ2ZXJfdGVzdC5odG1sCiBleGFtcGxlcyBmb3Ig
YSB3ZWJydGMgYnVnIHJlcG9ydC4KCnBlZXJjb25uZWN0aW9uX2NsaWVudDoKKiBVcG9uIGNvbm5l
Y3Rpb24gb2YgYSBwZWVyLCBhdXRvbWF0aWNhbGx5IGNvbm5lY3QgdG8gdGhhdCBwZWVyLgoqIFVw
b24gY29ubmVjdGlvbiBvZiBhIG5ldyBwZWVyIHdoZW4gYSBkaWZmZXJlbnQgcGVlciBpcyBhbHJl
YWR5IGNvbm5lY3RlZDoKICBJbnN0ZWFkIG9mIGRpc2FsbG93aW5nIHRoZSBuZXdlciBwZWVyIChh
cyBiZWZvcmUpLCBkZXN0cm95IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBvbGRlciBwZWVyIGFuZCBh
bGxvdyB0aGUgbmV3ZXIgcGVlciBjb25uZWN0aW9uLgogIFRoaXMgYWxsb3dzIGZvciB0ZXN0aW5n
IG9mIGEgYnVnIGludm9sdmluZyAncmVmcmVzaCcgaW4gQ2hyb21lLgoKc2VydmVyX3Rlc3QuaHRt
bDoKKiBBZGQgYSA8dmlkZW8+IGVsZW1lbnQgYW5kIGFsbG93IGZvciBwbGF5YmFjayBvZiBhIHJl
Y3Zvbmx5IHZpZGVvIHN0cmVhbSBmcm9tIGEgbmF0aXZlIHBlZXJjb25uZWN0aW9uX2NsaWVudC4K
KiBBdXRvbWF0aWNhbGx5IGNvbm5lY3QgdG8gdGhlIHNlcnZlciB1cG9uIGxvYWRpbmcgdGhlIHNl
cnZlcl90ZXN0Lmh0bWwgcGFnZS4KLS0tCiB3ZWJydGMvZXhhbXBsZXMvcGVlcmNvbm5lY3Rpb24v
Y2xpZW50L2NvbmR1Y3Rvci5jYyB8ICAyOCArKysrLQogLi4uL3BlZXJjb25uZWN0aW9uL2NsaWVu
dC9saW51eC9tYWluX3duZC5jYyAgICAgICAgfCAgMTAgKy0KIC4uLi9wZWVyY29ubmVjdGlvbi9z
ZXJ2ZXIvc2VydmVyX3Rlc3QuaHRtbCAgICAgICAgIHwgMTMxICsrKysrKysrKysrKysrKysrKyst
LQogMyBmaWxlcyBjaGFuZ2VkLCAxNTMgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvd2VicnRjL2V4YW1wbGVzL3BlZXJjb25uZWN0aW9uL2NsaWVudC9jb25kdWN0
b3IuY2MgYi93ZWJydGMvZXhhbXBsZXMvcGVlcmNvbm5lY3Rpb24vY2xpZW50L2NvbmR1Y3Rvci5j
YwppbmRleCA3YzQxMDI3NDcuLjNjOGIzNDVlYSAxMDA2NDQKLS0tIGEvd2VicnRjL2V4YW1wbGVz
L3BlZXJjb25uZWN0aW9uL2NsaWVudC9jb25kdWN0b3IuY2MKKysrIGIvd2VicnRjL2V4YW1wbGVz
L3BlZXJjb25uZWN0aW9uL2NsaWVudC9jb25kdWN0b3IuY2MKQEAgLTc2LDEwICs3NiwxNSBAQCB2
b2lkIENvbmR1Y3Rvcjo6Q2xvc2UoKSB7CiB9CiAKIGJvb2wgQ29uZHVjdG9yOjpJbml0aWFsaXpl
UGVlckNvbm5lY3Rpb24oKSB7CisjaWYgMAogICBSVENfRENIRUNLKHBlZXJfY29ubmVjdGlvbl9m
YWN0b3J5Xy5nZXQoKSA9PSBOVUxMKTsKICAgUlRDX0RDSEVDSyhwZWVyX2Nvbm5lY3Rpb25fLmdl
dCgpID09IE5VTEwpOworI2VuZGlmCiAKLSAgcGVlcl9jb25uZWN0aW9uX2ZhY3RvcnlfICA9IHdl
YnJ0Yzo6Q3JlYXRlUGVlckNvbm5lY3Rpb25GYWN0b3J5KCk7CisgIGlmIChwZWVyX2Nvbm5lY3Rp
b25fZmFjdG9yeV8uZ2V0KCkgPT0gTlVMTCkKKyAgeworICAgIHBlZXJfY29ubmVjdGlvbl9mYWN0
b3J5XyAgPSB3ZWJydGM6OkNyZWF0ZVBlZXJDb25uZWN0aW9uRmFjdG9yeSgpOworICB9CiAKICAg
aWYgKCFwZWVyX2Nvbm5lY3Rpb25fZmFjdG9yeV8uZ2V0KCkpIHsKICAgICBtYWluX3duZF8tPk1l
c3NhZ2VCb3goIkVycm9yIiwKQEAgLTg4LDYgKzkzLDE2IEBAIGJvb2wgQ29uZHVjdG9yOjpJbml0
aWFsaXplUGVlckNvbm5lY3Rpb24oKSB7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKKyAgLy8g
S2lsbCB0aGUgb2xkIHBlZXIgY29ubmVjdGlvbiwgaWYgb25lIGV4aXN0cy4KKyAgLy8gVGhpcyBh
bGxvd3MgZm9yIG5ldyBjbGllbnRzIHRvIGNvbm5lY3Qgb3IgZXhpc3RpbmcgY2xpZW50cyB0byBG
NS9yZWZyZXNoIHRoZSBwYWdlLgorICAvLyBOb3RlIHRoYXQgYW55IGV4aXN0aW5nIHBlZXJjb25u
ZWN0aW9uIHdpbGwgZ2V0IGtpbGxlZCB3aGVuIGEgbmV3IGNsaWVudCBjb25uZWN0cworICAvLyBh
bmQgdGhhdCBpcyB0aGUgZGVzaXJlZCBiZWhhdmlvciBmb3IgdGhpcyB0ZXN0Y2FzZS4KKyAgaWYg
KHBlZXJfY29ubmVjdGlvbl9mYWN0b3J5Xy5nZXQoKSAhPSBOVUxMKQorICB7CisgICAgcHJpbnRm
KCJOZXcgcGVlciBjb25uZWN0ZWQgLyBleGlzdGluZyBwZWVyIHJlZnJlc2hlZD8gQ2xlYXJpbmcg
dGhlIG9sZCBwZWVyIGNvbm5lY3Rpb24uLi5cbiIpOworICAgIERlbGV0ZVBlZXJDb25uZWN0aW9u
KCk7CisgIH0KKwogICBpZiAoIUNyZWF0ZVBlZXJDb25uZWN0aW9uKERUTFNfT04pKSB7CiAgICAg
bWFpbl93bmRfLT5NZXNzYWdlQm94KCJFcnJvciIsCiAgICAgICAgICJDcmVhdGVQZWVyQ29ubmVj
dGlvbiBmYWlsZWQiLCB0cnVlKTsKQEAgLTEzOCw3ICsxNTMsOCBAQCB2b2lkIENvbmR1Y3Rvcjo6
RGVsZXRlUGVlckNvbm5lY3Rpb24oKSB7CiAgIGFjdGl2ZV9zdHJlYW1zXy5jbGVhcigpOwogICBt
YWluX3duZF8tPlN0b3BMb2NhbFJlbmRlcmVyKCk7CiAgIG1haW5fd25kXy0+U3RvcFJlbW90ZVJl
bmRlcmVyKCk7Ci0gIHBlZXJfY29ubmVjdGlvbl9mYWN0b3J5XyA9IE5VTEw7CisgIC8vIERvIG5v
dCBkZXN0cm95IHRoZSBwZWVyY29ubmVjdGlvbiBmYWN0b3J5LCBiZWNhdXNlIHdlIGNhbiByZXVz
ZSBpdC4KKyAgLy9wZWVyX2Nvbm5lY3Rpb25fZmFjdG9yeV8gPSBOVUxMOwogICBwZWVyX2lkXyA9
IC0xOwogICBsb29wYmFja18gPSBmYWxzZTsKIH0KQEAgLTIxMiw2ICsyMjgsMTAgQEAgdm9pZCBD
b25kdWN0b3I6Ok9uRGlzY29ubmVjdGVkKCkgewogCiB2b2lkIENvbmR1Y3Rvcjo6T25QZWVyQ29u
bmVjdGVkKGludCBpZCwgY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUpIHsKICAgTE9HKElORk8pIDw8
IF9fRlVOQ1RJT05fXzsKKworICAvLyBBdXRvbWF0aWNhbGx5IGNvbm5lY3QgdG8gYW55IHBlZXIg
YXMgc29vbiBhcyB0aGV5IGNvbm5lY3QuCisgIENvbm5lY3RUb1BlZXIoaWQpOworCiAgIC8vIFJl
ZnJlc2ggdGhlIGxpc3QgaWYgd2UncmUgc2hvd2luZyBpdC4KICAgaWYgKG1haW5fd25kXy0+Y3Vy
cmVudF91aSgpID09IE1haW5XaW5kb3c6OkxJU1RfUEVFUlMpCiAgICAgbWFpbl93bmRfLT5Td2l0
Y2hUb1BlZXJMaXN0KGNsaWVudF8tPnBlZXJzKCkpOwpAQCAtMzQ5LDE0ICszNjksMTggQEAgdm9p
ZCBDb25kdWN0b3I6OkRpc2Nvbm5lY3RGcm9tU2VydmVyKCkgewogfQogCiB2b2lkIENvbmR1Y3Rv
cjo6Q29ubmVjdFRvUGVlcihpbnQgcGVlcl9pZCkgeworI2lmIDAKICAgUlRDX0RDSEVDSyhwZWVy
X2lkXyA9PSAtMSk7CisjZW5kaWYKICAgUlRDX0RDSEVDSyhwZWVyX2lkICE9IC0xKTsKIAorI2lm
IDAKICAgaWYgKHBlZXJfY29ubmVjdGlvbl8uZ2V0KCkpIHsKICAgICBtYWluX3duZF8tPk1lc3Nh
Z2VCb3goIkVycm9yIiwKICAgICAgICAgIldlIG9ubHkgc3VwcG9ydCBjb25uZWN0aW5nIHRvIG9u
ZSBwZWVyIGF0IGEgdGltZSIsIHRydWUpOwogICAgIHJldHVybjsKICAgfQorI2VuZGlmCiAKICAg
aWYgKEluaXRpYWxpemVQZWVyQ29ubmVjdGlvbigpKSB7CiAgICAgcGVlcl9pZF8gPSBwZWVyX2lk
OwpkaWZmIC0tZ2l0IGEvd2VicnRjL2V4YW1wbGVzL3BlZXJjb25uZWN0aW9uL2NsaWVudC9saW51
eC9tYWluX3duZC5jYyBiL3dlYnJ0Yy9leGFtcGxlcy9wZWVyY29ubmVjdGlvbi9jbGllbnQvbGlu
dXgvbWFpbl93bmQuY2MKaW5kZXggNTVhNTlhZWEyLi4zZjRmZmRkZjcgMTAwNjQ0Ci0tLSBhL3dl
YnJ0Yy9leGFtcGxlcy9wZWVyY29ubmVjdGlvbi9jbGllbnQvbGludXgvbWFpbl93bmQuY2MKKysr
IGIvd2VicnRjL2V4YW1wbGVzL3BlZXJjb25uZWN0aW9uL2NsaWVudC9saW51eC9tYWluX3duZC5j
YwpAQCAtMzIxLDE2ICszMjEsMjAgQEAgdm9pZCBHdGtNYWluV25kOjpTd2l0Y2hUb1BlZXJMaXN0
KGNvbnN0IFBlZXJzJiBwZWVycykgewogCiB2b2lkIEd0a01haW5XbmQ6OlN3aXRjaFRvU3RyZWFt
aW5nVUkoKSB7CiAgIExPRyhJTkZPKSA8PCBfX0ZVTkNUSU9OX187Ci0KKyNpZiAwCiAgIFJUQ19E
Q0hFQ0soZHJhd19hcmVhXyA9PSBOVUxMKTsKLQorI2VuZGlmCiAgIGd0a19jb250YWluZXJfc2V0
X2JvcmRlcl93aWR0aChHVEtfQ09OVEFJTkVSKHdpbmRvd18pLCAwKTsKICAgaWYgKHBlZXJfbGlz
dF8pIHsKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3kocGVlcl9saXN0Xyk7CiAgICAgcGVlcl9saXN0
XyA9IE5VTEw7CiAgIH0KIAotICBkcmF3X2FyZWFfID0gZ3RrX2RyYXdpbmdfYXJlYV9uZXcoKTsK
KyAgLy8gTm8gbmVlZCB0byByZWNyZWF0ZSB0aGUgZHJhdyBhcmVhIGlmIGl0IGV4aXN0cy4uLgor
ICBpZiAoZHJhd19hcmVhXyA9PSBOVUxMKQorICB7CisgICAgZHJhd19hcmVhXyA9IGd0a19kcmF3
aW5nX2FyZWFfbmV3KCk7CisgIH0KICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUih3
aW5kb3dfKSwgZHJhd19hcmVhXyk7CiAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1QoZHJhd19h
cmVhXyksICJkcmF3IiwgR19DQUxMQkFDSygmOjpEcmF3KSwgdGhpcyk7CiAKZGlmZiAtLWdpdCBh
L3dlYnJ0Yy9leGFtcGxlcy9wZWVyY29ubmVjdGlvbi9zZXJ2ZXIvc2VydmVyX3Rlc3QuaHRtbCBi
L3dlYnJ0Yy9leGFtcGxlcy9wZWVyY29ubmVjdGlvbi9zZXJ2ZXIvc2VydmVyX3Rlc3QuaHRtbApp
bmRleCAwYTE2NWYxOWQuLmEyMDk2NjQyYiAxMDA2NDQKLS0tIGEvd2VicnRjL2V4YW1wbGVzL3Bl
ZXJjb25uZWN0aW9uL3NlcnZlci9zZXJ2ZXJfdGVzdC5odG1sCisrKyBiL3dlYnJ0Yy9leGFtcGxl
cy9wZWVyY29ubmVjdGlvbi9zZXJ2ZXIvc2VydmVyX3Rlc3QuaHRtbApAQCAtMTAsNiArMTAsMjQg
QEAgdmFyIHNlcnZlcjsKIHZhciBteV9pZCA9IC0xOwogdmFyIG90aGVyX3BlZXJzID0ge307CiB2
YXIgbWVzc2FnZV9jb3VudGVyID0gMDsKK3ZhciBwYzsKKwordmFyIHBjQ29uZmlnID0geyAiaWNl
U2VydmVycyI6IFt7InVybCI6ICJzdHVuOnN0dW4ubC5nb29nbGUuY29tOjE5MzAyIn1dIH07Cit2
YXIgcGNPcHRpb25zID0geworICAgIG9wdGlvbmFsOiBbCisgICAge0R0bHNTcnRwS2V5QWdyZWVt
ZW50OiB0cnVlfQorICAgIF0KK30KKwordmFyIG1lZGlhQ29uc3RyYWludHMgPSB7J21hbmRhdG9y
eSc6IHsKKyAgICAnT2ZmZXJUb1JlY2VpdmVBdWRpbyc6IGZhbHNlLAorICAgICdPZmZlclRvUmVj
ZWl2ZVZpZGVvJzogdHJ1ZSB9fTsKK3ZhciByZW1vdGVTdHJlYW07CisKK1JUQ1BlZXJDb25uZWN0
aW9uID0gd2luZG93Lm1velJUQ1BlZXJDb25uZWN0aW9uIHx8IHdpbmRvdy53ZWJraXRSVENQZWVy
Q29ubmVjdGlvbjsKK1JUQ1Nlc3Npb25EZXNjcmlwdGlvbiA9IHdpbmRvdy5tb3pSVENTZXNzaW9u
RGVzY3JpcHRpb24gfHwgd2luZG93LlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjsKK1JUQ0ljZUNhbmRp
ZGF0ZSA9IHdpbmRvdy5tb3pSVENJY2VDYW5kaWRhdGUgfHwgd2luZG93LlJUQ0ljZUNhbmRpZGF0
ZTsKK2dldFVzZXJNZWRpYSA9IG5hdmlnYXRvci5tb3pHZXRVc2VyTWVkaWEgfHwgbmF2aWdhdG9y
LndlYmtpdEdldFVzZXJNZWRpYTsKIAogZnVuY3Rpb24gdHJhY2UodHh0KSB7CiAgIHZhciBlbGVt
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlYnVnIik7CkBAIC0yMyw2ICs0MSw3NyBAQCBm
dW5jdGlvbiBoYW5kbGVTZXJ2ZXJOb3RpZmljYXRpb24oZGF0YSkgewogICAgIG90aGVyX3BlZXJz
W3BhcnNlSW50KHBhcnNlZFsxXSldID0gcGFyc2VkWzBdOwogfQogCitmdW5jdGlvbiBvblNlc3Np
b25Db25uZWN0aW5nKG1lc3NhZ2UpIHsKKyAgICBjb25zb2xlLmxvZygiU2Vzc2lvbiBjb25uZWN0
aW5nLiIpOworfQorCitmdW5jdGlvbiBvblNlc3Npb25PcGVuZWQobWVzc2FnZSkgeworICAgIGNv
bnNvbGUubG9nKCJTZXNzaW9uIG9wZW5lZC4iKTsKK30KKworZnVuY3Rpb24gb25SZW1vdGVTdHJl
YW1SZW1vdmVkKGV2ZW50KSB7CisgICAgY29uc29sZS5sb2coIlJlbW90ZSBzdHJlYW0gcmVtb3Zl
ZC4iKTsKK30KKworZnVuY3Rpb24gb25SZW1vdGVTZHBFcnJvcihldmVudCkgeworICAgIGNvbnNv
bGUuZXJyb3IoJ29uUmVtb3RlU2RwRXJyb3InLCBldmVudC5uYW1lLCBldmVudC5tZXNzYWdlKTsK
K30KKworZnVuY3Rpb24gb25TdHJlYW1QbGF5aW5nKCkKK3sKKyAgY29uc29sZS5sb2coInZpZGVv
IGVsZW1lbnQncyAncGxheWluZycgY2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkISIpOworfQorCitm
dW5jdGlvbiBvblJlbW90ZVN0cmVhbUFkZGVkKGV2ZW50KSB7CisgICAgY29uc29sZS5sb2coIlJl
bW90ZSBzdHJlYW0gYWRkZWQ6IiwgVVJMLmNyZWF0ZU9iamVjdFVSTChldmVudC5zdHJlYW0pKTsK
KyAgICBjb25zb2xlLmxvZygiY2FsbGluZyBVUkwuY3JlYXRlT2JqZWN0VVJMKCkgb24gdmlkZW8g
ZWxlbWVudC4uLiIpOworICAgIHZhciByZW1vdGVWaWV3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3JlbW90ZV92aWV3Jyk7CisgICAgcmVtb3RlVmlldy5hZGRFdmVudExpc3RlbmVyKCJwbGF5
aW5nIiwgb25TdHJlYW1QbGF5aW5nKTsKKyAgICByZW1vdGVWaWV3LnNyYyA9IFVSTC5jcmVhdGVP
YmplY3RVUkwoZXZlbnQuc3RyZWFtKTsKK30KKwordmFyIGNhY2hlZENhbmRpZGF0ZXMgPSBbXTsK
K2Z1bmN0aW9uIGFkZElDRUNhbmRpZGF0ZUZyb21KU09OKGRhdGFKc29uKQoreworICAgIHZhciBj
YW5kaWRhdGUgPSBuZXcgUlRDSWNlQ2FuZGlkYXRlKHtzZHBNTGluZUluZGV4OiBkYXRhSnNvbi5z
ZHBNTGluZUluZGV4LCBjYW5kaWRhdGU6IGRhdGFKc29uLmNhbmRpZGF0ZX0pOworICAgIHBjLmFk
ZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUsIGZ1bmN0aW9uKCkge30sIGZ1bmN0aW9uKHRoZUVycikg
eyBjb25zb2xlLmxvZygiYWRkaWNlY2FuZGlkYXRlIGVycm9yOiAiICsgdGhlRXJyKTsgfSApOwor
fQorZnVuY3Rpb24gb25SZW1vdGVTZHBTdWNjZXMoKSB7CisgIGNvbnNvbGUubG9nKCJpbiBvblJl
bW90ZVNkcFN1Y2Nlc3MiKTsKKyAgICBmb3IodmFyIGlpID0gMDsgaWkgPCBjYWNoZWRDYW5kaWRh
dGVzLmxlbmd0aDsgaWkrKykKKyAgICB7CisgICAgICAgIGNvbnNvbGUubG9nKCJBZGRpbmcgY2Fj
aGVkIElDRSBjYW5kaWF0ZSAiLCBjYWNoZWRDYW5kaWRhdGVzW2lpXSk7CisgICAgICAgIGFkZElD
RUNhbmRpZGF0ZUZyb21KU09OKGNhY2hlZENhbmRpZGF0ZXNbaWldKTsKKyAgICAgICAgY2FjaGVk
Q2FuZGlkYXRlcyA9IFtdOworICAgIH0KK30KKworZnVuY3Rpb24gY3JlYXRlUGVlckNvbm5lY3Rp
b24ocGVlcl9pZCkKK3sKKyAgICB0cnkgeworICAgICAgICBwYyA9IG5ldyBSVENQZWVyQ29ubmVj
dGlvbihwY0NvbmZpZywgcGNPcHRpb25zKTsKKyAgICAgICAgcGMub25pY2VjYW5kaWRhdGUgPSBm
dW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgaWYgKGV2ZW50LmNhbmRpZGF0ZSkgeworICAg
ICAgICAgICAgICAgIHZhciBjYW5kaWRhdGUgPSB7CisgICAgICAgICAgICAgICAgICAgIHNkcE1M
aW5lSW5kZXg6IGV2ZW50LmNhbmRpZGF0ZS5zZHBNTGluZUluZGV4LAorICAgICAgICAgICAgICAg
ICAgICBzZHBNaWQ6IGV2ZW50LmNhbmRpZGF0ZS5zZHBNaWQsCisgICAgICAgICAgICAgICAgICAg
IGNhbmRpZGF0ZTogZXZlbnQuY2FuZGlkYXRlLmNhbmRpZGF0ZQorICAgICAgICAgICAgICAgIH07
CisgICAgICAgICAgICAgICAgc2VuZFRvUGVlcihwZWVyX2lkLCBKU09OLnN0cmluZ2lmeShjYW5k
aWRhdGUpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgY29uc29sZS5s
b2coIkVuZCBvZiBjYW5kaWRhdGVzLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgICBwYy5vbmNvbm5lY3RpbmcgPSBvblNlc3Npb25Db25uZWN0aW5nOworICAgICAgICBwYy5v
bm9wZW4gPSBvblNlc3Npb25PcGVuZWQ7CisgICAgICAgIHBjLm9uYWRkc3RyZWFtID0gb25SZW1v
dGVTdHJlYW1BZGRlZDsKKyAgICAgICAgcGMub25yZW1vdmVzdHJlYW0gPSBvblJlbW90ZVN0cmVh
bVJlbW92ZWQ7CisgICAgICAgIGNvbnNvbGUubG9nKCJDcmVhdGVkIFJUQ1BlZXJDb25ubmVjdGlv
biB3aXRoIGNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KHBjQ29uZmlnKSk7CisgICAgfSBjYXRj
aCAoZSkgeworICAgICAgICBjb25zb2xlLmxvZygiRmFpbGVkIHRvIGNyZWF0ZSBQZWVyQ29ubmVj
dGlvbiB3aXRoICIgKyBjb25uZWN0aW9uSWQgKyAiLCBleGNlcHRpb246ICIgKyBlLm1lc3NhZ2Up
OworICAgIH0KK30KKwogZnVuY3Rpb24gaGFuZGxlUGVlck1lc3NhZ2UocGVlcl9pZCwgZGF0YSkg
ewogICArK21lc3NhZ2VfY291bnRlcjsKICAgdmFyIHN0ciA9ICJNZXNzYWdlIGZyb20gJyIgKyBv
dGhlcl9wZWVyc1twZWVyX2lkXSArICInJm5ic3A7IjsKQEAgLTMxLDE2ICsxMjAsMzQgQEAgZnVu
Y3Rpb24gaGFuZGxlUGVlck1lc3NhZ2UocGVlcl9pZCwgZGF0YSkgewogICBzdHIgKz0gIjxibG9j
a3F1b3RlIGlkPSdtc2dfIiArIG1lc3NhZ2VfY291bnRlciArICInIHN0eWxlPSdkaXNwbGF5Om5v
bmUnPiI7CiAgIHN0ciArPSBkYXRhICsgIjwvYmxvY2txdW90ZT4iOwogICB0cmFjZShzdHIpOwot
ICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvb3BiYWNrIikuY2hlY2tlZCkgewotICAg
IGlmIChkYXRhLnNlYXJjaCgib2ZmZXIiKSAhPSAtMSkgewotICAgICAgLy8gSW4gbG9vcGJhY2sg
bW9kZSwgaWYgRFRMUyBpcyBlbmFibGVkLCBub3RpZnkgdGhlIGNsaWVudCB0byBkaXNhYmxlIGl0
LgotICAgICAgLy8gT3RoZXJ3aXNlIHJlcGxhY2UgdGhlIG9mZmVyIHdpdGggYW4gYW5zd2VyLgot
ICAgICAgaWYgKGRhdGEuc2VhcmNoKCJmaW5nZXJwcmludCIpICE9IC0xKQotICAgICAgICBkYXRh
ID0gZGF0YS5yZXBsYWNlKCJvZmZlciIsICJvZmZlci1sb29wYmFjayIpOwotICAgICAgZWxzZQot
ICAgICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKCJvZmZlciIsICJhbnN3ZXIiKTsKKworICB2YXIg
ZGF0YUpzb24gPSBKU09OLnBhcnNlKGRhdGEpOworICBjb25zb2xlLmxvZygicmVjZWl2ZWQgIiwg
ZGF0YUpzb24pOworICBpZiAoZGF0YS5zZWFyY2goIm9mZmVyIikgIT0gLTEpIHsKKyAgICBpZihw
YyA9PSB1bmRlZmluZWQpIHsKKyAgICAgIGNyZWF0ZVBlZXJDb25uZWN0aW9uKHBlZXJfaWQpOwor
ICAgIH0KKyAgICBjb25zb2xlLmxvZygicmVtb3RlIGRlc2NyaXB0aW9uIiwgZGF0YUpzb24pOwor
ICAgIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oZGF0
YUpzb24pLCBvblJlbW90ZVNkcFN1Y2Nlcywgb25SZW1vdGVTZHBFcnJvcik7CisgICAgcGMuY3Jl
YXRlQW5zd2VyKGZ1bmN0aW9uKHNlc3Npb25EZXNjcmlwdGlvbikgeworICAgICAgLy9zZXNzaW9u
RGVzY3JpcHRpb24uc2RwID0gc2Vzc2lvbkRlc2NyaXB0aW9uLnNkcC5yZXBsYWNlKC9hPW1pZDp2
aWRlb1xyXG4vZyAsICdhPW1pZDp2aWRlb1xyXG5iPUFTOjMwMFxyXG4nKTsKKyAgICAgIC8vc2Vz
c2lvbkRlc2NyaXB0aW9uLnNkcCA9IHNlc3Npb25EZXNjcmlwdGlvbi5zZHAucmVwbGFjZSgvYT1m
bXRwKC4qKVxyXG4vZyAsICdhPWZtdHAkMTt4LWdvb2dsZS1zdGFydC1iaXRyYXRlPTMwMDt4LWdv
b2dsZS1taW4tYml0cmF0ZT0zMDBcclxuJyk7CisgICAgICBjb25zb2xlLmxvZygiQ3JlYXRlIGFu
c3dlcjoiLCBzZXNzaW9uRGVzY3JpcHRpb24pOworICAgICAgcGMuc2V0TG9jYWxEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24pOworICAgICAgdmFyIGRhdGEgPSBKU09OLnN0cmluZ2lmeShz
ZXNzaW9uRGVzY3JpcHRpb24pOworICAgICAgc2VuZFRvUGVlcihwZWVyX2lkLCBkYXRhKTsKKyAg
ICB9LCBmdW5jdGlvbihlcnJvcikgeyAvLyBlcnJvcgorICAgICAgY29uc29sZS5sb2coIkNyZWF0
ZSBhbnN3ZXIgZXJyb3I6IiwgZXJyb3IpOworICAgIH0sIG1lZGlhQ29uc3RyYWludHMpOworICB9
IGVsc2UgeworICAgIGlmKCFwYykgeworICAgICAgLy8gQ2FjaGUgdGhlIGljZSBjYW5kaWRhdGUg
aWYgd2UgaGF2ZW4ndCByZWNlaXZlZCB0aGUgb2ZmZXIgU0RQIHlldC4KKyAgICAgIGNvbnNvbGUu
bG9nKCJDYWNoaW5nIGljZSBjYW5kaWRhdGUiKTsKKyAgICAgIGNhY2hlZENhbmRpZGF0ZXMucHVz
aChkYXRhSnNvbik7CisgICAgfSBlbHNlIHsKKyAgICAgIGNvbnNvbGUubG9nKCJBZGRpbmcgSUNF
IGNhbmRpYXRlICIsIGRhdGFKc29uKTsKKyAgICAgIGFkZElDRUNhbmRpZGF0ZUZyb21KU09OKGRh
dGFKc29uKTsKICAgICB9Ci0gICAgc2VuZFRvUGVlcihwZWVyX2lkLCBkYXRhKTsKICAgfQogfQog
CkBAIC03Myw3ICsxODAsNyBAQCBmdW5jdGlvbiBoYW5naW5nR2V0Q2FsbGJhY2soKSB7CiAgICAg
aWYgKG15X2lkICE9IC0xKQogICAgICAgd2luZG93LnNldFRpbWVvdXQoc3RhcnRIYW5naW5nR2V0
LCAwKTsKICAgfSBjYXRjaCAoZSkgewotICAgIHRyYWNlKCJIYW5naW5nIGdldCBlcnJvcjogIiAr
IGUuZGVzY3JpcHRpb24pOworICAgIGNvbnNvbGUubG9nKCJIYW5naW5nIGdldCBlcnJvcjogIiAr
IGUuZGVzY3JpcHRpb24pOwogICB9CiB9CiAKQEAgLTIxMyw3ICszMjAsNyBAQCBmdW5jdGlvbiB0
b2dnbGVNZShvYmopIHsKIDwvc2NyaXB0PgogCiA8L2hlYWQ+Ci08Ym9keT4KKzxib2R5IG9ubG9h
ZD0iY29ubmVjdCgpIj4KIFNlcnZlcjogPGlucHV0IHR5cGU9InRleHQiIGlkPSJzZXJ2ZXIiIHZh
bHVlPSJodHRwOi8vbG9jYWxob3N0Ojg4ODgiIC8+PGJyPgogPGlucHV0IHR5cGU9ImNoZWNrYm94
IiBpZD0ibG9vcGJhY2siIGNoZWNrZWQ9ImNoZWNrZWQiLz4gTG9vcGJhY2sgKGp1c3Qgc2VuZAog
cmVjZWl2ZWQgbWVzc2FnZXMgcmlnaHQgYmFjayk8YnI+CkBAIC0yMzAsNiArMzM3LDggQEAgTWVz
c2FnZTogPGlucHV0IHR5cGU9InRleHQiIGlkPSJtZXNzYWdlIi8+PC90ZD48dGQ+CiA8YnV0dG9u
IG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZWJ1ZycpLmlubmVySFRNTD0nJzsi
PgogQ2xlYXIgbG9nPC9idXR0b24+CiAKKzx2aWRlbyBpZD0icmVtb3RlX3ZpZXciIHdpZHRoPSIx
MjgwIiBoZWlnaHQ9IjcyMCIgYXV0b3BsYXk9InRydWUiPjwvdmlkZW8+CisKIDxwcmUgaWQ9ImRl
YnVnIj4KIDwvcHJlPgogPGJyPjxocj4KLS0gCjIuMTMuMAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>