<?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>157494</bug_id>
          
          <creation_ts>2016-05-09 16:14:56 -0700</creation_ts>
          <short_desc>Modern IDB: Prevent the same transaction from being commited/aborted twice</short_desc>
          <delta_ts>2016-05-09 16:59:11 -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>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>
    
    <blocked>154968</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191359</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-09 16:14:56 -0700</bug_when>
    <thetext>Modern IDB: Prevent the same transaction from being commited/aborted twice

Rarely, due to page navigation or worker shutdown, a transaction might be either committed or aborted after it has already been committed or aborted.

I could not reproduce this with a targeted test case attempting to reproduce it, but it is showing up as a source of at least some of the mysterious flakes (https://bugs.webkit.org/show_bug.cgi?id=154968)

By detecting this situation and turning it into an explicit error, we&apos;ll turn at least some mysterious timeouts into errors that will then become more actionable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191364</commentid>
    <comment_count>1</comment_count>
      <attachid>278455</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-09 16:23:03 -0700</bug_when>
    <thetext>Created attachment 278455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191382</commentid>
    <comment_count>2</comment_count>
      <attachid>278455</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-09 16:59:08 -0700</bug_when>
    <thetext>Comment on attachment 278455
Patch

Clearing flags on attachment: 278455

Committed r200598: &lt;http://trac.webkit.org/changeset/200598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191383</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-09 16:59:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278455</attachid>
            <date>2016-05-09 16:23:03 -0700</date>
            <delta_ts>2016-05-09 16:59:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157494-20160509162349.patch</filename>
            <type>text/plain</type>
            <size>12121</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMyZTI3Mjk5NDlhZjAw
NDkxZmJmMzk0NGM5NmEzNzM0OWY3ZGM2ZS4uMzYxMTNkMWE0OTg3MGZiN2M2MjExODI5MWVjM2Q3
MGQ4YzM5NzRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTA1LTA5ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb2Rlcm4gSURCOiBQcmV2
ZW50IHRoZSBzYW1lIHRyYW5zYWN0aW9uIGZyb20gYmVpbmcgY29tbWl0ZWQvYWJvcnRlZCB0d2lj
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzQ5
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
YSBwYWdlIG5hdmlnYXRlcyBvciBhIHdvcmtlciB0ZXJtaW5hdGVzLCBpbiByYXJlIGNhc2VzIHdp
dGggc3BlY2lmaWMgdW5mb3J0dW5hdGUgdGltaW5nLCB0aGUgSURCU2VydmVyCisgICAgICAgIG1p
Z2h0IHJlY2VpdmUgYSByZXF1ZXN0IHRvIGNvbW1pdC9hYm9ydCBhIHRyYW5zYWN0aW9uIHRoYXQg
aXMgYWxyZWFkeSBpbiB0aGUgcHJvY2VzcyBvZiBjb21taXR0aW5nL2Fib3J0aW5nLgorICAgICAg
ICAKKyAgICAgICAgQnkgbW92aW5nIHRyYW5zYWN0aW9ucyB0aGF0IGFyZSBmaW5pc2hpbmcgaW50
byB0aGVpciBvd24gbWFwIHdlIGNhbiBhdCBsZWFzdCBkZXRlY3QgdGhpcyBzaXR1YXRpb24gYW5k
CisgICAgICAgIHJldHVybiBhbiBlcnJvci4gVGhpcyBzZWVtcyBsaWtlIGFuIGltcHJvdmVtZW50
IG92ZXIgc29tZSBteXN0ZXJpb3VzIEFTU0VSVHMvdGltZW91dHMuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzOgorICAgICAgICBXaGlsZSBhcHBhcmVudCB0aGF0IHRoaXMgaXMgYXQgbGVhc3QgcGFy
dGlhbGx5IHRvIGJsYW1lIGZvciBzb21lIGV4aXN0aW5nIHRpbWVvdXRzL0FTU0VSVHMsIEkgY291
bGQgbm90IG5haWwgCisgICAgICAgIGRvd24gYSByZWxpYWJsZSB3YXkgdG8gcmVwcm9kdWNlIHRo
aXMgd2l0aCBhIGRlZGljYXRlZCB0ZXN0LgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6flVuaXF1ZUlEQkRhdGFiYXNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6OnBlcmZvcm1DdXJyZW50
RGVsZXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURC
RGF0YWJhc2U6OmRpZERlbGV0ZUJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjpwcmVwYXJlVG9GaW5pc2hUcmFuc2FjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjpjb21taXRUcmFu
c2FjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNl
OjpkaWRQZXJmb3JtQ29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCU2Vy
dmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6YWJvcnRUcmFuc2FjdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQZXJmb3JtQWJvcnRUcmFuc2Fj
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjpo
YXNVbmZpbmlzaGVkVHJhbnNhY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6
VW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXJGaXJlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjp0YWtlTmV4dFJ1
bm5hYmxlVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZTo6dHJhbnNhY3Rpb25Db21wbGV0ZWQpOiBSZW5hbWVkIGZyb20gaW5Qcm9ncmVz
c1RyYW5zYWN0aW9uQ29tcGxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlx
dWVJREJEYXRhYmFzZTo6aW5Qcm9ncmVzc1RyYW5zYWN0aW9uQ29tcGxldGVkKTogRGVsZXRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuaDoK
KwogMjAxNi0wNS0wOSAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4K
IAogICAgICAgICBbY3NzLWdyaWRdIEZpeCBzdGF0aWMgcG9zaXRpb24gZm9yIHBvc2l0aW9uZWQg
Z3JpZCBpdGVtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggYTAzYmFiYjMzYjQ4MmQ0
YWNiMmIxZTYyYWYyZjg4OGE5NDcwNGVjZS4uZmU0ODIwNmZiM2I4YjU4ZGIxMzU0YzRhNWYxZjg1
YWUwNDA2OTYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC02MCw3ICs2MCw3IEBA
IFVuaXF1ZUlEQkRhdGFiYXNlOjp+VW5pcXVlSURCRGF0YWJhc2UoKQogewogICAgIExPRyhJbmRl
eGVkREIsICJVbmlxdWVJREJEYXRhYmFzZTo6flVuaXF1ZUlEQkRhdGFiYXNlKCkgKCVwKSAlcyIs
IHRoaXMsIG1faWRlbnRpZmllci5kZWJ1Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIEFT
U0VSVCghaGFzQW55UGVuZGluZ0NhbGxiYWNrcygpKTsKLSAgICBBU1NFUlQobV9pblByb2dyZXNz
VHJhbnNhY3Rpb25zLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKCFoYXNVbmZpbmlzaGVkVHJhbnNh
Y3Rpb25zKCkpOwogICAgIEFTU0VSVChtX3BlbmRpbmdUcmFuc2FjdGlvbnMuaXNFbXB0eSgpKTsK
ICAgICBBU1NFUlQobV9vcGVuRGF0YWJhc2VDb25uZWN0aW9ucy5pc0VtcHR5KCkpOwogICAgIEFT
U0VSVChtX2Nsb3NlUGVuZGluZ0RhdGFiYXNlQ29ubmVjdGlvbnMuaXNFbXB0eSgpKTsKQEAgLTE5
NCw3ICsxOTQsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJmb3JtQ3VycmVudERlbGV0
ZU9wZXJhdGlvbigpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIW1faW5Qcm9n
cmVzc1RyYW5zYWN0aW9ucy5pc0VtcHR5KCkpCisgICAgaWYgKGhhc1VuZmluaXNoZWRUcmFuc2Fj
dGlvbnMoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKCFoYXNBbnlQZW5kaW5nQ2Fs
bGJhY2tzKCkpOwpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmRp
ZERlbGV0ZUJhY2tpbmdTdG9yZSh1aW50NjRfdCBkZWxldGVkVmVyc2lvbikKICAgICBBU1NFUlQo
bV9jdXJyZW50T3BlbkRCUmVxdWVzdCk7CiAgICAgQVNTRVJUKG1fY3VycmVudE9wZW5EQlJlcXVl
c3QtPmlzRGVsZXRlUmVxdWVzdCgpKTsKICAgICBBU1NFUlQoIWhhc0FueVBlbmRpbmdDYWxsYmFj
a3MoKSk7Ci0gICAgQVNTRVJUKG1faW5Qcm9ncmVzc1RyYW5zYWN0aW9ucy5pc0VtcHR5KCkpOwor
ICAgIEFTU0VSVCghaGFzVW5maW5pc2hlZFRyYW5zYWN0aW9ucygpKTsKICAgICBBU1NFUlQobV9w
ZW5kaW5nVHJhbnNhY3Rpb25zLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fb3BlbkRhdGFiYXNl
Q29ubmVjdGlvbnMuaXNFbXB0eSgpKTsKIApAQCAtOTgzLDYgKzk4MywxOCBAQCB2b2lkIFVuaXF1
ZUlEQkRhdGFiYXNlOjpkaWRQZXJmb3JtSXRlcmF0ZUN1cnNvcih1aW50NjRfdCBjYWxsYmFja0lk
ZW50aWZpZXIsIGNvbgogICAgIHBlcmZvcm1HZXRSZXN1bHRDYWxsYmFjayhjYWxsYmFja0lkZW50
aWZpZXIsIGVycm9yLCByZXN1bHQpOwogfQogCitib29sIFVuaXF1ZUlEQkRhdGFiYXNlOjpwcmVw
YXJlVG9GaW5pc2hUcmFuc2FjdGlvbihVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uJiB0cmFu
c2FjdGlvbikKK3sKKyAgICBhdXRvIHRha2VuVHJhbnNhY3Rpb24gPSBtX2luUHJvZ3Jlc3NUcmFu
c2FjdGlvbnMudGFrZSh0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigpKTsKKyAgICBpZiAo
IXRha2VuVHJhbnNhY3Rpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEFTU0VSVCgh
bV9maW5pc2hpbmdUcmFuc2FjdGlvbnMuY29udGFpbnModHJhbnNhY3Rpb24uaW5mbygpLmlkZW50
aWZpZXIoKSkpOworICAgIG1fZmluaXNoaW5nVHJhbnNhY3Rpb25zLnNldCh0cmFuc2FjdGlvbi5p
bmZvKCkuaWRlbnRpZmllcigpLCBXVEZNb3ZlKHRha2VuVHJhbnNhY3Rpb24pKTsKKworICAgIHJl
dHVybiB0cnVlOworfQorCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpjb21taXRUcmFuc2FjdGlv
bihVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgRXJyb3JDYWxsYmFj
ayBjYWxsYmFjaykKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtOTkwLDE0ICsx
MDAyLDEzIEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmNvbW1pdFRyYW5zYWN0aW9uKFVuaXF1
ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mIHRyYW5zYWN0CiAKICAgICBBU1NFUlQoJnRyYW5zYWN0
aW9uLmRhdGFiYXNlQ29ubmVjdGlvbigpLmRhdGFiYXNlKCkgPT0gdGhpcyk7CiAKLSAgICBpZiAo
bV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gPT0gJnRyYW5zYWN0aW9uKSB7Ci0gICAgICAgIEFT
U0VSVCghbV92ZXJzaW9uQ2hhbmdlRGF0YWJhc2VDb25uZWN0aW9uIHx8ICZtX3ZlcnNpb25DaGFu
Z2VUcmFuc2FjdGlvbi0+ZGF0YWJhc2VDb25uZWN0aW9uKCkgPT0gbV92ZXJzaW9uQ2hhbmdlRGF0
YWJhc2VDb25uZWN0aW9uKTsKLSAgICAgICAgQVNTRVJUKG1fZGF0YWJhc2VJbmZvLT52ZXJzaW9u
KCkgPT0gdHJhbnNhY3Rpb24uaW5mbygpLm5ld1ZlcnNpb24oKSk7CisgICAgdWludDY0X3QgY2Fs
bGJhY2tJRCA9IHN0b3JlQ2FsbGJhY2soY2FsbGJhY2spOwogCi0gICAgICAgIGludm9rZU9wZXJh
dGlvbkFuZFRyYW5zYWN0aW9uVGltZXIoKTsKKyAgICBpZiAoIXByZXBhcmVUb0ZpbmlzaFRyYW5z
YWN0aW9uKHRyYW5zYWN0aW9uKSkgeworICAgICAgICBwZXJmb3JtRXJyb3JDYWxsYmFjayhjYWxs
YmFja0lELCB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiQXR0ZW1wdCB0byBjb21taXQgdHJhbnNhY3Rpb24gdGhhdCBpcyBhbHJlYWR5IGZpbmlzaGlu
ZyIpIH0pOworICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IHN0b3JlQ2FsbGJhY2soY2FsbGJhY2spOwogICAgIG1fc2VydmVyLnBvc3REYXRhYmFzZVRh
c2soY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OnBlcmZv
cm1Db21taXRUcmFuc2FjdGlvbiwgY2FsbGJhY2tJRCwgdHJhbnNhY3Rpb24uaW5mbygpLmlkZW50
aWZpZXIoKSkpOwogfQogCkBAIC0xMDE3LDcgKzEwMjgsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFi
YXNlOjpkaWRQZXJmb3JtQ29tbWl0VHJhbnNhY3Rpb24odWludDY0X3QgY2FsbGJhY2tJZGVudGlm
aWVyLAogCiAgICAgcGVyZm9ybUVycm9yQ2FsbGJhY2soY2FsbGJhY2tJZGVudGlmaWVyLCBlcnJv
cik7CiAKLSAgICBpblByb2dyZXNzVHJhbnNhY3Rpb25Db21wbGV0ZWQodHJhbnNhY3Rpb25JZGVu
dGlmaWVyKTsKKyAgICB0cmFuc2FjdGlvbkNvbXBsZXRlZChtX2ZpbmlzaGluZ1RyYW5zYWN0aW9u
cy50YWtlKHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFi
YXNlOjphYm9ydFRyYW5zYWN0aW9uKFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mIHRyYW5z
YWN0aW9uLCBFcnJvckNhbGxiYWNrIGNhbGxiYWNrKQpAQCAtMTAyOCw2ICsxMDM5LDEyIEBAIHZv
aWQgVW5pcXVlSURCRGF0YWJhc2U6OmFib3J0VHJhbnNhY3Rpb24oVW5pcXVlSURCRGF0YWJhc2VU
cmFuc2FjdGlvbiYgdHJhbnNhY3RpCiAgICAgQVNTRVJUKCZ0cmFuc2FjdGlvbi5kYXRhYmFzZUNv
bm5lY3Rpb24oKS5kYXRhYmFzZSgpID09IHRoaXMpOwogCiAgICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IHN0b3JlQ2FsbGJhY2soY2FsbGJhY2spOworCisgICAgaWYgKCFwcmVwYXJlVG9GaW5pc2hU
cmFuc2FjdGlvbih0cmFuc2FjdGlvbikpIHsKKyAgICAgICAgcGVyZm9ybUVycm9yQ2FsbGJhY2so
Y2FsbGJhY2tJRCwgeyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxp
dGVyYWwoIkF0dGVtcHQgdG8gYWJvcnQgdHJhbnNhY3Rpb24gdGhhdCBpcyBhbHJlYWR5IGZpbmlz
aGluZyIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbV9zZXJ2ZXIucG9zdERh
dGFiYXNlVGFzayhjcmVhdGVDcm9zc1RocmVhZFRhc2soKnRoaXMsICZVbmlxdWVJREJEYXRhYmFz
ZTo6cGVyZm9ybUFib3J0VHJhbnNhY3Rpb24sIGNhbGxiYWNrSUQsIHRyYW5zYWN0aW9uLmluZm8o
KS5pZGVudGlmaWVyKCkpKTsKIH0KIApAQCAtMTA1OSw3ICsxMDc2LDExIEBAIHZvaWQgVW5pcXVl
SURCRGF0YWJhc2U6OmRpZFBlcmZvcm1BYm9ydFRyYW5zYWN0aW9uKHVpbnQ2NF90IGNhbGxiYWNr
SWRlbnRpZmllciwKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIExPRyhJbmRleGVk
REIsICIobWFpbikgVW5pcXVlSURCRGF0YWJhc2U6OmRpZFBlcmZvcm1BYm9ydFRyYW5zYWN0aW9u
Iik7CiAKKyAgICBhdXRvIHRyYW5zYWN0aW9uID0gbV9maW5pc2hpbmdUcmFuc2FjdGlvbnMudGFr
ZSh0cmFuc2FjdGlvbklkZW50aWZpZXIpOworICAgIEFTU0VSVCh0cmFuc2FjdGlvbik7CisKICAg
ICBpZiAobV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gJiYgbV92ZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24tPmluZm8oKS5pZGVudGlmaWVyKCkgPT0gdHJhbnNhY3Rpb25JZGVudGlmaWVyKSB7Cisg
ICAgICAgIEFTU0VSVChtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbik7
CiAgICAgICAgIEFTU0VSVCghbV92ZXJzaW9uQ2hhbmdlRGF0YWJhc2VDb25uZWN0aW9uIHx8ICZt
X3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbi0+ZGF0YWJhc2VDb25uZWN0aW9uKCkgPT0gbV92ZXJz
aW9uQ2hhbmdlRGF0YWJhc2VDb25uZWN0aW9uKTsKICAgICAgICAgQVNTRVJUKG1fdmVyc2lvbkNo
YW5nZVRyYW5zYWN0aW9uLT5vcmlnaW5hbERhdGFiYXNlSW5mbygpKTsKICAgICAgICAgbV9kYXRh
YmFzZUluZm8gPSBzdGQ6Om1ha2VfdW5pcXVlPElEQkRhdGFiYXNlSW5mbz4oKm1fdmVyc2lvbkNo
YW5nZVRyYW5zYWN0aW9uLT5vcmlnaW5hbERhdGFiYXNlSW5mbygpKTsKQEAgLTEwNjcsNyArMTA4
OCw3IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmRpZFBlcmZvcm1BYm9ydFRyYW5zYWN0aW9u
KHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwKIAogICAgIHBlcmZvcm1FcnJvckNhbGxiYWNr
KGNhbGxiYWNrSWRlbnRpZmllciwgZXJyb3IpOwogCi0gICAgaW5Qcm9ncmVzc1RyYW5zYWN0aW9u
Q29tcGxldGVkKHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CisgICAgdHJhbnNhY3Rpb25Db21wbGV0
ZWQoV1RGTW92ZSh0cmFuc2FjdGlvbikpOwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjp0
cmFuc2FjdGlvbkRlc3Ryb3llZChVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uJiB0cmFuc2Fj
dGlvbikKQEAgLTExMjcsNiArMTE0OCwxMSBAQCBib29sIFVuaXF1ZUlEQkRhdGFiYXNlOjppc0N1
cnJlbnRseUluVXNlKCkgY29uc3QKICAgICByZXR1cm4gIW1fb3BlbkRhdGFiYXNlQ29ubmVjdGlv
bnMuaXNFbXB0eSgpIHx8ICFtX2Nsb3NlUGVuZGluZ0RhdGFiYXNlQ29ubmVjdGlvbnMuaXNFbXB0
eSgpIHx8ICFtX3BlbmRpbmdPcGVuREJSZXF1ZXN0cy5pc0VtcHR5KCkgfHwgbV9jdXJyZW50T3Bl
bkRCUmVxdWVzdCB8fCBtX3ZlcnNpb25DaGFuZ2VEYXRhYmFzZUNvbm5lY3Rpb24gfHwgbV92ZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgbV9pc09wZW5pbmdCYWNraW5nU3RvcmUgfHwgbV9kZWxl
dGVCYWNraW5nU3RvcmVJblByb2dyZXNzOwogfQogCitib29sIFVuaXF1ZUlEQkRhdGFiYXNlOjpo
YXNVbmZpbmlzaGVkVHJhbnNhY3Rpb25zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1faW5Qcm9n
cmVzc1RyYW5zYWN0aW9ucy5pc0VtcHR5KCkgfHwgIW1fZmluaXNoaW5nVHJhbnNhY3Rpb25zLmlz
RW1wdHkoKTsKK30KKwogdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aW52b2tlT3BlcmF0aW9uQW5k
VHJhbnNhY3Rpb25UaW1lcigpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKCkiKTsKQEAgLTExNDQsNyAr
MTE3MCw3IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5zYWN0aW9u
VGltZXJGaXJlZCgpCiAgICAgLy8gQXNzdW1pbmcgaXQgaXMgbm90IGVwaGVtZXJhbCwgdGhlIHNl
cnZlciBzaG91bGQgbm93IGNsb3NlIGl0IHRvIGZyZWUgdXAgcmVzb3VyY2VzLgogICAgIGlmICgh
bV9iYWNraW5nU3RvcmVJc0VwaGVtZXJhbCAmJiAhaXNDdXJyZW50bHlJblVzZSgpKSB7CiAgICAg
ICAgIEFTU0VSVChtX3BlbmRpbmdUcmFuc2FjdGlvbnMuaXNFbXB0eSgpKTsKLSAgICAgICAgQVNT
RVJUKG1faW5Qcm9ncmVzc1RyYW5zYWN0aW9ucy5pc0VtcHR5KCkpOworICAgICAgICBBU1NFUlQo
IWhhc1VuZmluaXNoZWRUcmFuc2FjdGlvbnMoKSk7CiAgICAgICAgIG1fc2VydmVyLmNsb3NlVW5p
cXVlSURCRGF0YWJhc2UoKnRoaXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTIyMyw3
ICsxMjQ5LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBzY29wZXNPdmVybGFwKGNvbnN0
IFQmIGFTY29wZXMsIGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4KIFJlZlB0cjxVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uPiBVbmlxdWVJREJEYXRhYmFzZTo6dGFrZU5leHRSdW5uYWJsZVRyYW5z
YWN0aW9uKGJvb2wmIGhhZERlZmVycmVkVHJhbnNhY3Rpb25zKQogewogICAgIGhhZERlZmVycmVk
VHJhbnNhY3Rpb25zID0gZmFsc2U7Ci0gICAgaWYgKCFtX2JhY2tpbmdTdG9yZVN1cHBvcnRzU2lt
dWx0YW5lb3VzVHJhbnNhY3Rpb25zICYmICFtX2luUHJvZ3Jlc3NUcmFuc2FjdGlvbnMuaXNFbXB0
eSgpKSB7CisgICAgaWYgKCFtX2JhY2tpbmdTdG9yZVN1cHBvcnRzU2ltdWx0YW5lb3VzVHJhbnNh
Y3Rpb25zICYmIGhhc1VuZmluaXNoZWRUcmFuc2FjdGlvbnMoKSkgewogICAgICAgICBMT0coSW5k
ZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2U6OnRha2VOZXh0UnVubmFibGVUcmFuc2FjdGlvbiAt
IEJhY2tpbmcgc3RvcmUgb25seSBzdXBwb3J0cyAxIHRyYW5zYWN0aW9uLCBhbmQgd2UgYWxyZWFk
eSBoYXZlIDEiKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpAQCAtMTI3OSwxMCAr
MTMwNSwxMSBAQCBSZWZQdHI8VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbj4gVW5pcXVlSURC
RGF0YWJhc2U6OnRha2VOZXh0UnVubmFibGVUcmFuc2FjdAogICAgIHJldHVybiBjdXJyZW50VHJh
bnNhY3Rpb247CiB9CiAKLXZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmluUHJvZ3Jlc3NUcmFuc2Fj
dGlvbkNvbXBsZXRlZChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRl
bnRpZmllcikKK3ZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uQ29tcGxldGVkKFJl
ZlB0cjxVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uPiYmIHRyYW5zYWN0aW9uKQogewotICAg
IGF1dG8gdHJhbnNhY3Rpb24gPSBtX2luUHJvZ3Jlc3NUcmFuc2FjdGlvbnMudGFrZSh0cmFuc2Fj
dGlvbklkZW50aWZpZXIpOwogICAgIEFTU0VSVCh0cmFuc2FjdGlvbik7CisgICAgQVNTRVJUKCFt
X2luUHJvZ3Jlc3NUcmFuc2FjdGlvbnMuY29udGFpbnModHJhbnNhY3Rpb24tPmluZm8oKS5pZGVu
dGlmaWVyKCkpKTsKKyAgICBBU1NFUlQoIW1fZmluaXNoaW5nVHJhbnNhY3Rpb25zLmNvbnRhaW5z
KHRyYW5zYWN0aW9uLT5pbmZvKCkuaWRlbnRpZmllcigpKSk7CiAKICAgICBmb3IgKGF1dG8gb2Jq
ZWN0U3RvcmUgOiB0cmFuc2FjdGlvbi0+b2JqZWN0U3RvcmVJZGVudGlmaWVycygpKSB7CiAgICAg
ICAgIGlmICghdHJhbnNhY3Rpb24tPmlzUmVhZE9ubHkoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2Uu
aAppbmRleCA3ZmM2M2M4NDRiYmJlMDE2MTUxNDZhMWI4NTk1YzFiNGZkYTJiZjQ1Li5hZjIyNzI4
NTU1NTY5MmU2OTE4Njc2Y2I3N2FkZTg3ZDc1OWM4ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2Uu
aApAQCAtMTI0LDcgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1ZlcnNpb25DaGFuZ2VJ
blByb2dyZXNzKCk7CiAKICAgICB2b2lkIGFjdGl2YXRlVHJhbnNhY3Rpb25JbkJhY2tpbmdTdG9y
ZShVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uJik7Ci0gICAgdm9pZCBpblByb2dyZXNzVHJh
bnNhY3Rpb25Db21wbGV0ZWQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJik7CisgICAgdm9p
ZCB0cmFuc2FjdGlvbkNvbXBsZXRlZChSZWZQdHI8VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlv
bj4mJik7CiAKICAgICAvLyBEYXRhYmFzZSB0aHJlYWQgb3BlcmF0aW9ucwogICAgIHZvaWQgZGVs
ZXRlQmFja2luZ1N0b3JlKGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYpOwpAQCAtMTc2LDEx
ICsxNzYsMTQgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaGFzQW55UGVuZGluZ0NhbGxiYWNrcygp
IGNvbnN0OwogICAgIGJvb2wgaXNDdXJyZW50bHlJblVzZSgpIGNvbnN0OworICAgIGJvb2wgaGFz
VW5maW5pc2hlZFRyYW5zYWN0aW9ucygpIGNvbnN0OwogCiAgICAgdm9pZCBpbnZva2VPcGVyYXRp
b25BbmRUcmFuc2FjdGlvblRpbWVyKCk7CiAgICAgdm9pZCBvcGVyYXRpb25BbmRUcmFuc2FjdGlv
blRpbWVyRmlyZWQoKTsKICAgICBSZWZQdHI8VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbj4g
dGFrZU5leHRSdW5uYWJsZVRyYW5zYWN0aW9uKGJvb2wmIGhhZERlZmVycmVkVHJhbnNhY3Rpb25z
KTsKIAorICAgIGJvb2wgcHJlcGFyZVRvRmluaXNoVHJhbnNhY3Rpb24oVW5pcXVlSURCRGF0YWJh
c2VUcmFuc2FjdGlvbiYpOworCiAgICAgSURCU2VydmVyJiBtX3NlcnZlcjsKICAgICBJREJEYXRh
YmFzZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIApAQCAtMjExLDYgKzIxNCw3IEBAIHBy
aXZhdGU6CiAKICAgICBEZXF1ZTxSZWZQdHI8VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbj4+
IG1fcGVuZGluZ1RyYW5zYWN0aW9uczsKICAgICBIYXNoTWFwPElEQlJlc291cmNlSWRlbnRpZmll
ciwgUmVmUHRyPFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24+PiBtX2luUHJvZ3Jlc3NUcmFu
c2FjdGlvbnM7CisgICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxVbmlx
dWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uPj4gbV9maW5pc2hpbmdUcmFuc2FjdGlvbnM7CiAKICAg
ICAvLyBUaGUga2V5cyBpbnRvIHRoZXNlIHNldHMgYXJlIHRoZSBvYmplY3Qgc3RvcmUgSUQuCiAg
ICAgLy8gVGhlc2Ugc2V0cyBoZWxwIHRvIGRlY2lkZSB3aGljaCB0cmFuc2FjdGlvbnMgY2FuIGJl
IHN0YXJ0ZWQgYW5kIHdoaWNoIG11c3QgYmUgZGVmZXJyZWQuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>