<?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>96872</bug_id>
          
          <creation_ts>2012-09-15 17:26:50 -0700</creation_ts>
          <short_desc>Structure check hoisting fails to consider the possibility of conflicting checks on the source of the first assignment to the hoisted variable</short_desc>
          <delta_ts>2012-09-17 11: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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>96907</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>721510</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-15 17:26:50 -0700</bug_when>
    <thetext>Here&apos;s the IR:

a: Foo()
b: SetLocal(@a, r1
c: CheckStructure(@a, &lt;blah&gt;)
d: PutStructure(@a, &lt;blih&gt;)
e: CheckStructure(@a, &lt;blih&gt;)

Some other block:
f: GetLocal(r1)
g: CheckStructure(@a, &lt;blih&gt;)

If we hoist the structure check for structure &lt;blih&gt;, we&apos;ll end up always OSR exiting since at the point of @b, the structure is still &lt;blah&gt;.  The reason for this omission in the due diligence of structure check hoister is that while it looks at all CheckStructures on GetLocals on r1, it fails to look at CheckStructures on @a.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721511</commentid>
    <comment_count>1</comment_count>
      <attachid>164298</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-15 17:34:58 -0700</bug_when>
    <thetext>Created attachment 164298
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721520</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-15 19:36:55 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/128699</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722095</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-17 11:23:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Landed in http://trac.webkit.org/changeset/128699

It made 2 tests assert on Qt - https://bugs.webkit.org/show_bug.cgi?id=96907
Could you check it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722123</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-17 11:51:33 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Landed in http://trac.webkit.org/changeset/128699
&gt; 
&gt; It made 2 tests assert on Qt - https://bugs.webkit.org/show_bug.cgi?id=96907
&gt; Could you check it, please?

I&apos;m on it.  It&apos;s confusing though - I don&apos;t see the assertions on Mac.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164298</attachid>
            <date>2012-09-15 17:34:58 -0700</date>
            <delta_ts>2012-09-15 18:58:45 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixstructhoist_patch_1.diff</filename>
            <type>text/plain</type>
            <size>8951</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4Njk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDEyLTA5LTE1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U3RydWN0dXJlIGNoZWNrIGhvaXN0aW5nIGZhaWxzIHRvIGNvbnNpZGVyIHRoZSBwb3NzaWJpbGl0
eSBvZiBjb25mbGljdGluZyBjaGVja3Mgb24gdGhlIHNvdXJjZSBvZiB0aGUgZmlyc3QgYXNzaWdu
bWVudCB0byB0aGUgaG9pc3RlZCB2YXJpYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGRvZXMgYSBmZXcgcmVsYXRlZCB0aGluZ3M6CisgICAg
ICAgIAorICAgICAgICAtIEl0IHR1cm5zIG9mZiB0aGUgdXNlIG9mIEZvcmNlT1NSRXhpdCBmb3Ig
c3VyZS10by1mYWlsIENoZWNrU3RydWN0dXJlcywgYmVjYXVzZQorICAgICAgICAgIEkgbm90aWNl
ZCB0aGF0IHRoaXMgd291bGQgc29tZXRpbWVzIGhhcHBlbiBmb3IgYSBGb3J3YXJkQ2hlY2tTdHJ1
Y3R1cmUuIFRoZQorICAgICAgICAgIHByb2JsZW0gaXMgdGhhdCBGb3JjZU9TUkV4aXQgZXhpdHMg
YmFja3dhcmRzLCBub3QgZm9yd2FyZHMuIFNpbmNlIHRoZSBjb2RlIHRoYXQKKyAgICAgICAgICBs
ZWQgdG8gdGhvc2UgRm9yY2VPU1JFeGl0J3MgYmVpbmcgaW5zZXJ0ZWQgd2FzIHdyaXR0ZW4gb3V0
IG9mIHBhcmFub2lhIHJhdGhlcgorICAgICAgICAgIHRoYW4gbmVlZCwgSSByZW1vdmVkIGl0LiBT
cGVjaWZpY2FsbHksIEkgcmVtb3ZlZCB0aGUgbV9pc1ZhbGlkID0gZmFsc2UgY29kZQorICAgICAg
ICAgIGZvciBDaGVja1N0cnVjdHVyZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludCBpbiBB
YnN0cmFjdFN0YXRlLgorICAgICAgICAKKyAgICAgICAgLSBJZiBhIHN0cnVjdHVyZSBjaGVjayBj
YXVzZXMgYSBzdHJ1Y3R1cmUgc2V0IHRvIGdvIGVtcHR5LCB3ZSBkb24ndCB3YW50IGEKKyAgICAg
ICAgICBQdXRTdHJ1Y3R1cmUgdG8gcmV2aXZlIHRoZSBzZXQuIEl0IHNob3VsZCBpbnN0ZWFkIGJl
IHNtYXJ0IGVub3VnaCB0byByZWFsaXplIAorICAgICAgICAgIHRoYXQgYW4gZW1wdHkgc2V0IGlt
cGxpZXMgdGhhdCB0aGUgY29kZSBjYW4ndCBleGVjdXRlLiBUaGlzIHdhcyB0aGUgb25seSAiYnVn
IgorICAgICAgICAgIHRoYXQgdGhlIHVzZSBvZiBtX2lzVmFsaWQgPSBmYWxzZSB3YXMgcHJldmVu
dGluZy4KKyAgICAgICAgCisgICAgICAgIC0gRmluYWxseSwgdGhlIG1haW4gY2hhbmdlOiBzdHJ1
Y3R1cmUgY2hlY2sgaG9pc3RpbmcgbG9va3MgYXQgdGhlIHNvdXJjZSBvZiB0aGUKKyAgICAgICAg
ICBTZXRMb2NhbHMgb24gc3RydWN0dXJlLWNoZWNrLWhvaXN0YWJsZSB2YXJpYWJsZXMgYW5kIGVu
c3VyZXMgdGhhdCB0aGUgc291cmNlCisgICAgICAgICAgaXMgbm90IGNoZWNrZWQgd2l0aCBhIGNv
bmZsaWN0aW5nIHN0cnVjdHVyZS4gVGhpcyBpcyBPKG5eMikgYnV0IGl0IGRvZXMgbm90CisgICAg
ICAgICAgc2hvdyB1cCBhdCBhbGwgaW4gcGVyZm9ybWFuY2UgdGVzdHMuCisgICAgICAgIAorICAg
ICAgICBUaGUgZmlyc3QgdHdvIHBhcnRzIG9mIHRoaXMgY2hhbmdlIHdlcmUgYXV4aWxpYXJ5IGJ1
Z3MgdGhhdCB3ZXJlIHJldmVhbGVkIGJ5CisgICAgICAgIHRoZSBzdHJ1Y3R1cmUgY2hlY2sgaG9p
c3RlciBkb2luZyBiYWQgdGhpbmdzLgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0U3RhdGUu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0U3RhdGU6OmluaXRpYWxpemUpOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0U3RhdGU6OmV4ZWN1dGUpOgorICAgICAgICAqIGRmZy9E
RkdTdHJ1Y3R1cmVDaGVja0hvaXN0aW5nUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0
cnVjdHVyZUNoZWNrSG9pc3RpbmdQaGFzZTo6cnVuKToKKwogMjAxMi0wOS0xNCAgRmlsaXAgUGl6
bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEFsbCBvZiB0aGUgdGhpbmdzIGluIFNw
YXJzZUFycmF5VmFsdWVNYXAgc2hvdWxkIGJlIG91dC1vZi1saW5lCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAJKHJldmlzaW9uIDEyODY5
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE0Nyw3ICsxNDcsMTMgQEAgdm9pZCBBYnN0cmFjdFN0YXRlOjppbml0
aWFsaXplKEdyYXBoJiBncgogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGdyYXBoLm1f
bXVzdEhhbmRsZVZhbHVlcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgQWJzdHJhY3RWYWx1
ZSB2YWx1ZTsKICAgICAgICAgICAgIHZhbHVlLnNldE1vc3RTcGVjaWZpYyhncmFwaC5tX211c3RI
YW5kbGVWYWx1ZXNbaV0pOwotICAgICAgICAgICAgYmxvY2stPnZhbHVlc0F0SGVhZC5vcGVyYW5k
KGdyYXBoLm1fbXVzdEhhbmRsZVZhbHVlcy5vcGVyYW5kRm9ySW5kZXgoaSkpLm1lcmdlKHZhbHVl
KTsKKyAgICAgICAgICAgIGludCBvcGVyYW5kID0gZ3JhcGgubV9tdXN0SGFuZGxlVmFsdWVzLm9w
ZXJhbmRGb3JJbmRleChpKTsKKyAgICAgICAgICAgIGJsb2NrLT52YWx1ZXNBdEhlYWQub3BlcmFu
ZChvcGVyYW5kKS5tZXJnZSh2YWx1ZSk7CisjaWYgREZHX0VOQUJMRShERUJVR19QUk9QQUdBVElP
Tl9WRVJCT1NFKQorICAgICAgICAgICAgZGF0YUxvZygiICAgIEluaXRpYWxpemluZyBCbG9jayAj
JXUsIG9wZXJhbmQgciVkLCB0byAiLCBibG9ja0luZGV4LCBvcGVyYW5kKTsKKyAgICAgICAgICAg
IGJsb2NrLT52YWx1ZXNBdEhlYWQub3BlcmFuZChvcGVyYW5kKS5kdW1wKFdURjo6ZGF0YUZpbGUo
KSk7CisgICAgICAgICAgICBkYXRhTG9nKCJcbiIpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAg
ICAgYmxvY2stPmNmYVNob3VsZFJldmlzaXQgPSB0cnVlOwogICAgIH0KQEAgLTEyOTMsMjAgKzEy
OTksNiBAQCBib29sIEFic3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5zaWduZWQgaW5kCiAgICAgICAg
ICAgICAhdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaXNTdWJzZXRPZihzZXQpCiAgICAg
ICAgICAgICB8fCAhaXNDZWxsU3BlY3VsYXRpb24odmFsdWUubV90eXBlKSk7CiAgICAgICAgIHZh
bHVlLmZpbHRlcihzZXQpOwotICAgICAgICAvLyBUaGlzIGlzIGxpa2VseSB0byBiZSB1bm5lY2Vz
c2FyeSwgYnV0IGl0J3MgY29uc2VydmF0aXZlLCBhbmQgdGhhdCdzIGEgZ29vZCB0aGluZy4KLSAg
ICAgICAgLy8gVGhpcyBpcyB0cnlpbmcgdG8gYXZvaWQgc2l0dWF0aW9ucyB3aGVyZSB0aGUgQ0ZB
IHByb3ZlcyB0aGF0IHRoaXMgc3RydWN0dXJlIGNoZWNrCi0gICAgICAgIC8vIG11c3QgZmFpbCBk
dWUgdG8gYSBmdXR1cmUgc3RydWN0dXJlIHByb29mLiBXZSBoYXZlIHR3byBvcHRpb25zIGF0IHRo
YXQgcG9pbnQuIFdlCi0gICAgICAgIC8vIGNhbiBlaXRoZXIgY29tcGlsZSBhbGwgc3Vic2VxdWVu
dCBjb2RlIGFzIHdlIHdvdWxkIG90aGVyd2lzZSwgb3Igd2UgY2FuIGVuc3VyZQotICAgICAgICAv
LyB0aGF0IHRoZSBzdWJzZXF1ZW50IGNvZGUgaXMgbmV2ZXIgcmVhY2hhYmxlLiBUaGUgZm9ybWVy
IGlzIGNvcnJlY3QgYmVjYXVzZSB0aGUKLSAgICAgICAgLy8gUHJvb2YgSXMgSW5mYWxsaWJsZSAo
VE0pIC0tIGhlbmNlIGV2ZW4gaWYgd2UgZG9uJ3QgZm9yY2UgdGhlIHN1YnNlcXVlbnQgY29kZSB0
bwotICAgICAgICAvLyBiZSB1bnJlYWNoYWJsZSwgaXQgbXVzdCBiZSB1bnJlYWNoYWJsZSBub25l
dGhlbGVzcy4gQnV0IGltYWdpbmUgd2hhdCB3b3VsZCBoYXBwZW4KLSAgICAgICAgLy8gaWYgdGhl
IHByb29mIHdhcyBib3JrZWQuIEluIHRoZSBmb3JtZXIgY2FzZSwgd2UnZCBnZXQgcmVhbGx5IGJp
emFycmUgYnVncyB3aGVyZQotICAgICAgICAvLyB3ZSBhc3N1bWVkIHRoYXQgdGhlIHN0cnVjdHVy
ZSBvZiB0aGlzIG9iamVjdCB3YXMga25vd24gZXZlbiB0aG91Z2ggaXQgd2Fzbid0LiBJbgotICAg
ICAgICAvLyB0aGUgbGF0dGVyIGNhc2UsIHdlJ2QgaGF2ZSBhIHNsaWdodCBwZXJmb3JtYW5jZSBw
YXRob2xvZ3kgYmVjYXVzZSB0aGlzIHdvdWxkIGJlCi0gICAgICAgIC8vIHR1cm5lZCBpbnRvIGFu
IE9TUiBleGl0IHVubmVjZXNzYXJpbHkuIFdoaWNoIHdvdWxkIHlvdSByYXRoZXIgaGF2ZT8KLSAg
ICAgICAgaWYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLmlzQ2xlYXIoKQotICAgICAg
ICAgICAgfHwgdmFsdWUubV9mdXR1cmVQb3NzaWJsZVN0cnVjdHVyZS5pc0NsZWFyKCkpCi0gICAg
ICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKICAgICAgICAgbV9oYXZlU3RydWN0dXJlcyA9IHRy
dWU7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEzMjUsMTAgKzEzMTcsNiBAQCBib29sIEFi
c3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5zaWduZWQgaW5kCiAgICAgICAgIAogICAgICAgICBBU1NF
UlQodmFsdWUuaXNDbGVhcigpIHx8IGlzQ2VsbFNwZWN1bGF0aW9uKHZhbHVlLm1fdHlwZSkpOyAv
LyBWYWx1ZSBjb3VsZCBiZSBjbGVhciBpZiB3ZSd2ZSBwcm92ZW4gbXVzdC1leGl0IGR1ZSB0byBh
IHNwZWN1bGF0aW9uIHN0YXRpY2FsbHkga25vd24gdG8gYmUgYmFkLgogICAgICAgICB2YWx1ZS5m
aWx0ZXIobm9kZS5zdHJ1Y3R1cmUoKSk7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50IGluIENoZWNr
U3RydWN0dXJlIGZvciB3aHkgdGhpcyBpcyBoZXJlLgotICAgICAgICBpZiAodmFsdWUubV9jdXJy
ZW50S25vd25TdHJ1Y3R1cmUuaXNDbGVhcigpCi0gICAgICAgICAgICB8fCB2YWx1ZS5tX2Z1dHVy
ZVBvc3NpYmxlU3RydWN0dXJlLmlzQ2xlYXIoKSkKLSAgICAgICAgICAgIG1faXNWYWxpZCA9IGZh
bHNlOwogICAgICAgICBtX2hhdmVTdHJ1Y3R1cmVzID0gdHJ1ZTsKICAgICAgICAgbm9kZS5zZXRD
YW5FeGl0KHRydWUpOwogICAgICAgICBicmVhazsKQEAgLTEzMzcsOSArMTMyNSwxMSBAQCBib29s
IEFic3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5zaWduZWQgaW5kCiAgICAgY2FzZSBQdXRTdHJ1Y3R1
cmU6CiAgICAgY2FzZSBQaGFudG9tUHV0U3RydWN0dXJlOgogICAgICAgICBub2RlLnNldENhbkV4
aXQoZmFsc2UpOwotICAgICAgICBjbG9iYmVyU3RydWN0dXJlcyhpbmRleEluQmxvY2spOwotICAg
ICAgICBmb3JOb2RlKG5vZGUuY2hpbGQxKCkpLnNldChub2RlLnN0cnVjdHVyZVRyYW5zaXRpb25E
YXRhKCkubmV3U3RydWN0dXJlKTsKLSAgICAgICAgbV9oYXZlU3RydWN0dXJlcyA9IHRydWU7Cisg
ICAgICAgIGlmICghZm9yTm9kZShub2RlLmNoaWxkMSgpKS5tX2N1cnJlbnRLbm93blN0cnVjdHVy
ZS5pc0NsZWFyKCkpIHsKKyAgICAgICAgICAgIGNsb2JiZXJTdHJ1Y3R1cmVzKGluZGV4SW5CbG9j
ayk7CisgICAgICAgICAgICBmb3JOb2RlKG5vZGUuY2hpbGQxKCkpLnNldChub2RlLnN0cnVjdHVy
ZVRyYW5zaXRpb25EYXRhKCkubmV3U3RydWN0dXJlKTsKKyAgICAgICAgICAgIG1faGF2ZVN0cnVj
dHVyZXMgPSB0cnVlOworICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgR2V0QnV0
dGVyZmx5OgogICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZUNoZWNrSG9pc3RpbmdQaGFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVDaGVja0hv
aXN0aW5nUGhhc2UuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1N0cnVjdHVyZUNoZWNrSG9pc3RpbmdQaGFzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY3LDcgKzY3LDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGlmICghbm9kZS5zaG91
bGRHZW5lcmF0ZSgpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
ICAgICBzd2l0Y2ggKG5vZGUub3AoKSkgewotICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1
Y3R1cmU6IHsKKyAgICAgICAgICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgorICAgICAgICAg
ICAgICAgIGNhc2UgU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQ6IHsKICAgICAgICAgICAg
ICAgICAgICAgTm9kZSYgY2hpbGQgPSBtX2dyYXBoW25vZGUuY2hpbGQxKCldOwogICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hpbGQub3AoKSAhPSBHZXRMb2NhbCkKICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtOTEsNyArOTIsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
Y2FzZSBHZXRCeU9mZnNldDoKICAgICAgICAgICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0OgogICAg
ICAgICAgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOgotICAgICAgICAgICAgICAgIGNhc2UgU3Ry
dWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQ6CiAgICAgICAgICAgICAgICAgY2FzZSBBbGxvY2F0
ZVByb3BlcnR5U3RvcmFnZToKICAgICAgICAgICAgICAgICBjYXNlIFJlYWxsb2NhdGVQcm9wZXJ0
eVN0b3JhZ2U6CiAgICAgICAgICAgICAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CkBAIC0xMDUsNiAr
MTA1LDQwIEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGhl
c2UgdXNlcy4KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIGNhc2UgU2V0TG9jYWw6IHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gRmluZCBhbGwgdXNlcyBvZiB0aGUgc291cmNlIG9mIHRoZSBTZXRMb2NhbC4gSWYgYW55IG9m
IHRoZW0gYXJlIGEKKyAgICAgICAgICAgICAgICAgICAgLy8ga2luZCBvZiBDaGVja1N0cnVjdHVy
ZSwgdGhlbiB3ZSBzaG91bGQgbm90aWNlIHRoZW0gdG8gZW5zdXJlIHRoYXQKKyAgICAgICAgICAg
ICAgICAgICAgLy8gd2UncmUgbm90IGhvaXN0aW5nIGEgY2hlY2sgdGhhdCB3b3VsZCBjb250cmF2
ZW5lIGNoZWNrcyB0aGF0IGFyZQorICAgICAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGJlaW5n
IHBlcmZvcm1lZC4KKyAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVBY2Nlc3NEYXRhKiB2YXJp
YWJsZSA9IG5vZGUudmFyaWFibGVBY2Nlc3NEYXRhKCk7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh2YXJpYWJsZS0+aXNDYXB0dXJlZCgpIHx8IHZhcmlhYmxlLT5zdHJ1Y3R1cmVDaGVja0hvaXN0
aW5nRmFpbGVkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFpc0NlbGxTcGVjdWxhdGlvbih2YXJpYWJsZS0+cHJlZGljdGlvbigpKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBOb2Rl
SW5kZXggc291cmNlID0gbm9kZS5jaGlsZDEoKS5pbmRleCgpOworICAgICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIHN1YkluZGV4SW5CbG9jayA9IDA7IHN1YkluZGV4SW5CbG9jayA8IGJs
b2NrLT5zaXplKCk7ICsrc3ViSW5kZXhJbkJsb2NrKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBOb2RlSW5kZXggc3ViTm9kZUluZGV4ID0gYmxvY2stPmF0KHN1YkluZGV4SW5CbG9jayk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBOb2RlJiBzdWJOb2RlID0gbV9ncmFwaFtzdWJOb2RlSW5k
ZXhdOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWJOb2RlLnNob3VsZEdlbmVyYXRl
KCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAg
ICAgICAgICAgICBzd2l0Y2ggKHN1Yk5vZGUub3AoKSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgY2FzZSBDaGVja1N0cnVjdHVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgU3Ry
dWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQ6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoc3ViTm9kZS5jaGlsZDEoKS5pbmRleCgpICE9IHNvdXJjZSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWNlU3RydWN0dXJlQ2hlY2sodmFyaWFibGUs
IHN1Yk5vZGUuc3RydWN0dXJlU2V0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52b3RlKG5vZGUsIFZvdGVPdGhlcik7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAg
bV9ncmFwaC52b3RlKG5vZGUsIFZvdGVPdGhlcik7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFr
Owo=
</data>
<flag name="review"
          id="176028"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>