<?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>61963</bug_id>
          
          <creation_ts>2011-06-02 14:31:05 -0700</creation_ts>
          <short_desc>bindings/v8/DOMData.h/.cpp has numerous errors in processing DOMDataStores for different threads</short_desc>
          <delta_ts>2011-06-06 15:51:33 -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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>61016</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dmitry Lomov">dslomov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dslomov</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>414442</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-06-02 14:31:05 -0700</bug_when>
    <thetext>if (!store-&gt;domData()-&gt;owningThread() == WTF::currentThread())

(misplaced boolean negation)

and others</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414452</commentid>
    <comment_count>1</comment_count>
      <attachid>95812</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-06-02 14:37:03 -0700</bug_when>
    <thetext>Created attachment 95812
Fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414454</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-02 14:39:05 -0700</bug_when>
    <thetext>Attachment 95812 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/bindings/v8/DOMData.h:88:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414470</commentid>
    <comment_count>3</comment_count>
      <attachid>95815</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-06-02 14:50:37 -0700</bug_when>
    <thetext>Created attachment 95815
Style fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414522</commentid>
    <comment_count>4</comment_count>
      <attachid>95815</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-02 16:13:06 -0700</bug_when>
    <thetext>Comment on attachment 95815
Style fixes

Did you run the Dromeo DOM core benchmark on this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414523</commentid>
    <comment_count>5</comment_count>
      <attachid>95815</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-02 16:13:55 -0700</bug_when>
    <thetext>Comment on attachment 95815
Style fixes

In particular, WTF::currentThread() is very slow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414527</commentid>
    <comment_count>6</comment_count>
      <attachid>95815</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-06-02 16:23:05 -0700</bug_when>
    <thetext>Comment on attachment 95815
Style fixes

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

&gt; Source/WebCore/bindings/v8/DOMData.h:88
&gt; +            if (store-&gt;domData()-&gt;owningThread() != WTF::currentThread())

Actually I take back my r+. Why is this change correct?

How does this function get called on the wrong thread?  And if it get called on the wrong thread, won&apos;t there be problems since removeIfPresent wasn&apos;t called?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414552</commentid>
    <comment_count>7</comment_count>
      <attachid>95815</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-06-02 17:03:19 -0700</bug_when>
    <thetext>Comment on attachment 95815
Style fixes

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

&gt;&gt; Source/WebCore/bindings/v8/DOMData.h:88
&gt;&gt; +            if (store-&gt;domData()-&gt;owningThread() != WTF::currentThread())
&gt; 
&gt; Actually I take back my r+. Why is this change correct?
&gt; 
&gt; How does this function get called on the wrong thread?  And if it get called on the wrong thread, won&apos;t there be problems since removeIfPresent wasn&apos;t called?

This function only gets called on a wrong thread in (future) patch with Isolates, and currently DOM stores are affined to the threads.
But it is not a good function indeed - it accesses the stores list without a mutex anyway, so doesn&apos;t really work in multithreaded situation; and the above has performance problems.

I&apos;ll revert this bit, and restructure this for isolates in later fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95812</attachid>
            <date>2011-06-02 14:37:03 -0700</date>
            <delta_ts>2011-06-02 14:50:37 -0700</delta_ts>
            <desc>Fixes</desc>
            <filename>61963.patch</filename>
            <type>text/plain</type>
            <size>3616</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMjI2YTBhLi5lYWJmMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDIgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NjMKKyAgICAgICAgRml4ZXMgYSBzZXJpZXMg
b2YgbWlzdGFrZXMgaW4gaGFuZGxpbmcgRE9NRGF0YVN0b3JlcyBmb3IgZGlmZmVyZW50IHRocmVh
ZHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01EYXRhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpET01EYXRhOjpoYW5kbGVXZWFrT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERP
TU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2aXNpdERPTU5vZGVzSW5DdXJyZW50VGhyZWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OnZpc2l0RE9NT2JqZWN0c0luQ3VycmVudFRocmVhZCk6Cisg
ICAgICAgIChXZWJDb3JlOjp2aXNpdEFjdGl2ZURPTU9iamVjdHNJbkN1cnJlbnRUaHJlYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6dmlzaXRET01TVkdFbGVtZW50SW5zdGFuY2VzSW5DdXJyZW50VGhy
ZWFkKToKKwogMjAxMS0wNi0wMiAgQWxvayBQcml5YWRhcnNoaSAgPGFsb2twQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAppbmRleCBiMDQyNjA2Li5hNWI1YzE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC04NSw3ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxpc3Quc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIERPTURhdGFTdG9yZSogc3RvcmUg
PSBsaXN0W2ldOwotICAgICAgICAgICAgQVNTRVJUKHN0b3JlLT5kb21EYXRhKCktPm93bmluZ1Ro
cmVhZCgpID09IFdURjo6Y3VycmVudFRocmVhZCgpKTsKKyAgICAgICAgICAgIGlmIChzdG9yZS0+
ZG9tRGF0YSgpLT5vd25pbmdUaHJlYWQoKSAhPSBXVEY6OmN1cnJlbnRUaHJlYWQoKSkgY29udGlu
dWU7CiAKICAgICAgICAgICAgIERPTVdyYXBwZXJNYXA8VD4qIGRvbU1hcCA9IHN0YXRpY19jYXN0
PERPTVdyYXBwZXJNYXA8VD4qPihzdG9yZS0+Z2V0RE9NV3JhcHBlck1hcChtYXBUeXBlKSk7CiAg
ICAgICAgICAgICBpZiAoZG9tTWFwLT5yZW1vdmVJZlByZXNlbnQoZG9tT2JqZWN0LCB2OE9iamVj
dCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcAppbmRleCA0NmEyM2Ew
Li4xYjRkNjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1h
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuY3BwCkBAIC0x
MjAsNyArMTIwLDcgQEAgdm9pZCB2aXNpdERPTU5vZGVzSW5DdXJyZW50VGhyZWFkKERPTVdyYXBw
ZXJNYXA8Tm9kZT46OlZpc2l0b3IqIHZpc2l0b3IpCiAgICAgRE9NRGF0YUxpc3QmIGxpc3QgPSBE
T01EYXRhU3RvcmU6OmFsbFN0b3JlcygpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlz
dC5zaXplKCk7ICsraSkgewogICAgICAgICBET01EYXRhU3RvcmUqIHN0b3JlID0gbGlzdFtpXTsK
LSAgICAgICAgaWYgKCFzdG9yZS0+ZG9tRGF0YSgpLT5vd25pbmdUaHJlYWQoKSA9PSBXVEY6OmN1
cnJlbnRUaHJlYWQoKSkKKyAgICAgICAgaWYgKHN0b3JlLT5kb21EYXRhKCktPm93bmluZ1RocmVh
ZCgpICE9IFdURjo6Y3VycmVudFRocmVhZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAg
ICAgICAgc3RvcmUtPmRvbU5vZGVNYXAoKS52aXNpdChzdG9yZSwgdmlzaXRvcik7CkBAIC0xMzUs
NyArMTM1LDcgQEAgdm9pZCB2aXNpdERPTU9iamVjdHNJbkN1cnJlbnRUaHJlYWQoRE9NV3JhcHBl
ck1hcDx2b2lkPjo6VmlzaXRvciogdmlzaXRvcikKICAgICBET01EYXRhTGlzdCYgbGlzdCA9IERP
TURhdGFTdG9yZTo6YWxsU3RvcmVzKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0
LnNpemUoKTsgKytpKSB7CiAgICAgICAgIERPTURhdGFTdG9yZSogc3RvcmUgPSBsaXN0W2ldOwot
ICAgICAgICBpZiAoIXN0b3JlLT5kb21EYXRhKCktPm93bmluZ1RocmVhZCgpID09IFdURjo6Y3Vy
cmVudFRocmVhZCgpKQorICAgICAgICBpZiAoc3RvcmUtPmRvbURhdGEoKS0+b3duaW5nVGhyZWFk
KCkgIT0gV1RGOjpjdXJyZW50VGhyZWFkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAg
ICAgICBzdG9yZS0+ZG9tT2JqZWN0TWFwKCkudmlzaXQoc3RvcmUsIHZpc2l0b3IpOwpAQCAtMTUw
LDcgKzE1MCw3IEBAIHZvaWQgdmlzaXRBY3RpdmVET01PYmplY3RzSW5DdXJyZW50VGhyZWFkKERP
TVdyYXBwZXJNYXA8dm9pZD46OlZpc2l0b3IqIHZpc2l0b3IpCiAgICAgRE9NRGF0YUxpc3QmIGxp
c3QgPSBET01EYXRhU3RvcmU6OmFsbFN0b3JlcygpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbGlzdC5zaXplKCk7ICsraSkgewogICAgICAgICBET01EYXRhU3RvcmUqIHN0b3JlID0gbGlz
dFtpXTsKLSAgICAgICAgaWYgKCFzdG9yZS0+ZG9tRGF0YSgpLT5vd25pbmdUaHJlYWQoKSA9PSBX
VEY6OmN1cnJlbnRUaHJlYWQoKSkKKyAgICAgICAgaWYgKHN0b3JlLT5kb21EYXRhKCktPm93bmlu
Z1RocmVhZCgpICE9IFdURjo6Y3VycmVudFRocmVhZCgpKQogICAgICAgICAgICAgY29udGludWU7
CiAKICAgICAgICAgc3RvcmUtPmFjdGl2ZURvbU9iamVjdE1hcCgpLnZpc2l0KHN0b3JlLCB2aXNp
dG9yKTsKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIHZpc2l0RE9NU1ZHRWxlbWVudEluc3RhbmNl
c0luQ3VycmVudFRocmVhZChET01XcmFwcGVyTWFwPFNWR0VsZW1lbnRJbnN0YW5jZQogICAgIERP
TURhdGFMaXN0JiBsaXN0ID0gRE9NRGF0YVN0b3JlOjphbGxTdG9yZXMoKTsKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGxpc3Quc2l6ZSgpOyArK2kpIHsKICAgICAgICAgRE9NRGF0YVN0b3Jl
KiBzdG9yZSA9IGxpc3RbaV07Ci0gICAgICAgIGlmICghc3RvcmUtPmRvbURhdGEoKS0+b3duaW5n
VGhyZWFkKCkgPT0gV1RGOjpjdXJyZW50VGhyZWFkKCkpCisgICAgICAgIGlmIChzdG9yZS0+ZG9t
RGF0YSgpLT5vd25pbmdUaHJlYWQoKSAhPSBXVEY6OmN1cnJlbnRUaHJlYWQoKSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHN0b3JlLT5kb21TdmdFbGVtZW50SW5zdGFuY2VNYXAo
KS52aXNpdChzdG9yZSwgdmlzaXRvcik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95815</attachid>
            <date>2011-06-02 14:50:37 -0700</date>
            <delta_ts>2011-06-02 17:03:18 -0700</delta_ts>
            <desc>Style fixes</desc>
            <filename>61963.patch</filename>
            <type>text/plain</type>
            <size>3633</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMjI2YTBhLi5lYWJmMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDIgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NjMKKyAgICAgICAgRml4ZXMgYSBzZXJpZXMg
b2YgbWlzdGFrZXMgaW4gaGFuZGxpbmcgRE9NRGF0YVN0b3JlcyBmb3IgZGlmZmVyZW50IHRocmVh
ZHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01EYXRhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpET01EYXRhOjpoYW5kbGVXZWFrT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERP
TU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2aXNpdERPTU5vZGVzSW5DdXJyZW50VGhyZWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OnZpc2l0RE9NT2JqZWN0c0luQ3VycmVudFRocmVhZCk6Cisg
ICAgICAgIChXZWJDb3JlOjp2aXNpdEFjdGl2ZURPTU9iamVjdHNJbkN1cnJlbnRUaHJlYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6dmlzaXRET01TVkdFbGVtZW50SW5zdGFuY2VzSW5DdXJyZW50VGhy
ZWFkKToKKwogMjAxMS0wNi0wMiAgQWxvayBQcml5YWRhcnNoaSAgPGFsb2twQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAppbmRleCBiMDQyNjA2Li4wYWRlOTQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC04NSw3ICs4NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxpc3Quc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIERPTURhdGFTdG9yZSogc3RvcmUg
PSBsaXN0W2ldOwotICAgICAgICAgICAgQVNTRVJUKHN0b3JlLT5kb21EYXRhKCktPm93bmluZ1Ro
cmVhZCgpID09IFdURjo6Y3VycmVudFRocmVhZCgpKTsKKyAgICAgICAgICAgIGlmIChzdG9yZS0+
ZG9tRGF0YSgpLT5vd25pbmdUaHJlYWQoKSAhPSBXVEY6OmN1cnJlbnRUaHJlYWQoKSkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgRE9NV3JhcHBlck1hcDxUPiogZG9t
TWFwID0gc3RhdGljX2Nhc3Q8RE9NV3JhcHBlck1hcDxUPio+KHN0b3JlLT5nZXRET01XcmFwcGVy
TWFwKG1hcFR5cGUpKTsKICAgICAgICAgICAgIGlmIChkb21NYXAtPnJlbW92ZUlmUHJlc2VudChk
b21PYmplY3QsIHY4T2JqZWN0KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01NYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAu
Y3BwCmluZGV4IDQ2YTIzYTAuLjFiNGQ2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTU1hcC5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCB2b2lkIHZpc2l0RE9NTm9kZXNJbkN1cnJl
bnRUaHJlYWQoRE9NV3JhcHBlck1hcDxOb2RlPjo6VmlzaXRvciogdmlzaXRvcikKICAgICBET01E
YXRhTGlzdCYgbGlzdCA9IERPTURhdGFTdG9yZTo6YWxsU3RvcmVzKCk7CiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBsaXN0LnNpemUoKTsgKytpKSB7CiAgICAgICAgIERPTURhdGFTdG9yZSog
c3RvcmUgPSBsaXN0W2ldOwotICAgICAgICBpZiAoIXN0b3JlLT5kb21EYXRhKCktPm93bmluZ1Ro
cmVhZCgpID09IFdURjo6Y3VycmVudFRocmVhZCgpKQorICAgICAgICBpZiAoc3RvcmUtPmRvbURh
dGEoKS0+b3duaW5nVGhyZWFkKCkgIT0gV1RGOjpjdXJyZW50VGhyZWFkKCkpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBzdG9yZS0+ZG9tTm9kZU1hcCgpLnZpc2l0KHN0b3JlLCB2
aXNpdG9yKTsKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIHZpc2l0RE9NT2JqZWN0c0luQ3VycmVu
dFRocmVhZChET01XcmFwcGVyTWFwPHZvaWQ+OjpWaXNpdG9yKiB2aXNpdG9yKQogICAgIERPTURh
dGFMaXN0JiBsaXN0ID0gRE9NRGF0YVN0b3JlOjphbGxTdG9yZXMoKTsKICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGxpc3Quc2l6ZSgpOyArK2kpIHsKICAgICAgICAgRE9NRGF0YVN0b3JlKiBz
dG9yZSA9IGxpc3RbaV07Ci0gICAgICAgIGlmICghc3RvcmUtPmRvbURhdGEoKS0+b3duaW5nVGhy
ZWFkKCkgPT0gV1RGOjpjdXJyZW50VGhyZWFkKCkpCisgICAgICAgIGlmIChzdG9yZS0+ZG9tRGF0
YSgpLT5vd25pbmdUaHJlYWQoKSAhPSBXVEY6OmN1cnJlbnRUaHJlYWQoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCiAgICAgICAgIHN0b3JlLT5kb21PYmplY3RNYXAoKS52aXNpdChzdG9yZSwg
dmlzaXRvcik7CkBAIC0xNTAsNyArMTUwLDcgQEAgdm9pZCB2aXNpdEFjdGl2ZURPTU9iamVjdHNJ
bkN1cnJlbnRUaHJlYWQoRE9NV3JhcHBlck1hcDx2b2lkPjo6VmlzaXRvciogdmlzaXRvcikKICAg
ICBET01EYXRhTGlzdCYgbGlzdCA9IERPTURhdGFTdG9yZTo6YWxsU3RvcmVzKCk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBsaXN0LnNpemUoKTsgKytpKSB7CiAgICAgICAgIERPTURhdGFT
dG9yZSogc3RvcmUgPSBsaXN0W2ldOwotICAgICAgICBpZiAoIXN0b3JlLT5kb21EYXRhKCktPm93
bmluZ1RocmVhZCgpID09IFdURjo6Y3VycmVudFRocmVhZCgpKQorICAgICAgICBpZiAoc3RvcmUt
PmRvbURhdGEoKS0+b3duaW5nVGhyZWFkKCkgIT0gV1RGOjpjdXJyZW50VGhyZWFkKCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBzdG9yZS0+YWN0aXZlRG9tT2JqZWN0TWFwKCku
dmlzaXQoc3RvcmUsIHZpc2l0b3IpOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgdmlzaXRET01T
VkdFbGVtZW50SW5zdGFuY2VzSW5DdXJyZW50VGhyZWFkKERPTVdyYXBwZXJNYXA8U1ZHRWxlbWVu
dEluc3RhbmNlCiAgICAgRE9NRGF0YUxpc3QmIGxpc3QgPSBET01EYXRhU3RvcmU6OmFsbFN0b3Jl
cygpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdC5zaXplKCk7ICsraSkgewogICAg
ICAgICBET01EYXRhU3RvcmUqIHN0b3JlID0gbGlzdFtpXTsKLSAgICAgICAgaWYgKCFzdG9yZS0+
ZG9tRGF0YSgpLT5vd25pbmdUaHJlYWQoKSA9PSBXVEY6OmN1cnJlbnRUaHJlYWQoKSkKKyAgICAg
ICAgaWYgKHN0b3JlLT5kb21EYXRhKCktPm93bmluZ1RocmVhZCgpICE9IFdURjo6Y3VycmVudFRo
cmVhZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgc3RvcmUtPmRvbVN2Z0Vs
ZW1lbnRJbnN0YW5jZU1hcCgpLnZpc2l0KHN0b3JlLCB2aXNpdG9yKTsK
</data>
<flag name="review"
          id="89383"
          type_id="1"
          status="-"
          setter="levin"
    />
    <flag name="commit-queue"
          id="89384"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>