<?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>41092</bug_id>
          
          <creation_ts>2010-06-23 12:14:26 -0700</creation_ts>
          <short_desc>Index validation caches buffer size information too aggressively</short_desc>
          <delta_ts>2010-06-28 10:43:48 -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>WebGL</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>41108</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gman</cc>
    
    <cc>oliver</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>242011</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-23 12:14:26 -0700</bug_when>
    <thetext>Gregg Tavares discovered that the index validation code is caching buffer size information too aggressively. If vertexAttribPointer is called with a given buffer which is not large enough to cover a given draw call, but is subsequently resized via bufferData, the draw call is failing rather than succeeding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242258</commentid>
    <comment_count>1</comment_count>
      <attachid>59605</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-23 19:46:48 -0700</bug_when>
    <thetext>Created attachment 59605
Patch

From the ChangeLog:

Do not cache the buffer size during vertexAttribPointer, only the attributes used to compute the number of required elements. Compute the number of valid elements each time based on the latched buffer.

Tested in Safari and Chromium on Mac OS X in both debug and release mode to ensure no performance regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243042</commentid>
    <comment_count>2</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2010-06-25 09:19:18 -0700</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243202</commentid>
    <comment_count>3</comment_count>
      <attachid>59605</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-06-25 14:33:08 -0700</bug_when>
    <thetext>Comment on attachment 59605
Patch

ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243768</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-28 10:42:00 -0700</bug_when>
    <thetext>Committed r62018: &lt;http://trac.webkit.org/changeset/62018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243769</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-28 10:43:48 -0700</bug_when>
    <thetext>Note that the patch landed was slightly different than the one reviewed due to merging with the fix for https://bugs.webkit.org/show_bug.cgi?id=41108 .</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59605</attachid>
            <date>2010-06-23 19:46:48 -0700</date>
            <delta_ts>2010-06-25 14:33:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>index-validation.patch</filename>
            <type>text/plain</type>
            <size>12213</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MTcyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDYtMjMgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
ZGV4IHZhbGlkYXRpb24gY2FjaGVzIGJ1ZmZlciBzaXplIGluZm9ybWF0aW9uIHRvbyBhZ2dyZXNz
aXZlbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQx
MDkyCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi13
aXRoLXJlc2l6ZWQtYnVmZmVyLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OnZhbGlkYXRlUmVuZGVyaW5nU3RhdGUpOgorICAgICAgICAgLSBDb21wdXRlIHRoZSBudW1i
ZXIgb2YgdmFsaWQgZWxlbWVudHMgZWFjaCB0aW1lIGJhc2VkIG9uIHRoZSBsYXRjaGVkIGJ1ZmZl
ci4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmli
UG9pbnRlcik6CisgICAgICAgICAtIERvIG5vdCBjYWNoZSB0aGUgYnVmZmVyIHNpemUsIG9ubHkg
dGhlIGF0dHJpYnV0ZXMgdXNlZCB0bworICAgICAgICAgICBjb21wdXRlIHRoZSBudW1iZXIgb2Yg
cmVxdWlyZWQgZWxlbWVudHMuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OlZlcnRl
eEF0dHJpYlN0YXRlOjpWZXJ0ZXhBdHRyaWJTdGF0ZSk6CisgICAgICAgICAtIERpdHRvLgorCiAy
MDEwLTA2LTIzICBBbGV4ZW5kYXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiA2MTcyNykKKysrIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzY2LDggKzc2NiwxMCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVS
ZW5kCiAgICAgaWYgKCFtX2N1cnJlbnRQcm9ncmFtKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICBpbnQgbnVtQXR0cmliU3RhdGVzID0gc3RhdGljX2Nhc3Q8aW50PihtX3ZlcnRleEF0dHJp
YlN0YXRlLnNpemUoKSk7CisKICAgICAvLyBMb29rIGluIGVhY2ggZW5hYmxlZCB2ZXJ0ZXggYXR0
cmliIGFuZCBjaGVjayBpZiB0aGV5J3ZlIGJlZW4gYm91bmQgdG8gYSBidWZmZXIuCi0gICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBtX3ZlcnRleEF0dHJpYlN0YXRlLnNpemUoKTsgKytpKSB7Cisg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1BdHRyaWJTdGF0ZXM7ICsraSkgewogICAgICAgICBp
ZiAobV92ZXJ0ZXhBdHRyaWJTdGF0ZVtpXS5lbmFibGVkCiAgICAgICAgICAgICAmJiAoIW1fdmVy
dGV4QXR0cmliU3RhdGVbaV0uYnVmZmVyQmluZGluZyB8fCAhbV92ZXJ0ZXhBdHRyaWJTdGF0ZVtp
XS5idWZmZXJCaW5kaW5nLT5vYmplY3QoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC03NzYsMTMgKzc3OCwyMSBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVS
ZW5kCiAgICAgLy8gTG9vayBpbiBlYWNoIGNvbnN1bWVkIHZlcnRleCBhdHRyaWIgKGJ5IHRoZSBj
dXJyZW50IHByb2dyYW0pIGFuZCBmaW5kIHRoZSBzbWFsbGVzdCBidWZmZXIgc2l6ZQogICAgIGxv
bmcgc21hbGxlc3ROdW1FbGVtZW50cyA9IExPTkdfTUFYOwogICAgIGludCBudW1BY3RpdmVBdHRy
aWJMb2NhdGlvbnMgPSBtX2N1cnJlbnRQcm9ncmFtLT5udW1BY3RpdmVBdHRyaWJMb2NhdGlvbnMo
KTsKLSAgICBpbnQgbnVtQXR0cmliU3RhdGVzID0gc3RhdGljX2Nhc3Q8aW50PihtX3ZlcnRleEF0
dHJpYlN0YXRlLnNpemUoKSk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1BY3RpdmVBdHRy
aWJMb2NhdGlvbnM7ICsraSkgewogICAgICAgICBpbnQgbG9jID0gbV9jdXJyZW50UHJvZ3JhbS0+
Z2V0QWN0aXZlQXR0cmliTG9jYXRpb24oaSk7CiAgICAgICAgIGlmIChsb2MgPj0wICYmIGxvYyA8
IG51bUF0dHJpYlN0YXRlcykgewogICAgICAgICAgICAgY29uc3QgVmVydGV4QXR0cmliU3RhdGUm
IHN0YXRlID0gbV92ZXJ0ZXhBdHRyaWJTdGF0ZVtsb2NdOwotICAgICAgICAgICAgaWYgKHN0YXRl
LmVuYWJsZWQgJiYgc3RhdGUubnVtRWxlbWVudHMgPCBzbWFsbGVzdE51bUVsZW1lbnRzKQotICAg
ICAgICAgICAgICAgIHNtYWxsZXN0TnVtRWxlbWVudHMgPSBzdGF0ZS5udW1FbGVtZW50czsKKyAg
ICAgICAgICAgIGlmIChzdGF0ZS5lbmFibGVkKSB7CisgICAgICAgICAgICAgICAgLy8gQXZvaWQg
b2ZmLWJ5LW9uZSBlcnJvcnMgaW4gbnVtRWxlbWVudHMgY29tcHV0YXRpb24uCisgICAgICAgICAg
ICAgICAgLy8gRm9yIHRoZSBsYXN0IGVsZW1lbnQsIHdlIHdpbGwgb25seSB0b3VjaCB0aGUgZGF0
YSBmb3IgdGhlCisgICAgICAgICAgICAgICAgLy8gZWxlbWVudCBhbmQgbm90aGluZyBiZXlvbmQg
aXQuCisgICAgICAgICAgICAgICAgbG9uZyBieXRlc1JlbWFpbmluZyA9IHN0YXRlLmJ1ZmZlckJp
bmRpbmctPmJ5dGVMZW5ndGgoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUikgLSBzdGF0
ZS5vZmZzZXQ7CisgICAgICAgICAgICAgICAgbG9uZyBudW1FbGVtZW50cyA9IDA7CisgICAgICAg
ICAgICAgICAgaWYgKGJ5dGVzUmVtYWluaW5nID49IHN0YXRlLmJ5dGVzUGVyRWxlbWVudCkKKyAg
ICAgICAgICAgICAgICAgICAgbnVtRWxlbWVudHMgPSAxICsgKGJ5dGVzUmVtYWluaW5nIC0gc3Rh
dGUuYnl0ZXNQZXJFbGVtZW50KSAvIHN0YXRlLnN0cmlkZTsKKyAgICAgICAgICAgICAgICBpZiAo
bnVtRWxlbWVudHMgPCBzbWFsbGVzdE51bUVsZW1lbnRzKQorICAgICAgICAgICAgICAgICAgICBz
bWFsbGVzdE51bUVsZW1lbnRzID0gbnVtRWxlbWVudHM7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICB9CiAgICAgCkBAIC0zMDU2LDE3ICszMDY2LDEwIEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp2ZXJ0ZXhBdHRyaWIKICAgICAgICAgCiAgICAgICAgIHZhbGlkYXRlZFN0cmlk
ZSA9IHN0cmlkZTsKICAgICB9Ci0KICAgICBtX3ZlcnRleEF0dHJpYlN0YXRlW2luZHhdLmJ1ZmZl
ckJpbmRpbmcgPSBtX2JvdW5kQXJyYXlCdWZmZXI7Ci0gICAgLy8gQXZvaWQgb2ZmLWJ5LW9uZSBl
cnJvcnMgaW4gbnVtRWxlbWVudHMgY29tcHV0YXRpb24uCi0gICAgLy8gRm9yIHRoZSBsYXN0IGVs
ZW1lbnQsIHdlIHdpbGwgb25seSB0b3VjaCB0aGUgZGF0YSBmb3IgdGhlCi0gICAgLy8gZWxlbWVu
dCBhbmQgbm90aGluZyBiZXlvbmQgaXQuCi0gICAgbG9uZyBieXRlc1JlbWFpbmluZyA9IG1fYm91
bmRBcnJheUJ1ZmZlci0+Ynl0ZUxlbmd0aChHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVS
KSAtIG9mZnNldDsKLSAgICBpZiAoYnl0ZXNSZW1haW5pbmcgPCBieXRlc1BlckVsZW1lbnQpCi0g
ICAgICAgIG1fdmVydGV4QXR0cmliU3RhdGVbaW5keF0ubnVtRWxlbWVudHMgPSAwOwotICAgIGVs
c2UKLSAgICAgICAgbV92ZXJ0ZXhBdHRyaWJTdGF0ZVtpbmR4XS5udW1FbGVtZW50cyA9IDEgKyAo
Ynl0ZXNSZW1haW5pbmcgLSBieXRlc1BlckVsZW1lbnQpIC8gdmFsaWRhdGVkU3RyaWRlOwotCisg
ICAgbV92ZXJ0ZXhBdHRyaWJTdGF0ZVtpbmR4XS5ieXRlc1BlckVsZW1lbnQgPSBieXRlc1BlckVs
ZW1lbnQ7CisgICAgbV92ZXJ0ZXhBdHRyaWJTdGF0ZVtpbmR4XS5zdHJpZGUgPSB2YWxpZGF0ZWRT
dHJpZGU7CisgICAgbV92ZXJ0ZXhBdHRyaWJTdGF0ZVtpbmR4XS5vZmZzZXQgPSBvZmZzZXQ7CiAg
ICAgbV9jb250ZXh0LT52ZXJ0ZXhBdHRyaWJQb2ludGVyKGluZHgsIHNpemUsIHR5cGUsIG5vcm1h
bGl6ZWQsIHN0cmlkZSwgb2Zmc2V0KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFs
c2UpOwogfQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5oCShyZXZpc2lvbiA2MTcyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1NCwxMCArMzU0LDEyIEBAIGNsYXNzIFdl
YktpdENTU01hdHJpeDsKICAgICAgICAgLy8gQ2FjaGVkIHZhbHVlcyBmb3IgdmVydGV4IGF0dHJp
YiByYW5nZSBjaGVja3MKICAgICAgICAgY2xhc3MgVmVydGV4QXR0cmliU3RhdGUgewogICAgICAg
ICBwdWJsaWM6Ci0gICAgICAgICAgICBWZXJ0ZXhBdHRyaWJTdGF0ZSgpIDogZW5hYmxlZChmYWxz
ZSksIG51bUVsZW1lbnRzKDApIHsgfQorICAgICAgICAgICAgVmVydGV4QXR0cmliU3RhdGUoKSA6
IGVuYWJsZWQoZmFsc2UpLCBieXRlc1BlckVsZW1lbnQoMCksIHN0cmlkZSgwKSwgb2Zmc2V0KDAp
IHsgfQogICAgICAgICAgICAgYm9vbCBlbmFibGVkOwotICAgICAgICAgICAgbG9uZyBudW1FbGVt
ZW50czsKICAgICAgICAgICAgIFJlZlB0cjxXZWJHTEJ1ZmZlcj4gYnVmZmVyQmluZGluZzsKKyAg
ICAgICAgICAgIGxvbmcgYnl0ZXNQZXJFbGVtZW50OworICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBzdHJpZGU7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG9mZnNldDsKICAgICAgICAgfTsK
ICAgICAgICAgCiAgICAgICAgIFZlY3RvcjxWZXJ0ZXhBdHRyaWJTdGF0ZT4gbV92ZXJ0ZXhBdHRy
aWJTdGF0ZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDYxNzI3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDYtMjMgIEtlbm5ldGgg
UnVzc2VsbCAgPGtickBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluZGV4IHZhbGlkYXRpb24gY2FjaGVzIGJ1ZmZlciBzaXplIGlu
Zm9ybWF0aW9uIHRvbyBhZ2dyZXNzaXZlbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQxMDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9p
bmRleC12YWxpZGF0aW9uLXdpdGgtcmVzaXplZC1idWZmZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXdpdGgtcmVzaXpl
ZC1idWZmZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanM6CisgICAgICAgIChhc3NlcnRNc2cpOgorICAgICAgICAoZ2xFcnJv
clNob3VsZEJlKToKKwogMjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24td2l0aC1yZXNpemVkLWJ1
ZmZlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi13aXRoLXJlc2l6ZWQtYnVmZmVyLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlk
YXRpb24td2l0aC1yZXNpemVkLWJ1ZmZlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB1cGRhdGluZyB0aGUgc2l6ZSBvZiBhIHZlcnRleCBidWZm
ZXIgaXMgcHJvcGVybHkgbm90aWNlZCBieSB0aGUgV2ViR0wgaW1wbGVtZW50YXRpb24uCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUmVncmVzc2lvbiB0ZXN0IGZvciBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwOTIgOiBJbmRleCB2YWxpZGF0aW9uIGNh
Y2hlcyBidWZmZXIgc2l6ZSBpbmZvcm1hdGlvbiB0b28gYWdncmVzc2l2ZWx5CitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBpbml0aWFsaXphdGlvbgor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgdmVydGV4
IHNldHVwCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRl
ciB0ZXh0dXJlIGNvb3JkIHNldHVwCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBhZnRlciB2ZXJ0ZXggcmVkZWZpbml0aW9uCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciB0ZXh0dXJlIGNvb3JkaW5hdGUgLyBjb2xv
ciByZWRlZmluaXRpb24KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IGFmdGVyIHNldHRpbmcgdXAgaW5kaWNlcworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZHJhd2luZworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi13aXRoLXJlc2l6ZWQtYnVmZmVyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi13
aXRoLXJlc2l6ZWQtYnVmZmVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXdpdGgtcmVzaXplZC1idWZmZXIuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy91dGlsczNkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjFweCIgaGVpZ2h0PSIxcHgiPjwvY2FudmFz
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQgaWQ9InZzIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUg
dmVjNCB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjNCB2Q29sb3I7Cit2YXJ5aW5nIHZlYzQgY29s
b3I7Cit2b2lkIG1haW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgY29s
b3IgPSB2Q29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KKyNpZiBkZWZpbmVkKEdMX0VTKQorcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7CisjZW5kaWYKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpIHsKKyAgZ2xfRnJh
Z0NvbG9yID0gY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dCB0aGF0IHVwZGF0aW5nIHRoZSBzaXplIG9mIGEgdmVydGV4IGJ1ZmZlciBpcyBwcm9wZXJseSBu
b3RpY2VkIGJ5IHRoZSBXZWJHTCBpbXBsZW1lbnRhdGlvbi4nKQorCitkZWJ1ZygnUmVncmVzc2lv
biB0ZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDEwOTIiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTA5Mjwv
YT4gOiA8Y29kZT5JbmRleCB2YWxpZGF0aW9uIGNhY2hlcyBidWZmZXIgc2l6ZSBpbmZvcm1hdGlv
biB0b28gYWdncmVzc2l2ZWx5PC9jb2RlPicpOworCit2YXIgZ2wgPSBpbml0V2ViR0woImV4YW1w
bGUiLCAidnMiLCAiZnMiLCBbInZQb3NpdGlvbiIsICJ2Q29sb3IiXSwgWzAsIDAsIDAsIDFdLCAx
KTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBpbml0aWFsaXphdGlv
biIpOworCitnbC51c2VQcm9ncmFtKGdsLnByb2dyYW0pOwordmFyIHZlcnRleE9iamVjdCA9IGds
LmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9i
amVjdCk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheSgK
KyAgICBbLTEsMSwwLCAxLDEsMCwgLTEsLTEsMCwKKyAgICAgLTEsLTEsMCwgMSwxLDAsIDEsLTEs
MF0pLCBnbC5TVEFUSUNfRFJBVyk7CitnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKK2ds
LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKK2dsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciB2ZXJ0ZXggc2V0dXAiKTsKKwordmFy
IHRleENvb3JkT2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVS
LCBuZXcgRmxvYXQzMkFycmF5KAorICAgIFswLDAsIDEsMCwgMCwxLAorICAgICAwLDEsIDEsMCwg
MSwxXSksIGdsLlNUQVRJQ19EUkFXKTsKK2dsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOwor
Z2wudmVydGV4QXR0cmliUG9pbnRlcigxLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIHRleHR1cmUgY29vcmQgc2V0dXAi
KTsKKworLy8gTm93IHJlc2l6ZSB0aGVzZSBidWZmZXJzIGJlY2F1c2Ugd2Ugd2FudCB0byBjaGFu
Z2Ugd2hhdCB3ZSdyZSBkcmF3aW5nLgorZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZl
cnRleE9iamVjdCk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJB
cnJheShbCisgICAgLTEsMSwwLCAxLDEsMCwgLTEsLTEsMCwgMSwtMSwwLAorICAgIC0xLDEsMCwg
MSwxLDAsIC0xLC0xLDAsIDEsLTEsMF0pLCBnbC5TVEFUSUNfRFJBVyk7CitnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgdmVydGV4IHJlZGVmaW5pdGlvbiIpOworZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHRleENvb3JkT2JqZWN0KTsKK2dsLmJ1ZmZlckRhdGEo
Z2wuQVJSQVlfQlVGRkVSLCBuZXcgVWludDhBcnJheShbCisgICAgMjU1LCAwLCAwLCAyNTUsCisg
ICAgMjU1LCAwLCAwLCAyNTUsCisgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgMjU1LCAwLCAwLCAy
NTUsCisgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgMCwgMjU1
LCAwLCAyNTUsCisgICAgMCwgMjU1LCAwLCAyNTVdKSwgZ2wuU1RBVElDX0RSQVcpOworZ2wudmVy
dGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJR05FRF9CWVRFLCBmYWxzZSwgMCwgMCk7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgdGV4dHVyZSBjb29yZGluYXRl
IC8gY29sb3IgcmVkZWZpbml0aW9uIik7CisKK3ZhciBudW1RdWFkcyA9IDI7Cit2YXIgaW5kaWNl
cyA9IG5ldyBVaW50OEFycmF5KG51bVF1YWRzICogNik7Citmb3IgKHZhciBpaSA9IDA7IGlpIDwg
bnVtUXVhZHM7ICsraWkpIHsKKyAgICB2YXIgb2Zmc2V0ID0gaWkgKiA2OworICAgIHZhciBxdWFk
ID0gKGlpID09IChudW1RdWFkcyAtIDEpKSA/IDQgOiAwOworICAgIGluZGljZXNbb2Zmc2V0ICsg
MF0gPSBxdWFkICsgMDsKKyAgICBpbmRpY2VzW29mZnNldCArIDFdID0gcXVhZCArIDE7CisgICAg
aW5kaWNlc1tvZmZzZXQgKyAyXSA9IHF1YWQgKyAyOworICAgIGluZGljZXNbb2Zmc2V0ICsgM10g
PSBxdWFkICsgMjsKKyAgICBpbmRpY2VzW29mZnNldCArIDRdID0gcXVhZCArIDE7CisgICAgaW5k
aWNlc1tvZmZzZXQgKyA1XSA9IHF1YWQgKyAzOworfQordmFyIGluZGV4T2JqZWN0ID0gZ2wuY3Jl
YXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRl
eE9iamVjdCk7CitnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRpY2Vz
LCBnbC5TVEFUSUNfRFJBVyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0
ZXIgc2V0dGluZyB1cCBpbmRpY2VzIik7CitnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCBu
dW1RdWFkcyAqIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgImFmdGVyIGRyYXdpbmciKTsKKworZGVidWcoIiIpCitzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzCShyZXZpc2lvbiA2MTcyNykKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksNCArMTE5LDIy
IEBAIGZ1bmN0aW9uIGFzc2VydE1zZyhhc3NlcnRpb24sIG1zZykgewogICAgICB9IGVsc2Ugewog
ICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CiAgICAgIH0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCit9CisKKy8qKgorICogVGVzdHMgdGhhdCB0aGUgZmlyc3QgZXJyb3IgR0wgcmV0dXJu
cyBpcyB0aGUgc3BlY2lmaWVkIGVycm9yLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBU
aGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBnbEVycm9yIFRoZSBl
eHBlY3RlZCBnbCBlcnJvci4KKyAqIEBwYXJhbSB7c3RyaW5nfSBvcHRfbXNnCisgKi8KK2Z1bmN0
aW9uIGdsRXJyb3JTaG91bGRCZShnbCwgZ2xFcnJvciwgb3B0X21zZykgeworICBvcHRfbXNnID0g
b3B0X21zZyB8fCAiIjsKKyAgdmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIGlmIChlcnIgIT0g
Z2xFcnJvcikgeworICAgIHRlc3RGYWlsZWQoImdldEVycm9yIGV4cGVjdGVkOiAiICsgZ2V0R0xF
cnJvckFzU3RyaW5nKGdsLCBnbEVycm9yKSArCisgICAgICAgICAgICAgICAiLiBXYXMgIiArIGdl
dEdMRXJyb3JBc1N0cmluZyhnbCwgZXJyKSArICIgOiAiICsgb3B0X21zZyk7CisgIH0gZWxzZSB7
CisgICAgdGVzdFBhc3NlZCgiZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiAiICsKKyAgICAg
ICAgICAgICAgICBnZXRHTEVycm9yQXNTdHJpbmcoZ2wsIGdsRXJyb3IpICsgIiA6ICIgKyBvcHRf
bXNnKTsKKyAgfQorfTsK
</data>
<flag name="review"
          id="46557"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="46558"
          type_id="3"
          status="-"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>