<?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>120682</bug_id>
          
          <creation_ts>2013-09-04 08:04:51 -0700</creation_ts>
          <short_desc>New test inspector-protocol/page/archive.html added in r154828 fails on EFL, Qt, GTK</short_desc>
          <delta_ts>2019-11-11 17:04:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>87008</blocked>
    
    <blocked>119774</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Arvai">zarvai</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>924428</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Arvai">zarvai</who>
    <bug_when>2013-09-04 08:04:51 -0700</bug_when>
    <thetext>Test fails with timeout or diff.

--- /mnt/buildbot/efl-linux-slave-1/efl-linux-64-release-wk1/build/layout-test-results/inspector-protocol/page/archive-expected.txt
+++ /mnt/buildbot/efl-linux-slave-1/efl-linux-64-release-wk1/build/layout-test-results/inspector-protocol/page/archive-actual.txt
@@ -1,2 +1,3 @@
-PASS: Received archive data.
+CONSOLE MESSAGE: line 4: TypeError: undefined is not an object (evaluating &apos;event.result.data&apos;)
+FAIL: Timed out waiting for notifyDone to be called</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924442</commentid>
    <comment_count>1</comment_count>
    <who name="Zoltan Arvai">zarvai</who>
    <bug_when>2013-09-04 08:38:00 -0700</bug_when>
    <thetext>Skipped on Qt in http://trac.webkit.org/changeset/155042.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924577</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-09-04 13:38:46 -0700</bug_when>
    <thetext>My guess is this is because the port does not support ENABLE(WEB_ARCHIVE).

If that is the case, a minor tweak to the test can bail with the Page.archive(…) result error, and port specific results can be checked in for ports not implementing ENABLE(WEB_ARCHIVE).

Is there a page archive that these ports do support?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587078</commentid>
    <comment_count>3</comment_count>
      <attachid>382756</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-11-04 12:13:50 -0800</bug_when>
    <thetext>Created attachment 382756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587088</commentid>
    <comment_count>4</comment_count>
      <attachid>382756</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-11-04 12:37:08 -0800</bug_when>
    <thetext>Comment on attachment 382756
Patch

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

&gt; LayoutTests/platform/gtk/TestExpectations:-2331
&gt; -webkit.org/b/120682 inspector/page/archive.html [ Timeout ]

If `Page.archive` isn&apos;t implemented (other than sending back &quot;Not supported&quot; as an error), why aren&apos;t we just skipping the test on these platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587106</commentid>
    <comment_count>5</comment_count>
      <attachid>382756</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-11-04 13:05:30 -0800</bug_when>
    <thetext>Comment on attachment 382756
Patch

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

&gt;&gt; LayoutTests/platform/gtk/TestExpectations:-2331
&gt;&gt; -webkit.org/b/120682 inspector/page/archive.html [ Timeout ]
&gt; 
&gt; If `Page.archive` isn&apos;t implemented (other than sending back &quot;Not supported&quot; as an error), why aren&apos;t we just skipping the test on these platforms?

It still may crash or timeout for various reasons and we don&apos;t want to have a protocol method that crashes even if the functionality is not implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588435</commentid>
    <comment_count>6</comment_count>
      <attachid>382756</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-11-07 15:15:05 -0800</bug_when>
    <thetext>Comment on attachment 382756
Patch

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

&gt;&gt;&gt; LayoutTests/platform/gtk/TestExpectations:-2331
&gt;&gt;&gt; -webkit.org/b/120682 inspector/page/archive.html [ Timeout ]
&gt;&gt; 
&gt;&gt; If `Page.archive` isn&apos;t implemented (other than sending back &quot;Not supported&quot; as an error), why aren&apos;t we just skipping the test on these platforms?
&gt; 
&gt; It still may crash or timeout for various reasons and we don&apos;t want to have a protocol method that crashes even if the functionality is not implemented.

How exactly would this crash?  There are already general tests for protocol behavior.  If it&apos;s &quot;Not supported&quot;, unless you yourself put something inside of it that causes a crash, it shouldn&apos;t ever cause a crash.

My concern with this is that it now requires any other ports that may want to add Web Inspector support to have to send back `errorString = &quot;Not supported&quot;_s;` instead of something that may be more descriptive/useful for that port.

If this truly isn&apos;t supported, then we should instead add support for `featureGuard` in the protocol JSON on a per-command/per-event basis (right now it can only be done per-domain), allowing you to describe what platforms/ports actually can do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588450</commentid>
    <comment_count>7</comment_count>
      <attachid>382756</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-11-07 15:31:47 -0800</bug_when>
    <thetext>Comment on attachment 382756
Patch

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

&gt;&gt;&gt;&gt; LayoutTests/platform/gtk/TestExpectations:-2331
&gt;&gt;&gt;&gt; -webkit.org/b/120682 inspector/page/archive.html [ Timeout ]
&gt;&gt;&gt; 
&gt;&gt;&gt; If `Page.archive` isn&apos;t implemented (other than sending back &quot;Not supported&quot; as an error), why aren&apos;t we just skipping the test on these platforms?
&gt;&gt; 
&gt;&gt; It still may crash or timeout for various reasons and we don&apos;t want to have a protocol method that crashes even if the functionality is not implemented.
&gt; 
&gt; How exactly would this crash?  There are already general tests for protocol behavior.  If it&apos;s &quot;Not supported&quot;, unless you yourself put something inside of it that causes a crash, it shouldn&apos;t ever cause a crash.
&gt; 
&gt; My concern with this is that it now requires any other ports that may want to add Web Inspector support to have to send back `errorString = &quot;Not supported&quot;_s;` instead of something that may be more descriptive/useful for that port.
&gt; 
&gt; If this truly isn&apos;t supported, then we should instead add support for `featureGuard` in the protocol JSON on a per-command/per-event basis (right now it can only be done per-domain), allowing you to describe what platforms/ports actually can do this.

Similar to any other test there is a possibility it may crash. Given that the crashes are rarely intentional I&apos;d rather not speculate about how it can happen and have the tests catch it. This is also why we keep many tests marked as Failure instead of just skipping it.

If any port decides to change error message it can easily change the message either for other platforms too or just platform specific expectations.

Using guards would add even more fragmentation to the platforms and be more hassle to support. Ideally all commands should be the same across platforms unless inspected feature is platforms specific. In any case this is not the approach which is currently taken and it deserves a bigger discussion while this patch is cleaning up custom expectations and reduces time required to run the tests (Timeout always takes longest possible time to finish).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588495</commentid>
    <comment_count>8</comment_count>
      <attachid>382756</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-11-07 16:45:29 -0800</bug_when>
    <thetext>Comment on attachment 382756
Patch

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

&gt;&gt;&gt;&gt;&gt; LayoutTests/platform/gtk/TestExpectations:-2331
&gt;&gt;&gt;&gt;&gt; -webkit.org/b/120682 inspector/page/archive.html [ Timeout ]
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; If `Page.archive` isn&apos;t implemented (other than sending back &quot;Not supported&quot; as an error), why aren&apos;t we just skipping the test on these platforms?
&gt;&gt;&gt; 
&gt;&gt;&gt; It still may crash or timeout for various reasons and we don&apos;t want to have a protocol method that crashes even if the functionality is not implemented.
&gt;&gt; 
&gt;&gt; How exactly would this crash?  There are already general tests for protocol behavior.  If it&apos;s &quot;Not supported&quot;, unless you yourself put something inside of it that causes a crash, it shouldn&apos;t ever cause a crash.
&gt;&gt; 
&gt;&gt; My concern with this is that it now requires any other ports that may want to add Web Inspector support to have to send back `errorString = &quot;Not supported&quot;_s;` instead of something that may be more descriptive/useful for that port.
&gt;&gt; 
&gt;&gt; If this truly isn&apos;t supported, then we should instead add support for `featureGuard` in the protocol JSON on a per-command/per-event basis (right now it can only be done per-domain), allowing you to describe what platforms/ports actually can do this.
&gt; 
&gt; Similar to any other test there is a possibility it may crash. Given that the crashes are rarely intentional I&apos;d rather not speculate about how it can happen and have the tests catch it. This is also why we keep many tests marked as Failure instead of just skipping it.
&gt; 
&gt; If any port decides to change error message it can easily change the message either for other platforms too or just platform specific expectations.
&gt; 
&gt; Using guards would add even more fragmentation to the platforms and be more hassle to support. Ideally all commands should be the same across platforms unless inspected feature is platforms specific. In any case this is not the approach which is currently taken and it deserves a bigger discussion while this patch is cleaning up custom expectations and reduces time required to run the tests (Timeout always takes longest possible time to finish).

If another port/platform comes along, ideally they shouldn&apos;t have to change any test file to match their code, only test expectations.  As such, how about we change the test to just log the error message, and have GTKs expectations file contain that log so it passes with the expected error message?

LayoutTests/inspector/page/archive.html:
```
    InspectorProtocol.sendCommand(&quot;Page.archive&quot;, {}, function(event) {
        if (event.error) {
            ProtocolTest.fail(`Page.archive sent back error &apos;${event.error}&apos;.`);
            return;
        }

        ...
    });
```

LayoutTests/platform/gtk/inspector/page/archive-expected.txt&quot;
```
FAIL: Page.archive sent back error &apos;Not supported&apos;.
```

As an aside, I think this is exactly the kind of situation where we don&apos;t want the protocol to be the same across platforms.  Although `Page.archive` may not be platform specific in principle, in implementation it only actually works on platforms with `ENABLE_CF` and `ENABLE_WEB_ARCHIVE`.  What this means right now is that the frontend will show the archive button even on platforms where `Page.archive` is not supported, meaning that it will do nothing if any user clicks on it.  We shouldn&apos;t even be showing the button at all for platforms that don&apos;t implement its functionality.  The way Web Inspector has done this is to check whether protocol has that particular command/event exists or not, which can be controlled by build flags (as well as other things, like debuggableType/targetType as of &lt;https://webkit.org/b/200384&gt;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588728</commentid>
    <comment_count>9</comment_count>
      <attachid>382756</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-11-08 11:11:01 -0800</bug_when>
    <thetext>Comment on attachment 382756
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; LayoutTests/platform/gtk/TestExpectations:-2331
&gt;&gt;&gt;&gt;&gt;&gt; -webkit.org/b/120682 inspector/page/archive.html [ Timeout ]
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; If `Page.archive` isn&apos;t implemented (other than sending back &quot;Not supported&quot; as an error), why aren&apos;t we just skipping the test on these platforms?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; It still may crash or timeout for various reasons and we don&apos;t want to have a protocol method that crashes even if the functionality is not implemented.
&gt;&gt;&gt; 
&gt;&gt;&gt; How exactly would this crash?  There are already general tests for protocol behavior.  If it&apos;s &quot;Not supported&quot;, unless you yourself put something inside of it that causes a crash, it shouldn&apos;t ever cause a crash.
&gt;&gt;&gt; 
&gt;&gt;&gt; My concern with this is that it now requires any other ports that may want to add Web Inspector support to have to send back `errorString = &quot;Not supported&quot;_s;` instead of something that may be more descriptive/useful for that port.
&gt;&gt;&gt; 
&gt;&gt;&gt; If this truly isn&apos;t supported, then we should instead add support for `featureGuard` in the protocol JSON on a per-command/per-event basis (right now it can only be done per-domain), allowing you to describe what platforms/ports actually can do this.
&gt;&gt; 
&gt;&gt; Similar to any other test there is a possibility it may crash. Given that the crashes are rarely intentional I&apos;d rather not speculate about how it can happen and have the tests catch it. This is also why we keep many tests marked as Failure instead of just skipping it.
&gt;&gt; 
&gt;&gt; If any port decides to change error message it can easily change the message either for other platforms too or just platform specific expectations.
&gt;&gt; 
&gt;&gt; Using guards would add even more fragmentation to the platforms and be more hassle to support. Ideally all commands should be the same across platforms unless inspected feature is platforms specific. In any case this is not the approach which is currently taken and it deserves a bigger discussion while this patch is cleaning up custom expectations and reduces time required to run the tests (Timeout always takes longest possible time to finish).
&gt; 
&gt; If another port/platform comes along, ideally they shouldn&apos;t have to change any test file to match their code, only test expectations.  As such, how about we change the test to just log the error message, and have GTKs expectations file contain that log so it passes with the expected error message?
&gt; 
&gt; LayoutTests/inspector/page/archive.html:
&gt; ```
&gt;     InspectorProtocol.sendCommand(&quot;Page.archive&quot;, {}, function(event) {
&gt;         if (event.error) {
&gt;             ProtocolTest.fail(`Page.archive sent back error &apos;${event.error}&apos;.`);
&gt;             return;
&gt;         }
&gt; 
&gt;         ...
&gt;     });
&gt; ```
&gt; 
&gt; LayoutTests/platform/gtk/inspector/page/archive-expected.txt&quot;
&gt; ```
&gt; FAIL: Page.archive sent back error &apos;Not supported&apos;.
&gt; ```
&gt; 
&gt; As an aside, I think this is exactly the kind of situation where we don&apos;t want the protocol to be the same across platforms.  Although `Page.archive` may not be platform specific in principle, in implementation it only actually works on platforms with `ENABLE_CF` and `ENABLE_WEB_ARCHIVE`.  What this means right now is that the frontend will show the archive button even on platforms where `Page.archive` is not supported, meaning that it will do nothing if any user clicks on it.  We shouldn&apos;t even be showing the button at all for platforms that don&apos;t implement its functionality.  The way Web Inspector has done this is to check whether protocol has that particular command/event exists or not, which can be controlled by build flags (as well as other things, like debuggableType/targetType as of &lt;https://webkit.org/b/200384&gt;).

Just printing FAIL: followed by actual error sounds fine to me. The reason I used assert is just to make it clear for a reader unfamiliar with this code that the only expected error is &apos;Not implemented&apos;. But it is only marginally better than just printing output, so I don&apos;t mind changing it that way. Updated the test.

As for &apos;archive&apos; in particular, it could perhaps be more generic &apos;archive&apos; in a platform-specific format. In any case there are very few platform-specific commands/features. If you don&apos;t want to show corresponding UI components you could add information about supported platforms to the protocol definition to hide the components on start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588729</commentid>
    <comment_count>10</comment_count>
      <attachid>383145</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-11-08 11:11:21 -0800</bug_when>
    <thetext>Created attachment 383145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588967</commentid>
    <comment_count>11</comment_count>
      <attachid>383145</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-11-08 21:45:08 -0800</bug_when>
    <thetext>Comment on attachment 383145
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588970</commentid>
    <comment_count>12</comment_count>
      <attachid>383145</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-08 22:28:04 -0800</bug_when>
    <thetext>Comment on attachment 383145
Patch

Clearing flags on attachment: 383145

Committed r252305: &lt;https://trac.webkit.org/changeset/252305&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588971</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-08 22:28:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589393</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-11 17:04:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/57099549&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382756</attachid>
            <date>2019-11-04 12:13:50 -0800</date>
            <delta_ts>2019-11-08 11:11:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120682-20191104121349.patch</filename>
            <type>text/plain</type>
            <size>3543</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDA2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzg4ODAyZTdkZGRjMDcxYmFkZTAw
YzJjMzMwOGZjNjg0YzgyZjZhNC4uMmQwZmIzZjUyNmZmZTU1NzIwYTc4MmU1NzgzNjIxZGI0MDZi
NDhkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTExLTA0ICBZdXJ5IFNlbWlraGF0c2t5
ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5ldyB0ZXN0IGluc3BlY3Rvci1wcm90
b2NvbC9wYWdlL2FyY2hpdmUuaHRtbCBhZGRlZCBpbiByMTU0ODI4IGZhaWxzIG9uIEVGTCwgUXQs
IEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIw
NjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2Vu
ZXJhdGUgY3VzdG9tIGV4cGVjdGF0aW9ucyBmb3IgaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvYXJj
aGl2ZS5odG1sIG9uIHRoZSBwbGF0Zm9ybXMKKyAgICAgICAgd2hlcmUgUGFnZS5hcmNoaXZlIGlz
IG5vdCBzdXBwb3J0ZWQgeWV0LgorCisgICAgICAgICogaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS5o
dG1sOiAnTm90IHN1cHBvcnRlZCcgaXMgYSB2YWxpZCByZXNwb25zZSBvbiBzb21lIHBsYXRmb3Jt
cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
CiAyMDE5LTExLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
TWVkaWFSZWNvcmRlciBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2Fy
ZCBjYWNoZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS5odG1sCmluZGV4IDgwNjkx
ZDBhNDJhYWZlYTEyYTdjYzUxZWRjZjMyODc5ZmFhZDVjNzAuLjA4YTI5MWJhODc3MGUxMWU2YzNi
NzRhZWFlMDEwZjhhYWY2MWYyM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9w
YWdlL2FyY2hpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGFnZS9hcmNoaXZl
Lmh0bWwKQEAgLTYsMTQgKzYsMTcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgSW5zcGVjdG9y
UHJvdG9jb2wuc2VuZENvbW1hbmQoIlBhZ2UuZW5hYmxlIiwge30pOwogICAgIEluc3BlY3RvclBy
b3RvY29sLnNlbmRDb21tYW5kKCJQYWdlLmFyY2hpdmUiLCB7fSwgZnVuY3Rpb24oZXZlbnQpIHsK
LSAgICAgICAgdmFyIGRhdGEgPSBldmVudC5yZXN1bHQuZGF0YTsKLSAgICAgICAgaWYgKCFkYXRh
KQotICAgICAgICAgICAgUHJvdG9jb2xUZXN0LmxvZygiRkFJTDogbm8gZGF0YSIpOwotICAgICAg
ICBlbHNlIGlmIChkYXRhLmxlbmd0aCA8IDEwMDApCi0gICAgICAgICAgICBQcm90b2NvbFRlc3Qu
bG9nKCJGQUlMOiB1bmV4cGVjdGVkbHkgc2hvcnQgZGF0YS4gQSBzZXJpYWxpemVkIGFyY2hpdmUg
c2hvdWxkIGJlIHByZXR0eSBsYXJnZS4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgUHJv
dG9jb2xUZXN0LmxvZygiUEFTUzogUmVjZWl2ZWQgYXJjaGl2ZSBkYXRhLiIpOwotCisgICAgICAg
IGlmIChldmVudC5lcnJvcikKKyAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RFcXVhbChl
dmVudC5lcnJvci5tZXNzYWdlLCAiTm90IHN1cHBvcnRlZCIsICJQYWdlLmFyY2hpdmUgaXMgbm90
IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtIHlldC4iKTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICB2YXIgZGF0YSA9IGV2ZW50LnJlc3VsdC5kYXRhOworICAgICAgICAgICAgaWYgKCFk
YXRhKQorICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5sb2coIkZBSUw6IG5vIGRhdGEiKTsK
KyAgICAgICAgICAgIGVsc2UgaWYgKGRhdGEubGVuZ3RoIDwgMTAwMCkKKyAgICAgICAgICAgICAg
ICBQcm90b2NvbFRlc3QubG9nKCJGQUlMOiB1bmV4cGVjdGVkbHkgc2hvcnQgZGF0YS4gQSBzZXJp
YWxpemVkIGFyY2hpdmUgc2hvdWxkIGJlIHByZXR0eSBsYXJnZS4iKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBQcm90b2NvbFRlc3QubG9nKCJQQVNTOiBSZWNlaXZlZCBhcmNo
aXZlIGRhdGEuIik7CisgICAgICAgIH0KICAgICAgICAgUHJvdG9jb2xUZXN0LmNvbXBsZXRlVGVz
dCgpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBhZDNkZWNhOGVhMGQ4YTFhMmUxZGZhMGM3NGFiNzAwNmEwNzg4YjY0Li4wYWIwYjAx
NGVhMDUxZWMyMDI3MjlhYWM5MjBiMDc0NWZiZThhMmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjMyOCw4ICsyMzI4LDYgQEAgd2Via2l0Lm9yZy9i
LzEwODkyNSBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwuaHRtbCBbIEZhaWx1cmUg
VGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xMTY5NTcgbWVkaWEvdHJhY2svdHJhY2stYXV0b21h
dGljLXN1YnRpdGxlcy5odG1sIFsgVGltZW91dCBdCiAKLXdlYmtpdC5vcmcvYi8xMjA2ODIgaW5z
cGVjdG9yL3BhZ2UvYXJjaGl2ZS5odG1sIFsgVGltZW91dCBdCi0KIHdlYmtpdC5vcmcvYi8xNDc1
MTggaW5zcGVjdG9yL2RlYnVnZ2VyL25lc3RlZC1pbnNwZWN0b3JzLmh0bWwgWyBUaW1lb3V0IF0K
IHdlYmtpdC5vcmcvYi8xMjI1NzEgaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFp
bi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3MuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCiB3ZWJraXQub3Jn
L2IvMTIyNTcxIGluc3BlY3Rvci9kb20vZm9jdXMuaHRtbCBbIEZhaWx1cmUgVGltZW91dCBQYXNz
IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbnNwZWN0b3IvcGFnZS9h
cmNoaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbnNwZWN0b3Iv
cGFnZS9hcmNoaXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTdjMTMzNTQ4YzU4NDM3NTM1
OWMwMjRkMmU4ZmZhYmYwMjg1OTY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2luc3BlY3Rvci9wYWdlL2FyY2hpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MiBAQAorUEFTUzogUGFnZS5hcmNoaXZlIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9y
bSB5ZXQuCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383145</attachid>
            <date>2019-11-08 11:11:21 -0800</date>
            <delta_ts>2019-11-08 22:28:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120682-20191108111120.patch</filename>
            <type>text/plain</type>
            <size>3352</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMjA2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmU5ZjNkYjNmNWJmYzVhMjQ5YWZi
ZDkyODQ1YWU0YjQxZDRkZmE1Zi4uOTcxMTFlMGRhZWYyNzM3NDBkOTc0MjljNDVmZTZhYzIxZmY1
NTFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTExLTA0ICBZdXJ5IFNlbWlraGF0c2t5
ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5ldyB0ZXN0IGluc3BlY3Rvci1wcm90
b2NvbC9wYWdlL2FyY2hpdmUuaHRtbCBhZGRlZCBpbiByMTU0ODI4IGZhaWxzIG9uIEVGTCwgUXQs
IEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIw
NjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2Vu
ZXJhdGUgY3VzdG9tIGV4cGVjdGF0aW9ucyBmb3IgaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvYXJj
aGl2ZS5odG1sIG9uIHRoZSBwbGF0Zm9ybXMKKyAgICAgICAgd2hlcmUgUGFnZS5hcmNoaXZlIGlz
IG5vdCBzdXBwb3J0ZWQgeWV0LgorCisgICAgICAgICogaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS5o
dG1sOiAnTm90IHN1cHBvcnRlZCcgaXMgYSB2YWxpZCByZXNwb25zZSBvbiBzb21lIHBsYXRmb3Jt
cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
CiAyMDE5LTExLTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IEludGVncmF0ZSBzY3JvbGwgZXZlbnQgaW50byBIVE1MNSBldmVudCBsb29wCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGFnZS9hcmNoaXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvcGFnZS9hcmNoaXZlLmh0bWwKaW5kZXggODA2OTFkMGE0MmFhZmVhMTJhN2NjNTFl
ZGNmMzI4NzlmYWFkNWM3MC4uNjhjMmU5N2FlYzliYzU1NmRlYmRkOTljOTNhOWZiNzcyZTlmNmU5
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wYWdlL2FyY2hpdmUuaHRtbApAQCAtNiwxNCArNiwx
NyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBJbnNwZWN0b3JQcm90b2NvbC5zZW5kQ29tbWFu
ZCgiUGFnZS5lbmFibGUiLCB7fSk7CiAgICAgSW5zcGVjdG9yUHJvdG9jb2wuc2VuZENvbW1hbmQo
IlBhZ2UuYXJjaGl2ZSIsIHt9LCBmdW5jdGlvbihldmVudCkgewotICAgICAgICB2YXIgZGF0YSA9
IGV2ZW50LnJlc3VsdC5kYXRhOwotICAgICAgICBpZiAoIWRhdGEpCi0gICAgICAgICAgICBQcm90
b2NvbFRlc3QubG9nKCJGQUlMOiBubyBkYXRhIik7Ci0gICAgICAgIGVsc2UgaWYgKGRhdGEubGVu
Z3RoIDwgMTAwMCkKLSAgICAgICAgICAgIFByb3RvY29sVGVzdC5sb2coIkZBSUw6IHVuZXhwZWN0
ZWRseSBzaG9ydCBkYXRhLiBBIHNlcmlhbGl6ZWQgYXJjaGl2ZSBzaG91bGQgYmUgcHJldHR5IGxh
cmdlLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBQcm90b2NvbFRlc3QubG9nKCJQQVNT
OiBSZWNlaXZlZCBhcmNoaXZlIGRhdGEuIik7Ci0KKyAgICAgICAgaWYgKGV2ZW50LmVycm9yKSB7
CisgICAgICAgICAgICBQcm90b2NvbFRlc3QuZmFpbChgUGFnZS5hcmNoaXZlIHJldHVybmVkIGVy
cm9yOiAnJHtldmVudC5lcnJvci5tZXNzYWdlfScuYCk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBsZXQgZGF0YSA9IGV2ZW50LnJlc3VsdC5kYXRhOworICAgICAgICAgICAgaWYgKCFk
YXRhKQorICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5mYWlsKCJubyBkYXRhIik7CisgICAg
ICAgICAgICBlbHNlIGlmIChkYXRhLmxlbmd0aCA8IDEwMDApCisgICAgICAgICAgICAgICAgUHJv
dG9jb2xUZXN0LmZhaWwoInVuZXhwZWN0ZWRseSBzaG9ydCBkYXRhLiBBIHNlcmlhbGl6ZWQgYXJj
aGl2ZSBzaG91bGQgYmUgcHJldHR5IGxhcmdlLiIpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJSZWNlaXZlZCBhcmNoaXZlIGRhdGEuIik7Cisg
ICAgICAgIH0KICAgICAgICAgUHJvdG9jb2xUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0pOwog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkMjI4N2Ex
Y2YxMmZiMDY4YzZkNWNiNmU5ZTVhODhjZjg2YWJmOWU0Li4wM2VhNzNlMDA2MzFjODQ4OWU5OTY1
MDAwNDVlMjRmMGE0NWFiMDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjMxOCw4ICsyMzE4LDYgQEAgd2Via2l0Lm9yZy9iLzEwODkyNSBodHRwL3Rl
c3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwuaHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCiAKIHdl
YmtpdC5vcmcvYi8xMTY5NTcgbWVkaWEvdHJhY2svdHJhY2stYXV0b21hdGljLXN1YnRpdGxlcy5o
dG1sIFsgVGltZW91dCBdCiAKLXdlYmtpdC5vcmcvYi8xMjA2ODIgaW5zcGVjdG9yL3BhZ2UvYXJj
aGl2ZS5odG1sIFsgVGltZW91dCBdCi0KIHdlYmtpdC5vcmcvYi8xNDc1MTggaW5zcGVjdG9yL2Rl
YnVnZ2VyL25lc3RlZC1pbnNwZWN0b3JzLmh0bWwgWyBUaW1lb3V0IF0KIAogQnVnKEdUSykgcGx1
Z2lucy9yZWxvYWRwbHVnaW5zLWFuZC1wYWdlcy5odG1sIFsgVGltZW91dCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW5zcGVjdG9yL3BhZ2UvYXJjaGl2ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQ5MDFkYjBjNzk2NGU3MzIzYzg0OTI3NDI0NTE5ZDgw
ZjRkOWU2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbnNw
ZWN0b3IvcGFnZS9hcmNoaXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0ZBSUw6IFBh
Z2UuYXJjaGl2ZSByZXR1cm5lZCBlcnJvcjogJ05vdCBzdXBwb3J0ZWQnLgorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>