<?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>153438</bug_id>
          
          <creation_ts>2016-01-25 13:01:15 -0800</creation_ts>
          <short_desc>Modern IDB: LayoutTest imported/w3c/indexeddb/keyorder-private.html is flaky</short_desc>
          <delta_ts>2016-02-04 11:46:56 -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>WebCore Misc.</component>
          <version>WebKit 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1158457</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-01-25 13:01:15 -0800</bug_when>
    <thetext>LayoutTest imported/w3c/indexeddb/keyorder-private.html flaky on mac-wk1

Most recent failing run:
&lt;https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK1%20(Tests)/builds/2827&gt;

Flakiness dashboard:
&lt;http://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=imported%2Fw3c%2Findexeddb%2Fkeyorder-private.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158458</commentid>
    <comment_count>1</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-01-25 13:02:21 -0800</bug_when>
    <thetext>--- /Volumes/Data/slave/elcapitan-release-tests-wk1/build/layout-test-results/imported/w3c/indexeddb/keyorder-private-expected.txt
+++ /Volumes/Data/slave/elcapitan-release-tests-wk1/build/layout-test-results/imported/w3c/indexeddb/keyorder-private-actual.txt
@@ -1,26 +1,26 @@
 
-PASS Database readback sort - String &lt; Array 
+TIMEOUT Database readback sort - String &lt; Array Test timed out
 PASS IDBKey.cmp sorted - String &lt; Array 
-PASS Database readback sort - float &lt; String 
+TIMEOUT Database readback sort - float &lt; String Test timed out
 PASS IDBKey.cmp sorted - float &lt; String 
-PASS Database readback sort - float &lt; Date 
+TIMEOUT Database readback sort - float &lt; Date Test timed out
 PASS IDBKey.cmp sorted - float &lt; Date 
-PASS Database readback sort - float &lt; Date &lt; String &lt; Array 
+TIMEOUT Database readback sort - float &lt; Date &lt; String &lt; Array Test timed out
 PASS IDBKey.cmp sorted - float &lt; Date &lt; String &lt; Array 
-PASS Database readback sort - Date(1 sec ago) &lt; Date(now) &lt; Date(1 minute in future) 
+TIMEOUT Database readback sort - Date(1 sec ago) &lt; Date(now) &lt; Date(1 minute in future) Test timed out
 PASS IDBKey.cmp sorted - Date(1 sec ago) &lt; Date(now) &lt; Date(1 minute in future) 
-PASS Database readback sort - -1.1 &lt; 1 &lt; 1.01337 &lt; 1.013373 &lt; 2 
+TIMEOUT Database readback sort - -1.1 &lt; 1 &lt; 1.01337 &lt; 1.013373 &lt; 2 Test timed out
 PASS IDBKey.cmp sorted - -1.1 &lt; 1 &lt; 1.01337 &lt; 1.013373 &lt; 2 
-PASS Database readback sort - -Infinity &lt; -0.01 &lt; 0 &lt; Infinity 
+TIMEOUT Database readback sort - -Infinity &lt; -0.01 &lt; 0 &lt; Infinity Test timed out
 PASS IDBKey.cmp sorted - -Infinity &lt; -0.01 &lt; 0 &lt; Infinity 
-PASS Database readback sort - &quot;&quot; &lt; &quot;a&quot; &lt; &quot;ab&quot; &lt; &quot;b&quot; &lt; &quot;ba&quot; 
+TIMEOUT Database readback sort - &quot;&quot; &lt; &quot;a&quot; &lt; &quot;ab&quot; &lt; &quot;b&quot; &lt; &quot;ba&quot; Test timed out
 PASS IDBKey.cmp sorted - &quot;&quot; &lt; &quot;a&quot; &lt; &quot;ab&quot; &lt; &quot;b&quot; &lt; &quot;ba&quot; 
-PASS Database readback sort - Arrays 
+TIMEOUT Database readback sort - Arrays Test timed out
 PASS IDBKey.cmp sorted - Arrays 
-PASS Database readback sort - Array.length: 10,000 &lt; Array.length: 10,001 
+TIMEOUT Database readback sort - Array.length: 10,000 &lt; Array.length: 10,001 Test timed out
 PASS IDBKey.cmp sorted - Array.length: 10,000 &lt; Array.length: 10,001 
-PASS Database readback sort - Infinity inside arrays 
+TIMEOUT Database readback sort - Infinity inside arrays Test timed out
 PASS IDBKey.cmp sorted - Infinity inside arrays 
-PASS Database readback sort - Test different stuff at once 
+FAIL Database readback sort - Test different stuff at once assert_unreached: unexpected db.error (ConstraintError) Reached unreachable code
 PASS IDBKey.cmp sorted - Test different stuff at once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158507</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-01-25 14:31:56 -0800</bug_when>
    <thetext>This test appears so flaky that we should probably mark it as such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158510</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-01-25 14:35:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; This test appears so flaky that we should probably mark it as such.

Done in &lt;http://trac.webkit.org/projects/webkit/changeset/195556&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161715</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-03 10:36:05 -0800</bug_when>
    <thetext>Really confused by this one.

It&apos;s still sometimes happening on the bots. I&apos;ve never seen it locally (though I&apos;m about to try a &quot;run 1000 times&quot; stress test). The test is very quick to pass locally, which also makes me wonder why sometimes it takes 5, sometimes 7, sometimes 9 seconds on the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161734</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-03 11:30:18 -0800</bug_when>
    <thetext>The &quot;timeouts&quot; are actually enforced by the test itself, and not run-webkit-tests timeout mechanism.


Locally I&apos;ve seen one of the tests take &quot;awhile&quot;, like maybe a 5 second pause in the test. It doesn&apos;t make much sense.

Especially since this is the memory backing store (which can&apos;t stall on i/o or anything like that) and the test uses a very unique database name each time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161735</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-03 11:32:17 -0800</bug_when>
    <thetext>I&apos;ve captured IndexedDB logging for a good test run, and managed to capture it for a bad test run as well. Will compare by hand...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161768</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-03 13:46:52 -0800</bug_when>
    <thetext>There&apos;s a specific key in the test which is basically:

var now = new Date;
var key = { 0, now };

We add that key to the object store. Adds only success if the key is not already there. It&apos;s a failure if the key is already there.

And guess what? that key is *reported* as already there.

Even though it had never been added before.

So... hashing problem, it seems.

But only semi-rarely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161771</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-03 13:49:53 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; There&apos;s a specific key in the test which is basically:
&gt; 
&gt; var now = new Date;
&gt; var key = { 0, now };
&gt; 
&gt; We add that key to the object store. Adds only success if the key is not
&gt; already there. It&apos;s a failure if the key is already there.
&gt; 
&gt; And guess what? that key is *reported* as already there.
&gt; 
&gt; Even though it had never been added before.
&gt; 
&gt; So... hashing problem, it seems.
&gt; 

Crazy thing is... this would also indicate an operator=() problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161995</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 09:00:23 -0800</bug_when>
    <thetext>The plot thickens...

The MemoryObjectStore keeps both a HashMap of keys-to-values, and a std::map of ordered keys.

Every time we insert a record, we record the key-value-mapping in the HashMap, and insert the key into the std::map for ordered-ness.

The bug is happening because the HashMap *thinks* it has a record for this particular IDBKey. But the std::map does *NOT* have a record for the key.

Lots of printf-style debugging confirms that we&apos;ve never tried to put this key in either the HashMap or std::map before, nor have we tried to put anything with its hash in those maps before...

Did this test discover a bug in our HashMap?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162006</commentid>
    <comment_count>10</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 09:35:04 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; The plot thickens...
&gt; ...
&gt; Did this test discover a bug in our HashMap?

I know anytime anybody says &quot;I think a discovered a bug in HashMap&quot;, they&apos;re almost certainly wrong and its misuse...  but I need an expert to walk through some stuff with me to confirm that it&apos;s me, and not HashMap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162017</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 10:00:07 -0800</bug_when>
    <thetext>It was definitely an operator== bug.

Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162021</commentid>
    <comment_count>12</comment_count>
      <attachid>270662</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 10:05:05 -0800</bug_when>
    <thetext>Created attachment 270662
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162022</commentid>
    <comment_count>13</comment_count>
      <attachid>270662</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 10:06:18 -0800</bug_when>
    <thetext>Comment on attachment 270662
Patch v1

Actually, I *might* be able to write a targeted test for this.

Will try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162034</commentid>
    <comment_count>14</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 10:39:07 -0800</bug_when>
    <thetext>Yup, I can write a targeted test that fails. Sweet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162035</commentid>
    <comment_count>15</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 10:39:27 -0800</bug_when>
    <thetext>I mean, reliably fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162051</commentid>
    <comment_count>16</comment_count>
      <attachid>270667</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-04 10:55:26 -0800</bug_when>
    <thetext>Created attachment 270667
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162097</commentid>
    <comment_count>17</comment_count>
      <attachid>270667</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-04 11:46:52 -0800</bug_when>
    <thetext>Comment on attachment 270667
Patch v2

Clearing flags on attachment: 270667

Committed r196137: &lt;http://trac.webkit.org/changeset/196137&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162098</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-04 11:46:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270662</attachid>
            <date>2016-02-04 10:05:05 -0800</date>
            <delta_ts>2016-02-04 10:55:26 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1497</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNTMxNWNhLi5hM2UyMjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTYtMDItMDQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIE1vZGVybiBJREI6IExheW91dFRlc3QgaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlvcmRl
ci1wcml2YXRlLmh0bWwgaXMgZmxha3kuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTM0MzguCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChGbGFraW5lc3MgaW4gdGhpcyBhbmQgcG90
ZW50aWFsbHkgbWFueSBvdGhlciB0ZXN0cyBpcyByZXNvbHZlZCkuCisKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleURh
dGE6Om9wZXJhdG9yPT0pOiBGaXggb3BlcmF0b3I9PSBmb3IgQXJyYXkga2V5cy4KKwogMjAxNi0w
Mi0wMyAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCdWls
ZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJL
ZXlEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEu
Y3BwCmluZGV4IDg5ODJiZWUuLjFlNzM3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCkBAIC0zNTYsMTMgKzM1Niw3IEBAIGJvb2wgSURC
S2V5RGF0YTo6b3BlcmF0b3I9PShjb25zdCBJREJLZXlEYXRhJiBvdGhlcikgY29uc3QKICAgICBj
YXNlIEtleVR5cGU6OlN0cmluZzoKICAgICAgICAgcmV0dXJuIG1fc3RyaW5nVmFsdWUgPT0gb3Ro
ZXIubV9zdHJpbmdWYWx1ZTsKICAgICBjYXNlIEtleVR5cGU6OkFycmF5OgotICAgICAgICBpZiAo
bV9hcnJheVZhbHVlLnNpemUoKSAhPSBvdGhlci5tX2FycmF5VmFsdWUuc2l6ZSgpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJy
YXlWYWx1ZS5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaWYgKG1fYXJyYXlWYWx1ZVswXSAh
PSBvdGhlci5tX2FycmF5VmFsdWVbMF0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gbV9hcnJheVZh
bHVlID09IG90aGVyLm1fYXJyYXlWYWx1ZTsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKIH0K
</data>
<flag name="review"
          id="295496"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270667</attachid>
            <date>2016-02-04 10:55:26 -0800</date>
            <delta_ts>2016-02-04 11:46:52 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8184</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZDk0YzZiLi43NGI1MjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDIt
MDQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IExheW91dFRlc3QgaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlvcmRlci1wcml2YXRlLmh0
bWwgaXMgZmxha3kuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTM0MzguCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6IFJlLWVuYWJsZSB0aGUg
Zmxha3kgdGVzdC4KKyAgICAgICAgKiByZXNvdXJjZXMvanMtdGVzdC5qczoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRia2V5LWFycmF5LWVxdWFsaXR5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJh
eS1lcXVhbGl0eS1wcml2YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS1wcml2YXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJrZXktYXJyYXktZXF1
YWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jl
c291cmNlcy9pZGJrZXktYXJyYXktZXF1YWxpdHkuanM6IEFkZGVkLgorCiAyMDE2LTAyLTAzICBS
eWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgZmFzdC9m
b3Jtcy9pbnB1dC11c2VyLWlucHV0LXNhbml0aXphdGlvbi5odG1sIG9uIGlvcy1zaW11bGF0b3IK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0
YjI0NTNlLi5mZTY4YjUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCkBAIC02NCw4ICs2NCw2IEBAIHdlYmtpdC5vcmcvYi8xNTMwMzkgWyBEZWJ1
ZyBdIGluc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQuaHRtbCBbIFBhc3MgVGltZW91CiAK
IHdlYmtpdC5vcmcvYi8xNTM0NjAgWyBEZWJ1ZyBdIGluc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0
eXByaW50aW5nLWNzcy1ydWxlcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAotd2Via2l0Lm9yZy9i
LzE1MzQzOCBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2tleW9yZGVyLXByaXZhdGUuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCi0KICMjIyBFTkQgT0YgKDEpIEZhaWx1cmVzIHdpdGggYnVnIHJlcG9ydHMK
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMv
anMtdGVzdC5qcwppbmRleCA3ZWUyNWQ3Li45NTU5OThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9yZXNvdXJjZXMvanMtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvanMtdGVz
dC5qcwpAQCAtNiw3ICs2LDcgQEAgaWYgKHNlbGYudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIC8vIElmIHRoZSB0ZXN0IGZpbGUgVVJMIGVuZHMg
aW4gIi1wcml2YXRlLmh0bWwiLCBlbmFibGUgcHJpdmF0ZSBicm93c2luZy4KLSAgICBpZiAod2lu
ZG93LmxvY2F0aW9uLmhyZWYuZW5kc1dpdGgoIi1wcml2YXRlLmh0bWwiKSkKKyAgICBpZiAod2lu
ZG93LmxvY2F0aW9uLmhyZWYuZW5kc1dpdGgoIi1wcml2YXRlLmh0bWwiKSB8fCBzZWxmLmVuYWJs
ZVByaXZhdGVCcm93c2luZykKICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKHRydWUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRia2V5LWFycmF5LWVxdWFsaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJrZXktYXJyYXktZXF1YWxpdHktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlMGU2ZDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRia2V5
LWFycmF5LWVxdWFsaXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IGFycmF5IElEQktleXMgYXJlIGNvcnJlY3RseSBjb21wYXJlZCBmb3Ig
ZXF1YWxpdHkgZHVyaW5nIG9iamVjdCBzdG9yZSBhZGRpdGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtp
dEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNl
bGYuT0luZGV4ZWREQjsKKworaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4
ZWREQi5vcGVuKGRibmFtZSkKK1N1Y2Nlc3NmdWxseSBhZGRlZCBhbGwgNTAwIGFycmF5IGtleXMs
IHdpdGhvdXQgYW55IGNvbmZsaWN0cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRia2V5LWFycmF5LWVxdWFsaXR5LXByaXZhdGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0
eS1wcml2YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lZTBlNmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS1wcml2YXRlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE0IEBACitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGFycmF5IElEQktleXMgYXJl
IGNvcnJlY3RseSBjb21wYXJlZCBmb3IgZXF1YWxpdHkgZHVyaW5nIG9iamVjdCBzdG9yZSBhZGRp
dGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSBzZWxm
LmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8
fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKKworaW5kZXhlZERCLmRlbGV0
ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK1N1Y2Nlc3NmdWxseSBh
ZGRlZCBhbGwgNTAwIGFycmF5IGtleXMsIHdpdGhvdXQgYW55IGNvbmZsaWN0cy4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRia2V5LWFycmF5LWVxdWFsaXR5
LXByaXZhdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJr
ZXktYXJyYXktZXF1YWxpdHktcHJpdmF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjBhOWIxYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRia2V5LWFycmF5LWVxdWFsaXR5LXByaXZhdGUuaHRtbApAQCAt
MCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2VuYWJsZVByaXZhdGVCcm93
c2luZyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NoYXJlZC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaWRi
a2V5LWFycmF5LWVxdWFsaXR5LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJrZXktYXJyYXkt
ZXF1YWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJr
ZXktYXJyYXktZXF1YWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44ZjVhZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS5odG1sCkBAIC0wLDAgKzEsOSBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaWRia2V5LWFycmF5LWVx
dWFsaXR5LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXNvdXJjZXMvaWRia2V5LWFycmF5LWVx
dWFsaXR5LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNl
cy9pZGJrZXktYXJyYXktZXF1YWxpdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMDA2NWVlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9yZXNvdXJjZXMvaWRia2V5LWFycmF5LWVxdWFsaXR5LmpzCkBAIC0wLDAg
KzEsMzMgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGFycmF5IElE
QktleXMgYXJlIGNvcnJlY3RseSBjb21wYXJlZCBmb3IgZXF1YWxpdHkgZHVyaW5nIG9iamVjdCBz
dG9yZSBhZGRpdGlvbnMuIik7CisKK2luZGV4ZWREQlRlc3QocHJlcGFyZURhdGFiYXNlKTsKKwor
dmFyIGl0ZXJhdGlvbkNvdW50ID0gNTAwOwordmFyIHN1Y2Nlc3NDb3VudCA9IDA7CitmdW5jdGlv
biBkb0FkZChvYmplY3RTdG9yZSwgdmFsdWUpCit7CisgICAgdmFyIGtleSA9IFsgMCwgdmFsdWUg
XTsKKyAgICB2YXIgcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCgidmFsdWUiLCBrZXkpOworICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICgrK3N1Y2Nlc3ND
b3VudCA9PSBpdGVyYXRpb25Db3VudCkgeworICAgICAgICAgICAgZGVidWcoIlN1Y2Nlc3NmdWxs
eSBhZGRlZCBhbGwgNTAwIGFycmF5IGtleXMsIHdpdGhvdXQgYW55IGNvbmZsaWN0cy4iKTsKKyAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgfTsKKworICAgIHJlcXVl
c3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIGRlYnVnKCJFcnJvciBwdXR0
aW5nIHZhbHVlIGludG8gZGF0YWJhc2UgKCIgKyB2YWx1ZSArICIpOiAiICsgZXZlbnQudHlwZSk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0gICAgCit9CisKK2Z1bmN0aW9uIHByZXBh
cmVEYXRhYmFzZShldmVudCkKK3sgICAgCisgICAgdmFyIHRyYW5zYWN0aW9uID0gZXZlbnQudGFy
Z2V0LnRyYW5zYWN0aW9uOworICAgIHZhciBkYXRhYmFzZSA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CisKKyAgICB2YXIgb2JqZWN0U3RvcmUgPSBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgiVGVz
dE9iamVjdFN0b3JlIik7CisgICAgCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVyYXRpb25D
b3VudDsgKytpKQorICAgICAgICBkb0FkZChvYmplY3RTdG9yZSwgaSk7Cit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMTUzMTVjYS4uMGYzZTMwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0w
Mi0wNCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kZXJu
IElEQjogTGF5b3V0VGVzdCBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2tleW9yZGVyLXByaXZhdGUu
aHRtbCBpcyBmbGFreS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MzQzOC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0czogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVh
bGl0eS1wcml2YXRlLmh0bWwKKyAgICAgICAgICAgICAgIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pZGJrZXktYXJyYXktZXF1YWxpdHkuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCS2V5RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlEYXRhOjpsb2dnaW5n
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleURhdGE6Om9wZXJhdG9yPT0pOiBGaXgg
b2J2aW91cyBidWcuCisKIDIwMTYtMDItMDMgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAppbmRleCA4OTgyYmVlLi5lMWFiZDRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcApAQCAtMjc2
LDcgKzI3Niw3IEBAIFN0cmluZyBJREJLZXlEYXRhOjpsb2dnaW5nU3RyaW5nKCkgY29uc3QKICAg
ICAgICAgcmVzdWx0ID0gIjxzdHJpbmc+IC0gIiArIG1fc3RyaW5nVmFsdWU7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgS2V5VHlwZTo6RGF0ZToKLSAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9y
bWF0KCJEYXRlIG1fdHlwZSAtICVmIiwgbV9udW1iZXJWYWx1ZSk7CisgICAgICAgIHJldHVybiBT
dHJpbmc6OmZvcm1hdCgiPGRhdGU+IC0gJWYiLCBtX251bWJlclZhbHVlKTsKICAgICBjYXNlIEtl
eVR5cGU6Ok51bWJlcjoKICAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCI8bnVtYmVyPiAt
ICVmIiwgbV9udW1iZXJWYWx1ZSk7CiAgICAgY2FzZSBLZXlUeXBlOjpNYXg6CkBAIC0zNTYsMTMg
KzM1Niw3IEBAIGJvb2wgSURCS2V5RGF0YTo6b3BlcmF0b3I9PShjb25zdCBJREJLZXlEYXRhJiBv
dGhlcikgY29uc3QKICAgICBjYXNlIEtleVR5cGU6OlN0cmluZzoKICAgICAgICAgcmV0dXJuIG1f
c3RyaW5nVmFsdWUgPT0gb3RoZXIubV9zdHJpbmdWYWx1ZTsKICAgICBjYXNlIEtleVR5cGU6OkFy
cmF5OgotICAgICAgICBpZiAobV9hcnJheVZhbHVlLnNpemUoKSAhPSBvdGhlci5tX2FycmF5VmFs
dWUuc2l6ZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fYXJyYXlWYWx1ZS5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaWYg
KG1fYXJyYXlWYWx1ZVswXSAhPSBvdGhlci5tX2FycmF5VmFsdWVbMF0pCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICByZXR1cm4gbV9hcnJheVZhbHVlID09IG90aGVyLm1fYXJyYXlWYWx1ZTsKICAgICB9CiAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>