<?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>153038</bug_id>
          
          <creation_ts>2016-01-12 13:58:32 -0800</creation_ts>
          <short_desc>Modern IDB: A few cursor tests are flaky because JS wrappers are GC&apos;ed</short_desc>
          <delta_ts>2016-01-13 10:42:31 -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>Safari 9</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1154882</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-12 13:58:32 -0800</bug_when>
    <thetext>Modern IDB: A few cursor tests are flaky because JS wrappers are GC&apos;ed

storage/indexeddb/cursor-update.html
storage/indexeddb/mutating-cursor.html

https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK1%20(Tests)/r194903%20(11144)/results.html
https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK1%20(Tests)/r194901%20(11142)/results.html

You can see on the flakiness dashboard that on debug bots they are crashes:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#tests=storage%2Findexeddb%2Fmutating-cursor.html

But really ASSERTs.

I verified running these tests repeatedly with some logging that the IDBRequest answered &quot;false&quot; to hasPendingActivity(), leading to its JS wrapper to get GC&apos;ed, but then an event was delivered.

The ASSERTs in debug builds are just that: 
inline JSC::JSObject* JSEventListener::jsFunction(ScriptExecutionContext* scriptExecutionContext) const
...
    ASSERT(!m_isolatedWorld-&gt;isNormal() || m_wrapper || !m_jsFunction);

IDBRequests for cursors operations can be reused and must maintain a &quot;true&quot; answer to this question while a cursor operation is outstanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155092</commentid>
    <comment_count>1</comment_count>
      <attachid>268871</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-13 09:11:50 -0800</bug_when>
    <thetext>Created attachment 268871
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155116</commentid>
    <comment_count>2</comment_count>
      <attachid>268871</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-01-13 10:30:01 -0800</bug_when>
    <thetext>Comment on attachment 268871
Patch v1

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

r=me

&gt; Source/WebCore/bindings/js/JSIDBCursorCustom.cpp:42
&gt; +    auto&amp; modernCursor = static_cast&lt;IDBClient::IDBCursor&amp;&gt;(wrapped());

Is this static_cast necessary?  Other visitAdditionalChildren implementations don&apos;t have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155122</commentid>
    <comment_count>3</comment_count>
      <attachid>268871</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-01-13 10:37:14 -0800</bug_when>
    <thetext>Comment on attachment 268871
Patch v1

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

&gt;&gt; Source/WebCore/bindings/js/JSIDBCursorCustom.cpp:42
&gt;&gt; +    auto&amp; modernCursor = static_cast&lt;IDBClient::IDBCursor&amp;&gt;(wrapped());
&gt; 
&gt; Is this static_cast necessary?  Other visitAdditionalChildren implementations don&apos;t have it.

Ok, but this will be removed when we get rid of the legacy implementation.  Same with isModernCursor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155125</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-13 10:42:31 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/194967</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268871</attachid>
            <date>2016-01-13 09:11:50 -0800</date>
            <delta_ts>2016-01-13 10:30:01 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12038</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzMxZTc2My4uYWIxNTFkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTExNjksNiArMTE2OSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5k
aW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNIaXN0b3J5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSURCQW55Q3VzdG9tLmNwcAor
ICAgIGJpbmRpbmdzL2pzL0pTSURCQ3Vyc29yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
SURCRGF0YWJhc2VDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNJREJPYmplY3RTdG9yZUN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMDFjN2E1Ny4uMTBhNWE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE2
LTAxLTEzICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb2Rl
cm4gSURCOiBBIGZldyBjdXJzb3IgdGVzdHMgYXJlIGZsYWt5IGJlY2F1c2UgSlMgd3JhcHBlcnMg
YXJlIEdDJ2VkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUzMDM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIChDb3VsZG4ndCB3cml0ZSBhIHRlc3QgdGhhdCB3YXMgYW55IG1vcmUg
cmVsaWFibGUgdGhhbiAiZmxha3kiLCBzbyBmaXhpbmcgdGhlIGV4aXN0aW5nIGZsYWt5IHRlc3Rz
IHdpbGwgZG8pLgorCisgICAgICAgIEFuZCBJREJDdXJzb3IgaGFzIGFuIGFzc29jaWF0ZWQgSURC
UmVxdWVzdCB0aGF0IGlzIHJlLXVzZWQgZWFjaCB0aW1lIHRoZSBJREJDdXJzb3IgaXRlcmF0ZXMu
CisgICAgICAgIAorICAgICAgICBUaGUgbm9ybWFsIEFjdGl2ZURPTU9iamVjdCBhcHByb2FjaCB0
byBwcmV2ZW50IHRoZSBJREJSZXF1ZXN0J3Mgd3JhcHBlciBmcm9tIGJlaW5nIGdhcmJhZ2UgY29s
bGVjdGVkIHdhcyBub3QgZ29vZCBlbm91Z2gKKyAgICAgICAgYmVjYXVzZSwgd2hpbGUgdGhlIElE
QlJlcXVlc3QgbWF5IG5vdCBjdXJyZW50bHkgYmUgd2FpdGluZyBvbiBhbnkgYWN0aXZpdHksIGFz
IGxvbmcgYXMgaXRzIGFzc29jaWF0ZWQgSURCQ3Vyc29yIGlzIHN0aWxsCisgICAgICAgIHJlYWNo
YWJsZSB0aGVuIHRoZSByZXF1ZXN0IG1pZ2h0IGJlIHJldXNlZCBpbiB0aGUgZnV0dXJlLgorICAg
ICAgICAKKyAgICAgICAgRm9ydHVuYXRlbHkgdGhlcmUncyBhbiBJREwgYWxsb3dhbmNlIGZvciAi
b25lIG9iamVjdCBrZWVwaW5nIGFub3RoZXIgYWxpdmUgZHVyaW5nIEdDIiBhbmQgdGhhdCdzIEpT
Q3VzdG9tTWFya0Z1bmN0aW9uCisgICAgICAgIGNvbWJpbmVkIHdpdGggR2VuZXJhdGVJc1JlYWNo
YWJsZS4KKyAgICAgICAgCisgICAgICAgIEFwcGx5aW5nIHRob3NlIHRvIElEQkN1cnNvciBhbmQg
SURCUmVxdWVzdCBmaXggdGhpcyBoYW5kaWx5LgorICAgICAgICAKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OklEQkN1cnNvcjo6aXNNb2Rlcm5DdXJzb3IpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvci5pZGw6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQlJlcXVlc3QuaWRsOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ3Vyc29ySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklE
QkN1cnNvcjo6YWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkN1cnNv
cjo6Y29udGludWVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkN1
cnNvcjo6dW5jaGVja2VkSXRlcmF0ZUN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQkN1cnNvcjo6dW5jaGVja2VkSXRlcmF0b3JDdXJzb3IpOiBEZWxldGVkLiBGaXhlZCB0
aGUgdHlwbyBvZiB0aGlzIG5hbWUuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkN1cnNvckltcGwuaDoKKyAgICAgICAgCisgICAgICAgICogYmluZGluZ3MvanMvSlNJREJD
dXJzb3JDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTSURCQ3Vyc29yOjp2
aXNpdEFkZGl0aW9uYWxDaGlsZHJlbik6CisKIDIwMTYtMDEtMTIgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGVybiBJREI6IENoZWNrIGluIGVtcHR5IFNR
TGl0ZSBiYWNraW5nIHN0b3JlIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAppbmRleCBiYjI0ZWEzLi43OGQ2MGU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaApAQCAtNzQsNiArNzQs
OCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlDdXJzb3IoKSBjb25zdCA9IDA7
CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb2Rlcm5DdXJzb3IoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgSURCQ3Vyc29yKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKaW5kZXggOWVkZDAxNy4uOTUxODBl
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRs
CkBAIC0yNyw2ICsyNyw3IEBACiAgICAgQ29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRSwKICAg
ICBFbmFibGVkQXRSdW50aW1lPUluZGV4ZWREQiwKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwK
KyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIElEQkN1cnNvciB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIElEQkFueSBzb3VyY2U7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBkaXJlY3Rpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJSZXF1ZXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlJlcXVlc3QuaWRsCmluZGV4IGZlYThlYmUuLmRlN2NjNWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaWRsCkBAIC0zNSw2ICszNSw3
IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2Jq
ZWN0LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbCwKIF0gaW50ZXJmYWNlIElEQlJlcXVlc3QgOiBFdmVudFRhcmdldCB7CiAgICAgW0dldHRl
clJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlXSByZWFkb25seSBhdHRyaWJ1dGUgSURCQW55IHJl
c3VsdDsKICAgICBbR2V0dGVyUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01FcnJvciBlcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcAppbmRleCBlOGUyMTZlLi4w
MjYzZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ3Vyc29ySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJREJD
dXJzb3I6OmFkdmFuY2UodW5zaWduZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZVdpdGhNZXNz
YWdlJiBlYykKIAogICAgIG1fZ290VmFsdWUgPSBmYWxzZTsKIAotICAgIHVuY2hlY2tlZEl0ZXJh
dG9yQ3Vyc29yKElEQktleURhdGEoKSwgY291bnQpOworICAgIHVuY2hlY2tlZEl0ZXJhdGVDdXJz
b3IoSURCS2V5RGF0YSgpLCBjb3VudCk7CiB9CiAKIHZvaWQgSURCQ3Vyc29yOjpjb250aW51ZUZ1
bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGVXaXRo
TWVzc2FnZSYgZWMpCkBAIC0yNzYsMTAgKzI3NiwxMCBAQCB2b2lkIElEQkN1cnNvcjo6Y29udGlu
dWVGdW5jdGlvbihjb25zdCBJREJLZXlEYXRhJiBrZXksIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2Fn
ZQogCiAgICAgbV9nb3RWYWx1ZSA9IGZhbHNlOwogCi0gICAgdW5jaGVja2VkSXRlcmF0b3JDdXJz
b3Ioa2V5LCAwKTsKKyAgICB1bmNoZWNrZWRJdGVyYXRlQ3Vyc29yKGtleSwgMCk7CiB9CiAKLXZv
aWQgSURCQ3Vyc29yOjp1bmNoZWNrZWRJdGVyYXRvckN1cnNvcihjb25zdCBJREJLZXlEYXRhJiBr
ZXksIHVuc2lnbmVkIGxvbmcgY291bnQpCit2b2lkIElEQkN1cnNvcjo6dW5jaGVja2VkSXRlcmF0
ZUN1cnNvcihjb25zdCBJREJLZXlEYXRhJiBrZXksIHVuc2lnbmVkIGxvbmcgY291bnQpCiB7CiAg
ICAgbV9yZXF1ZXN0LT53aWxsSXRlcmF0ZUN1cnNvcigqdGhpcyk7CiAgICAgdHJhbnNhY3Rpb24o
KS5pdGVyYXRlQ3Vyc29yKCp0aGlzLCBrZXksIGNvdW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5oCmluZGV4IDY1
YzQ1OWYuLjljNzJlMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuaApAQCAtNzIsNiArNzIsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRHZXRSZXN1bHQoSURCUmVxdWVzdCYsIGNvbnN0IElEQkdldFJlc3VsdCYp
OwogCiAgICAgdmlydHVhbCBib29sIGlzS2V5Q3Vyc29yKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc01vZGVybkN1cnNvcigpIGNvbnN0IG92ZXJy
aWRlIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAogcHJvdGVjdGVkOgogICAgIElEQkN1cnNvcihJ
REJUcmFuc2FjdGlvbiYsIElEQk9iamVjdFN0b3JlJiwgY29uc3QgSURCQ3Vyc29ySW5mbyYpOwpA
QCAtODgsNyArODksNyBAQCBwcml2YXRlOgogICAgIElEQk9iamVjdFN0b3JlJiBlZmZlY3RpdmVP
YmplY3RTdG9yZSgpIGNvbnN0OwogICAgIElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbigpIGNv
bnN0OwogCi0gICAgdm9pZCB1bmNoZWNrZWRJdGVyYXRvckN1cnNvcihjb25zdCBJREJLZXlEYXRh
JiwgdW5zaWduZWQgbG9uZyBjb3VudCk7CisgICAgdm9pZCB1bmNoZWNrZWRJdGVyYXRlQ3Vyc29y
KGNvbnN0IElEQktleURhdGEmLCB1bnNpZ25lZCBsb25nIGNvdW50KTsKIAogICAgIGJvb2wgbV9n
b3RWYWx1ZSB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3ZjkwNTc3ZS4uMGI1NGU2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk1NCw2
ICsxOTU0LDcgQEAKIAkJNTEyNkU2QkMwQTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyNkU2QkEw
QTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMkJEQjRBMUM0NTZGRjUwMDY0OTRERiAvKiBT
UUxpdGVJREJCYWNraW5nU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEyQkRCNDgxQzQ1NkZBQjAwNjQ5NERGIC8qIFNRTGl0ZUlEQkJhY2tp
bmdTdG9yZS5jcHAgKi87IH07CiAJCTUxMkJEQjRCMUM0NTZGRkEwMDY0OTRERiAvKiBTUUxpdGVJ
REJCYWNraW5nU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMkJEQjQ5MUM0NTZGQUIwMDY0OTRERiAvKiBTUUxpdGVJREJCYWNraW5nU3RvcmUu
aCAqLzsgfTsKKwkJNTEyQkRCNEQxQzQ2QjE1MzAwNjQ5NERGIC8qIEpTSURCQ3Vyc29yQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMkJE
QjRDMUM0NkIwRkYwMDY0OTRERiAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgKi87IH07CiAJCTUx
MkREOEUzMEQ5MUUyQjQwMDBGODlFRSAvKiBTaGFyZWRCdWZmZXJDRi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJERDhFMjBEOTFFMkI0MDAwRjg5
RUUgLyogU2hhcmVkQnVmZmVyQ0YuY3BwICovOyB9OwogCQk1MTJERDhGNDBEOTFFNkFGMDAwRjg5
RUUgLyogTGVnYWN5V2ViQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTJERDhFQTBEOTFFNkFGMDAwRjg5RUUgLyogTGVnYWN5V2ViQXJj
aGl2ZS5jcHAgKi87IH07CiAJCTUxMkREOEY1MEQ5MUU2QUYwMDBGODlFRSAvKiBMZWdhY3lXZWJB
cmNoaXZlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTJERDhFQjBEOTFFNkFGMDAwRjg5RUUgLyogTGVnYWN5V2ViQXJjaGl2ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC05MzkwLDYgKzkzOTEsNyBA
QAogCQk1MTI2RTZCQTBBMkUzQjEyMDA1QzI5RkEgLyogSWNvbkRhdGFiYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJY29uRGF0YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTEyQkRCNDgxQzQ1NkZBQjAwNjQ5NERGIC8qIFNRTGl0ZUlEQkJhY2tp
bmdTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTUUxpdGVJ
REJCYWNraW5nU3RvcmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJCREI0
OTFDNDU2RkFCMDA2NDk0REYgLyogU1FMaXRlSURCQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1MTJCREI0QzFDNDZCMEZGMDA2NDk0REYgLyogSlNJREJDdXJz
b3JDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJD
dXJzb3JDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJERDhFMjBE
OTFFMkI0MDAwRjg5RUUgLyogU2hhcmVkQnVmZmVyQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkQnVmZmVyQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MTJERDhFQTBEOTFFNkFGMDAwRjg5RUUgLyogTGVnYWN5V2ViQXJjaGl2ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZWdhY3lXZWJBcmNoaXZl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyREQ4RUIwRDkxRTZBRjAwMEY4
OUVFIC8qIExlZ2FjeVdlYkFyY2hpdmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGVnYWN5V2ViQXJjaGl2ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjIx
NDQsNiArMjIxNDYsNyBAQAogCQkJCUFCNENCNEVBMEI4QkRBM0QwMDlGNDBCMCAvKiBKU0hUTUxT
ZWxlY3RFbGVtZW50Q3VzdG9tLmggKi8sCiAJCQkJRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8q
IEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTExRUYyQ0MxN0YwRkRG
MTAwRTRGQTE2IC8qIEpTSURCQW55Q3VzdG9tLmNwcCAqLywKKwkJCQk1MTJCREI0QzFDNDZCMEZG
MDA2NDk0REYgLyogSlNJREJDdXJzb3JDdXN0b20uY3BwICovLAogCQkJCTUxMUVGMkNEMTdGMEZE
RjEwMEU0RkExNiAvKiBKU0lEQkRhdGFiYXNlQ3VzdG9tLmNwcCAqLywKIAkJCQk1MTFFRjJDRTE3
RjBGREYxMDBFNEZBMTYgLyogSlNJREJPYmplY3RTdG9yZUN1c3RvbS5jcHAgKi8sCiAJCQkJQTdE
MDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywKQEAgLTMw
NTkzLDYgKzMwNTk2LDcgQEAKIAkJCQlDRDVFNUI2MTFBMTVGMTU2MDAwQzYwOUUgLyogUGFnZUNv
bmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM4MjA4OTIxNDdEMzVGOTAwMTBC
QzA2IC8qIFBhZ2VDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREFFRDIwMzAx
NkYyNDQyQjAwNzBFQzBGIC8qIFBhZ2VDb25zb2xlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTUxMkJEQjREMUM0NkIxNTMwMDY0OTRERiAvKiBKU0lEQkN1cnNvckN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBNUEyQUYwQjE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2Fi
bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM0NzQyREMxMzQzNjJGMDAwNTMxQkMyIC8qIFBh
Z2VEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDJCMEJEMEQ3OUY4Mjkw
MEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQkN1cnNvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0lEQkN1cnNvckN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNjNmMzU1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSURCQ3Vyc29yQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTSURCQ3Vyc29yLmgi
CisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkN1cnNvcklt
cGwuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2
b2lkIEpTSURCQ3Vyc29yOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihTbG90VmlzaXRvciYgdmlz
aXRvcikKK3sKKyAgICBpZiAoIXdyYXBwZWQoKS5pc01vZGVybkN1cnNvcigpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBhdXRvJiBtb2Rlcm5DdXJzb3IgPSBzdGF0aWNfY2FzdDxJREJDbGllbnQ6
OklEQkN1cnNvciY+KHdyYXBwZWQoKSk7CisgICAgaWYgKGF1dG8qIHJlcXVlc3QgPSBtb2Rlcm5D
dXJzb3IucmVxdWVzdCgpKQorICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QocmVxdWVzdCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQo=
</data>
<flag name="review"
          id="293839"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>