<?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>129947</bug_id>
          
          <creation_ts>2014-03-07 17:43:24 -0800</creation_ts>
          <short_desc>Fix bugs in 32-bit Structure implementation</short_desc>
          <delta_ts>2014-03-09 19:29:39 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>129318</blocked>
    
    <blocked>129996</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>988451</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-07 17:43:24 -0800</bug_when>
    <thetext>There were some bugs in the 32-bit Structures implementation landed for https://bugs.webkit.org/show_bug.cgi?id=123195 mostly in the form of not loading the Structure from JSCells before using them.  In some cases, this results in crashes.  In other cases, the bug results in incorrect behavior but has gone quietly undetected thus far.  This patch searches for uses of &quot;Structure::&quot; in the llint/, hit/, and dfg/ directories and ensure that the Structure was loaded from the JSCell in use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988453</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-07 17:44:55 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; There were some bugs in the 32-bit Structures implementation landed for https://bugs.webkit.org/show_bug.cgi?id=123195 mostly in the form of not loading the Structure from JSCells before using them.  In some cases, this results in crashes.  In other cases, the bug results in incorrect behavior but has gone quietly undetected thus far.  This patch searches for uses of &quot;Structure::&quot; in the llint/, hit/, and dfg/ directories and ensure that the Structure was loaded from the JSCell in use.

&quot;hit/&quot; ==&gt; &quot;jit/&quot;.  Darn spelling auto-correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988461</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-07 17:58:36 -0800</bug_when>
    <thetext>&lt;rdar://problem/16268223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988465</commentid>
    <comment_count>3</comment_count>
      <attachid>226195</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-07 18:07:33 -0800</bug_when>
    <thetext>Created attachment 226195
the patch: still needs a lot of testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988476</commentid>
    <comment_count>4</comment_count>
      <attachid>226195</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-03-07 19:03:00 -0800</bug_when>
    <thetext>Comment on attachment 226195
the patch: still needs a lot of testing.

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

r=me with required changes.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:4415
&gt; +            GPRTemporary scratch(this);

This is not correct. You can&apos;t start allocating registers after you&apos;ve already started doing control flow. You need to allocate this GPR up where the local/remote global object GPRs are allocated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988506</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-07 22:21:35 -0800</bug_when>
    <thetext>Thanks.  Fix has been applied as suggested.  Landed in r165325: &lt;http://trac.webkit.org/r165325&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226195</attachid>
            <date>2014-03-07 18:07:33 -0800</date>
            <delta_ts>2014-03-07 19:02:59 -0800</delta_ts>
            <desc>the patch: still needs a lot of testing.</desc>
            <filename>bug-129947.patch</filename>
            <type>text/plain</type>
            <size>8888</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1MzEwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE0LTAzLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggYnVncyBpbiAzMi1iaXQgU3RydWN0dXJlIGltcGxlbWVudGF0aW9uLgorICAgICAgICA8aHR0
cHM6Ly93ZWJraXQub3JnL2IvMTI5OTQ3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBsb2FkaW5nIG9mIHRoZSBTdHJ1Y3R1cmUgKGZy
b20gdGhlIEpTQ2VsbCkgYmVmb3JlIHVzZSB0aGF0IHdhcworICAgICAgICBtaXNzaW5nIGluIGEg
ZmV3IHBsYWNlcy4gIEFsc28gYWRkZWQgbW9yZSB0ZXN0IGNhc2VzIHRvIGVxdWFscy1tYXNxdWVy
YWRlci5qcy4KKworICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVOb25QZWVwaG9s
ZUNvbXBhcmVOdWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZl
bEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9lcXVhbHMtbWFz
cXVlcmFkZXIuanM6CisgICAgICAgIChlcXVhbHNOdWxsKToKKyAgICAgICAgKG5vdEVxdWFsc051
bGwpOgorICAgICAgICAoc3RyaWN0RXF1YWxzTnVsbCk6CisgICAgICAgIChzdHJpY3ROb3RFcXVh
bHNOdWxsKToKKyAgICAgICAgKGVxdWFsc1VuZGVmaW5lZCk6CisgICAgICAgIChub3RFcXVhbHNV
bmRlZmluZWQpOgorICAgICAgICAoc3RyaWN0RXF1YWxzVW5kZWZpbmVkKToKKyAgICAgICAgKHN0
cmljdE5vdEVxdWFsc1VuZGVmaW5lZCk6CisgICAgICAgIChpc0ZhbHNleSk6CisgICAgICAgICh0
ZXN0KToKKwogMjAxNC0wMy0wNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIENvbnRpbnVlIGhhbmdzIHdoZW4gcGVyZm9ybWluZyBmb3Itb2Ygb3ZlciBhcmd1bWVu
dHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTY1MjMyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5
LDYgKzI1OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9uUGUKICAg
ICAgICAgR1BSUmVnIGxvY2FsR2xvYmFsT2JqZWN0R1BSID0gbG9jYWxHbG9iYWxPYmplY3QuZ3By
KCk7CiAgICAgICAgIEdQUlJlZyByZW1vdGVHbG9iYWxPYmplY3RHUFIgPSByZW1vdGVHbG9iYWxP
YmplY3QuZ3ByKCk7CiAgICAgICAgIG1faml0Lm1vdmUoSklUQ29tcGlsZXI6OlRydXN0ZWRJbW1Q
dHIobV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3IobV9jdXJyZW50Tm9kZS0+b3JpZ2luLnNl
bWFudGljKSksIGxvY2FsR2xvYmFsT2JqZWN0R1BSKTsKKyAgICAgICAgbV9qaXQubG9hZFB0cihK
SVRDb21waWxlcjo6QWRkcmVzcyhhcmdQYXlsb2FkR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zm
c2V0KCkpLCByZXN1bHRQYXlsb2FkR1BSKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21w
aWxlcjo6QWRkcmVzcyhyZXN1bHRQYXlsb2FkR1BSLCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVjdE9m
ZnNldCgpKSwgcmVtb3RlR2xvYmFsT2JqZWN0R1BSKTsKICAgICAgICAgbV9qaXQuY29tcGFyZTMy
KGludmVydCA/IEpJVENvbXBpbGVyOjpOb3RFcXVhbCA6IEpJVENvbXBpbGVyOjpFcXVhbCwgbG9j
YWxHbG9iYWxPYmplY3RHUFIsIHJlbW90ZUdsb2JhbE9iamVjdEdQUiwgcmVzdWx0UGF5bG9hZEdQ
Uik7CiAgICAgfQpAQCAtNDEwMyw2ICs0MTA0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAgR1BSUmVnIGxvY2FsR2xvYmFsT2JqZWN0R1BS
ID0gbG9jYWxHbG9iYWxPYmplY3QuZ3ByKCk7CiAgICAgICAgICAgICBHUFJSZWcgcmVtb3RlR2xv
YmFsT2JqZWN0R1BSID0gcmVtb3RlR2xvYmFsT2JqZWN0LmdwcigpOwogICAgICAgICAgICAgbV9q
aXQubW92ZShUcnVzdGVkSW1tUHRyKG1faml0Lmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4u
c2VtYW50aWMpKSwgbG9jYWxHbG9iYWxPYmplY3RHUFIpOworICAgICAgICAgICAgbV9qaXQubG9h
ZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyh2YWx1ZS5wYXlsb2FkR1BSKCksIEpTQ2VsbDo6c3Ry
dWN0dXJlSURPZmZzZXQoKSksIHJlc3VsdC5ncHIoKSk7CiAgICAgICAgICAgICBtX2ppdC5sb2Fk
UHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdC5ncHIoKSwgU3RydWN0dXJlOjpnbG9iYWxP
YmplY3RPZmZzZXQoKSksIHJlbW90ZUdsb2JhbE9iamVjdEdQUik7IAogICAgICAgICAgICAgbV9q
aXQuY29tcGFyZTMyKEpJVENvbXBpbGVyOjpFcXVhbCwgbG9jYWxHbG9iYWxPYmplY3RHUFIsIHJl
bW90ZUdsb2JhbE9iamVjdEdQUiwgcmVzdWx0LmdwcigpKTsKICAgICAgICAgfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShy
ZXZpc2lvbiAxNjUyMzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDEyLDcgKzQ0MTIsOSBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBpc01hc3F1ZXJh
ZGVzQXNVbmRlZmluZWQubGluaygmbV9qaXQpOwogICAgICAgICAgICAgR1BSUmVnIGxvY2FsR2xv
YmFsT2JqZWN0R1BSID0gbG9jYWxHbG9iYWxPYmplY3QuZ3ByKCk7CiAgICAgICAgICAgICBHUFJS
ZWcgcmVtb3RlR2xvYmFsT2JqZWN0R1BSID0gcmVtb3RlR2xvYmFsT2JqZWN0LmdwcigpOworICAg
ICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgICAgICBtX2ppdC5t
b3ZlKFRydXN0ZWRJbW1QdHIobV9qaXQuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYykpLCBsb2NhbEdsb2JhbE9iamVjdEdQUik7CisgICAgICAgICAgICBtX2ppdC5lbWl0TG9h
ZFN0cnVjdHVyZSh2YWx1ZS5ncHIoKSwgcmVzdWx0LmdwcigpLCBzY3JhdGNoLmdwcigpKTsKICAg
ICAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0Lmdwcigp
LCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVjdE9mZnNldCgpKSwgcmVtb3RlR2xvYmFsT2JqZWN0R1BS
KTsgCiAgICAgICAgICAgICBtX2ppdC5jb21wYXJlUHRyKEpJVENvbXBpbGVyOjpFcXVhbCwgbG9j
YWxHbG9iYWxPYmplY3RHUFIsIHJlbW90ZUdsb2JhbE9iamVjdEdQUiwgcmVzdWx0LmdwcigpKTsK
ICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDE2NTIzMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3
b3JraW5nIGNvcHkpCkBAIC04NzgsNiArODc4LDcgQEAgX2xsaW50X29wX2VxX251bGw6CiAgICAg
bW92ZSAwLCB0MQogICAgIGptcCAub3BFcU51bGxOb3RJbW1lZGlhdGUKIC5vcEVxTnVsbE1hc3F1
ZXJhZGVzQXNVbmRlZmluZWQ6CisgICAgbG9hZHAgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwg
dDEKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1f
Z2xvYmFsT2JqZWN0W3QwXSwgdDAKICAgICBjcGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rb
dDFdLCB0MCwgdDEKQEAgLTkyNCw2ICs5MjUsNyBAQCBfbGxpbnRfb3BfbmVxX251bGw6CiAgICAg
bW92ZSAxLCB0MQogICAgIGptcCAub3BOZXFOdWxsTm90SW1tZWRpYXRlCiAub3BOZXFOdWxsTWFz
cXVlcmFkZXNBc1VuZGVmaW5lZDoKKyAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBd
LCB0MQogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAogICAgIGxvYWRwIENvZGVCbG9jazo6
bV9nbG9iYWxPYmplY3RbdDBdLCB0MAogICAgIGNwbmVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmpl
Y3RbdDFdLCB0MCwgdDEKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZXF1YWxzLW1hc3F1ZXJhZGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvZXF1YWxzLW1hc3F1ZXJhZGVyLmpzCShyZXZpc2lvbiAxNjUyMzIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VxdWFscy1tYXNxdWVyYWRlci5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMSwxMzEgQEAKLWZ1bmN0aW9uIGZvbyhvKSB7Citm
dW5jdGlvbiBlcXVhbHNOdWxsKG8pIHsKICAgICByZXR1cm4gbyA9PSBudWxsOwogfQogCi1ub0lu
bGluZShmb28pOworbm9JbmxpbmUoZXF1YWxzTnVsbCk7CiAKLWZ1bmN0aW9uIHRlc3Qob2JqZWN0
LCBvdXRjb21lKSB7Ci0gICAgdmFyIHJlc3VsdCA9IGZvbyhvYmplY3QpOworZnVuY3Rpb24gbm90
RXF1YWxzTnVsbChvKSB7CisgICAgcmV0dXJuIG8gIT0gbnVsbDsKK30KKworbm9JbmxpbmUobm90
RXF1YWxzTnVsbCk7CisKK2Z1bmN0aW9uIHN0cmljdEVxdWFsc051bGwobykgeworICAgIHJldHVy
biBvID09PSBudWxsOworfQorCitub0lubGluZShzdHJpY3RFcXVhbHNOdWxsKTsKKworZnVuY3Rp
b24gc3RyaWN0Tm90RXF1YWxzTnVsbChvKSB7CisgICAgcmV0dXJuIG8gIT09IG51bGw7Cit9CisK
K25vSW5saW5lKHN0cmljdE5vdEVxdWFsc051bGwpOworCitmdW5jdGlvbiBlcXVhbHNVbmRlZmlu
ZWQobykgeworICAgIHJldHVybiBvID09IHZvaWQgMDsKK30KKworbm9JbmxpbmUoZXF1YWxzVW5k
ZWZpbmVkKTsKKworZnVuY3Rpb24gbm90RXF1YWxzVW5kZWZpbmVkKG8pIHsKKyAgICByZXR1cm4g
byAhPSB2b2lkIDA7Cit9CisKK25vSW5saW5lKG5vdEVxdWFsc1VuZGVmaW5lZCk7CisKK2Z1bmN0
aW9uIHN0cmljdEVxdWFsc1VuZGVmaW5lZChvKSB7CisgICAgcmV0dXJuIG8gPT09IHZvaWQgMDsK
K30KKworbm9JbmxpbmUoc3RyaWN0RXF1YWxzVW5kZWZpbmVkKTsKKworZnVuY3Rpb24gc3RyaWN0
Tm90RXF1YWxzVW5kZWZpbmVkKG8pIHsKKyAgICByZXR1cm4gbyAhPT0gdm9pZCAwOworfQorCitu
b0lubGluZShzdHJpY3ROb3RFcXVhbHNOdWxsKTsKKworZnVuY3Rpb24gaXNGYWxzZXkobykgewor
ICAgIHJldHVybiAhbzsKK30KKworbm9JbmxpbmUoaXNGYWxzZXkpOworCitmdW5jdGlvbiB0ZXN0
KGZ1bmMsIGl0ZXJhdGlvbiwgb2JqZWN0LCBvdXRjb21lKSB7CisgICAgdmFyIHJlc3VsdCA9IGZ1
bmMob2JqZWN0KTsKICAgICBpZiAocmVzdWx0ICE9IG91dGNvbWUpCi0gICAgICAgIHRocm93IG5l
dyBFcnJvcigiQmFkIHJlc3VsdDogIiArIHJlc3VsdCk7CisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIHJlc3VsdDogIiArIHJlc3VsdCArICIgb24gaXRlcmF0aW9uICIgKyBpdGVyYXRpb24p
OworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdChlcXVh
bHNOdWxsLCBpLCBudWxsLCB0cnVlKTsKKyAgICB0ZXN0KGVxdWFsc051bGwsIGksIHVuZGVmaW5l
ZCwgdHJ1ZSk7CisgICAgdGVzdChlcXVhbHNOdWxsLCBpLCB2b2lkIDAsIHRydWUpOworICAgIHRl
c3QoZXF1YWxzTnVsbCwgaSwge30sIGZhbHNlKTsKKyAgICB0ZXN0KGVxdWFsc051bGwsIGksIG1h
a2VNYXNxdWVyYWRlcigpLCB0cnVlKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7
ICsraSkgeworICAgIHRlc3Qobm90RXF1YWxzTnVsbCwgaSwgbnVsbCwgZmFsc2UpOworICAgIHRl
c3Qobm90RXF1YWxzTnVsbCwgaSwgdW5kZWZpbmVkLCBmYWxzZSk7CisgICAgdGVzdChub3RFcXVh
bHNOdWxsLCBpLCB2b2lkIDAsIGZhbHNlKTsKKyAgICB0ZXN0KG5vdEVxdWFsc051bGwsIGksIHt9
LCB0cnVlKTsKKyAgICB0ZXN0KG5vdEVxdWFsc051bGwsIGksIG1ha2VNYXNxdWVyYWRlcigpLCBm
YWxzZSk7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB0ZXN0
KHN0cmljdEVxdWFsc051bGwsIGksIG51bGwsIHRydWUpOworICAgIHRlc3Qoc3RyaWN0RXF1YWxz
TnVsbCwgaSwgdW5kZWZpbmVkLCBmYWxzZSk7CisgICAgdGVzdChzdHJpY3RFcXVhbHNOdWxsLCBp
LCB2b2lkIDAsIGZhbHNlKTsKKyAgICB0ZXN0KHN0cmljdEVxdWFsc051bGwsIGksIHt9LCBmYWxz
ZSk7CisgICAgdGVzdChzdHJpY3RFcXVhbHNOdWxsLCBpLCBtYWtlTWFzcXVlcmFkZXIoKSwgZmFs
c2UpOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdChz
dHJpY3ROb3RFcXVhbHNOdWxsLCBpLCBudWxsLCBmYWxzZSk7CisgICAgdGVzdChzdHJpY3ROb3RF
cXVhbHNOdWxsLCBpLCB1bmRlZmluZWQsIHRydWUpOworICAgIHRlc3Qoc3RyaWN0Tm90RXF1YWxz
TnVsbCwgaSwgdm9pZCAwLCB0cnVlKTsKKyAgICB0ZXN0KHN0cmljdE5vdEVxdWFsc051bGwsIGks
IHt9LCB0cnVlKTsKKyAgICB0ZXN0KHN0cmljdE5vdEVxdWFsc051bGwsIGksIG1ha2VNYXNxdWVy
YWRlcigpLCB0cnVlKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewor
ICAgIHRlc3QoZXF1YWxzVW5kZWZpbmVkLCBpLCBudWxsLCB0cnVlKTsKKyAgICB0ZXN0KGVxdWFs
c1VuZGVmaW5lZCwgaSwgdW5kZWZpbmVkLCB0cnVlKTsKKyAgICB0ZXN0KGVxdWFsc1VuZGVmaW5l
ZCwgaSwgdm9pZCAwLCB0cnVlKTsKKyAgICB0ZXN0KGVxdWFsc1VuZGVmaW5lZCwgaSwge30sIGZh
bHNlKTsKKyAgICB0ZXN0KGVxdWFsc1VuZGVmaW5lZCwgaSwgbWFrZU1hc3F1ZXJhZGVyKCksIHRy
dWUpOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdChu
b3RFcXVhbHNVbmRlZmluZWQsIGksIG51bGwsIGZhbHNlKTsKKyAgICB0ZXN0KG5vdEVxdWFsc1Vu
ZGVmaW5lZCwgaSwgdW5kZWZpbmVkLCBmYWxzZSk7CisgICAgdGVzdChub3RFcXVhbHNVbmRlZmlu
ZWQsIGksIHZvaWQgMCwgZmFsc2UpOworICAgIHRlc3Qobm90RXF1YWxzVW5kZWZpbmVkLCBpLCB7
fSwgdHJ1ZSk7CisgICAgdGVzdChub3RFcXVhbHNVbmRlZmluZWQsIGksIG1ha2VNYXNxdWVyYWRl
cigpLCBmYWxzZSk7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAg
ICB0ZXN0KHN0cmljdEVxdWFsc1VuZGVmaW5lZCwgaSwgbnVsbCwgZmFsc2UpOworICAgIHRlc3Qo
c3RyaWN0RXF1YWxzVW5kZWZpbmVkLCBpLCB1bmRlZmluZWQsIHRydWUpOworICAgIHRlc3Qoc3Ry
aWN0RXF1YWxzVW5kZWZpbmVkLCBpLCB2b2lkIDAsIHRydWUpOworICAgIHRlc3Qoc3RyaWN0RXF1
YWxzVW5kZWZpbmVkLCBpLCB7fSwgZmFsc2UpOworICAgIHRlc3Qoc3RyaWN0RXF1YWxzVW5kZWZp
bmVkLCBpLCBtYWtlTWFzcXVlcmFkZXIoKSwgZmFsc2UpOworfQorCitmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdChzdHJpY3ROb3RFcXVhbHNVbmRlZmluZWQsIGks
IG51bGwsIHRydWUpOworICAgIHRlc3Qoc3RyaWN0Tm90RXF1YWxzVW5kZWZpbmVkLCBpLCB1bmRl
ZmluZWQsIGZhbHNlKTsKKyAgICB0ZXN0KHN0cmljdE5vdEVxdWFsc1VuZGVmaW5lZCwgaSwgdm9p
ZCAwLCBmYWxzZSk7CisgICAgdGVzdChzdHJpY3ROb3RFcXVhbHNVbmRlZmluZWQsIGksIHt9LCB0
cnVlKTsKKyAgICB0ZXN0KHN0cmljdE5vdEVxdWFsc1VuZGVmaW5lZCwgaSwgbWFrZU1hc3F1ZXJh
ZGVyKCksIHRydWUpOwogfQogCiBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7Ci0g
ICAgdGVzdChudWxsLCB0cnVlKTsKLSAgICB0ZXN0KHt9LCBmYWxzZSk7Ci0gICAgdGVzdChtYWtl
TWFzcXVlcmFkZXIoKSwgdHJ1ZSk7CisgICAgdGVzdChpc0ZhbHNleSwgaSwgbnVsbCwgdHJ1ZSk7
CisgICAgdGVzdChpc0ZhbHNleSwgaSwgdW5kZWZpbmVkLCB0cnVlKTsKKyAgICB0ZXN0KGlzRmFs
c2V5LCBpLCB2b2lkIDAsIHRydWUpOworICAgIHRlc3QoaXNGYWxzZXksIGksIHt9LCBmYWxzZSk7
CisgICAgdGVzdChpc0ZhbHNleSwgaSwgbWFrZU1hc3F1ZXJhZGVyKCksIHRydWUpOwogfQo=
</data>
<flag name="review"
          id="250396"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>