<?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>25121</bug_id>
          
          <creation_ts>2009-04-09 14:11:29 -0700</creation_ts>
          <short_desc>Upstream changes to handle error messages from V8 when running worker script.</short_desc>
          <delta_ts>2009-04-13 13:23:18 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jianli</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>117072</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-09 14:11:29 -0700</bug_when>
    <thetext>Upstream changes to handle error messages from V8 when running worker script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117114</commentid>
    <comment_count>1</comment_count>
      <attachid>29384</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-09 17:32:11 -0700</bug_when>
    <thetext>Created attachment 29384
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117123</commentid>
    <comment_count>2</comment_count>
      <attachid>29384</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-09 22:54:44 -0700</bug_when>
    <thetext>Comment on attachment 29384
Proposed Patch

LGTM

&gt; +    // Do the one-time initialization.
&gt; +    static bool v8Initialized = false;
&gt; +    if (!v8Initialized) {
&gt; +        // Tells V8 not to call the default OOM handler, binding code will handle it.
&gt; +        v8::V8::IgnoreOutOfMemoryException();
&gt; +        v8::V8::SetFatalErrorHandler(reportFatalErrorInV8);
&gt; +        
&gt; +        v8::V8::AddMessageListener(handleConsoleMessage);
&gt; +        
&gt; +        v8Initialized = true;
&gt; +    }

Is there really no worry about multiple threads running this code at the same time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117166</commentid>
    <comment_count>3</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-10 13:03:58 -0700</bug_when>
    <thetext>It is now possible since we turn on v8 preemption although the chance is extremely small. I am working on a fix for this one. Thanks.

(In reply to comment #2)
&gt; (From update of attachment 29384 [review])
&gt; LGTM
&gt; 
&gt; &gt; +    // Do the one-time initialization.
&gt; &gt; +    static bool v8Initialized = false;
&gt; &gt; +    if (!v8Initialized) {
&gt; &gt; +        // Tells V8 not to call the default OOM handler, binding code will handle it.
&gt; &gt; +        v8::V8::IgnoreOutOfMemoryException();
&gt; &gt; +        v8::V8::SetFatalErrorHandler(reportFatalErrorInV8);
&gt; &gt; +        
&gt; &gt; +        v8::V8::AddMessageListener(handleConsoleMessage);
&gt; &gt; +        
&gt; &gt; +        v8Initialized = true;
&gt; &gt; +    }
&gt; 
&gt; Is there really no worry about multiple threads running this code at the same
&gt; time?
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117191</commentid>
    <comment_count>4</comment_count>
      <attachid>29404</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-10 15:46:37 -0700</bug_when>
    <thetext>Created attachment 29404
Proposed Patch

I fixed the threading problem. Please take a look again. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117332</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-04-13 13:23:18 -0700</bug_when>
    <thetext>Landed: http://trac.webkit.org/changeset/42452</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29384</attachid>
            <date>2009-04-09 17:32:11 -0700</date>
            <delta_ts>2009-04-10 15:46:37 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>25121</filename>
            <type>text/plain</type>
            <size>2987</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Yzc4ZWJhNi4uNmE0MDNjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAwOS0wNC0wOSAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1MTIx
CisgICAgICAgIFVwc3RyZWFtIGNoYW5nZXMgdG8gaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20g
Vjggd2hlbiBydW5uaW5nIHdvcmtlciBzY3JpcHQuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0
RmF0YWxFcnJvckluVjgpOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlQ29uc29sZU1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojppbml0Q29u
dGV4dElmTmVlZGVkKToKKworMjAwOS0wNC0wOSAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5v
cmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA4NApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCmluZGV4IDZh
ZGZkYmYuLmJhNThlNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTQ5LDYgKzQ5LDMzIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogc3RhdGljIGJvb2wgaXNXb3JrZXJzRW5hYmxlZCA9IGZhbHNlOwogCitzdGF0aWMg
dm9pZCByZXBvcnRGYXRhbEVycm9ySW5WOChjb25zdCBjaGFyKiBsb2NhdGlvbiwgY29uc3QgY2hh
ciogbWVzc2FnZSkKK3sKKyAgICAvLyBGSVhNRTogV2UgdGVtcG9yYXJpbHkgZGVhbCB3aXRoIFY4
IGludGVybmFsIGVycm9yIHNpdHVhdGlvbnMgc3VjaCBhcyBvdXQtb2YtbWVtb3J5IGJ5IGNyYXNo
aW5nIHRoZSB3b3JrZXIuCisgICAgQ1JBU0goKTsKK30KKworc3RhdGljIHZvaWQgaGFuZGxlQ29u
c29sZU1lc3NhZ2Uodjg6OkhhbmRsZTx2ODo6TWVzc2FnZT4gbWVzc2FnZSwgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGRhdGEpCit7CisgICAgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KiBwcm94
eSA9IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6cmV0cmlldmUoKTsKKyAgICBpZiAoIXBy
b3h5KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgV29ya2VyQ29udGV4dCogd29ya2VyQ29u
dGV4dCA9IHByb3h5LT53b3JrZXJDb250ZXh0KCk7CisgICAgaWYgKCF3b3JrZXJDb250ZXh0KQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBlcnJvck1l
c3NhZ2VTdHJpbmcgPSBtZXNzYWdlLT5HZXQoKTsKKyAgICBBU1NFUlQoIWVycm9yTWVzc2FnZVN0
cmluZy5Jc0VtcHR5KCkpOworICAgIFN0cmluZyBlcnJvck1lc3NhZ2UgPSBUb1dlYkNvcmVTdHJp
bmcoZXJyb3JNZXNzYWdlU3RyaW5nKTsKKyAgICAKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
cmVzb3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0U2NyaXB0UmVzb3VyY2VOYW1lKCk7CisgICAgYm9v
bCB1c2VVUkwgPSAocmVzb3VyY2VOYW1lLklzRW1wdHkoKSB8fCAhcmVzb3VyY2VOYW1lLT5Jc1N0
cmluZygpKTsKKyAgICBTdHJpbmcgcmVzb3VyY2VOYW1lU3RyaW5nID0gdXNlVVJMID8gd29ya2Vy
Q29udGV4dC0+dXJsKCkgOiBUb1dlYkNvcmVTdHJpbmcocmVzb3VyY2VOYW1lKTsKKyAgICAKKyAg
ICB3b3JrZXJDb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdl
U291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBtZXNzYWdlLT5HZXRMaW5l
TnVtYmVyKCksIHJlc291cmNlTmFtZVN0cmluZyk7Cit9CisKIGJvb2wgV29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5Ojppc1dlYldvcmtlcnNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gaXNXb3Jr
ZXJzRW5hYmxlZDsKQEAgLTEyOSw2ICsxNTYsMTggQEAgdm9pZCBXb3JrZXJDb250ZXh0RXhlY3V0
aW9uUHJveHk6OmluaXRDb250ZXh0SWZOZWVkZWQoKQogICAgIGlmICghbV9jb250ZXh0LklzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gRG8gdGhlIG9uZS10aW1lIGluaXRpYWxp
emF0aW9uLgorICAgIHN0YXRpYyBib29sIHY4SW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBpZiAo
IXY4SW5pdGlhbGl6ZWQpIHsKKyAgICAgICAgLy8gVGVsbHMgVjggbm90IHRvIGNhbGwgdGhlIGRl
ZmF1bHQgT09NIGhhbmRsZXIsIGJpbmRpbmcgY29kZSB3aWxsIGhhbmRsZSBpdC4KKyAgICAgICAg
djg6OlY4OjpJZ25vcmVPdXRPZk1lbW9yeUV4Y2VwdGlvbigpOworICAgICAgICB2ODo6Vjg6OlNl
dEZhdGFsRXJyb3JIYW5kbGVyKHJlcG9ydEZhdGFsRXJyb3JJblY4KTsKKyAgICAgICAgCisgICAg
ICAgIHY4OjpWODo6QWRkTWVzc2FnZUxpc3RlbmVyKGhhbmRsZUNvbnNvbGVNZXNzYWdlKTsKKyAg
ICAgICAgCisgICAgICAgIHY4SW5pdGlhbGl6ZWQgPSB0cnVlOworICAgIH0KKyAgICAKICAgICAv
LyBDcmVhdGUgYSBuZXcgZW52aXJvbm1lbnQKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
VGVtcGxhdGU+IGdsb2JhbFRlbXBsYXRlOwogICAgIG1fY29udGV4dCA9IHY4OjpDb250ZXh0OjpO
ZXcoMCwgZ2xvYmFsVGVtcGxhdGUpOwo=
</data>
<flag name="review"
          id="14610"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29404</attachid>
            <date>2009-04-10 15:46:37 -0700</date>
            <delta_ts>2009-04-13 11:20:11 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>25121_3</filename>
            <type>text/plain</type>
            <size>6547</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Yzc4ZWJhNi4uYTlmMGZiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wNC0xMCAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1MTIx
CisgICAgICAgIFVwc3RyZWFtIGNoYW5nZXMgdG8gaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20g
Vjggd2hlbiBydW5uaW5nIHdvcmtlciBzY3JpcHQuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0
RmF0YWxFcnJvckluVjgpOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlQ29uc29sZU1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpXb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5OjpkaXNwb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRF
eGVjdXRpb25Qcm94eTo6aW5pdFY4SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5Ojppbml0Q29udGV4dElmTmVlZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oOgorCiAyMDA5LTA0LTA5
ICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
aW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eS5jcHAKaW5kZXggNmFkZmRiZi4uNDVlMzYyZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcApAQCAt
NDksNiArNDksMzMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBpc1dvcmtl
cnNFbmFibGVkID0gZmFsc2U7CiAKK3N0YXRpYyB2b2lkIHJlcG9ydEZhdGFsRXJyb3JJblY4KGNv
bnN0IGNoYXIqIGxvY2F0aW9uLCBjb25zdCBjaGFyKiBtZXNzYWdlKQoreworICAgIC8vIEZJWE1F
OiBXZSB0ZW1wb3JhcmlseSBkZWFsIHdpdGggVjggaW50ZXJuYWwgZXJyb3Igc2l0dWF0aW9ucyBz
dWNoIGFzIG91dC1vZi1tZW1vcnkgYnkgY3Jhc2hpbmcgdGhlIHdvcmtlci4KKyAgICBDUkFTSCgp
OworfQorCitzdGF0aWMgdm9pZCBoYW5kbGVDb25zb2xlTWVzc2FnZSh2ODo6SGFuZGxlPHY4OjpN
ZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGF0YSkKK3sKKyAgICBXb3Jr
ZXJDb250ZXh0RXhlY3V0aW9uUHJveHkqIHByb3h5ID0gV29ya2VyQ29udGV4dEV4ZWN1dGlvblBy
b3h5OjpyZXRyaWV2ZSgpOworICAgIGlmICghcHJveHkpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0ID0gcHJveHktPndvcmtlckNvbnRleHQo
KTsKKyAgICBpZiAoIXdvcmtlckNvbnRleHQpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICB2
ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGVycm9yTWVzc2FnZVN0cmluZyA9IG1lc3NhZ2UtPkdldCgp
OworICAgIEFTU0VSVCghZXJyb3JNZXNzYWdlU3RyaW5nLklzRW1wdHkoKSk7CisgICAgU3RyaW5n
IGVycm9yTWVzc2FnZSA9IFRvV2ViQ29yZVN0cmluZyhlcnJvck1lc3NhZ2VTdHJpbmcpOworICAg
IAorICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZXNvdXJjZU5hbWUgPSBtZXNzYWdlLT5HZXRT
Y3JpcHRSZXNvdXJjZU5hbWUoKTsKKyAgICBib29sIHVzZVVSTCA9IChyZXNvdXJjZU5hbWUuSXNF
bXB0eSgpIHx8ICFyZXNvdXJjZU5hbWUtPklzU3RyaW5nKCkpOworICAgIFN0cmluZyByZXNvdXJj
ZU5hbWVTdHJpbmcgPSB1c2VVUkwgPyB3b3JrZXJDb250ZXh0LT51cmwoKSA6IFRvV2ViQ29yZVN0
cmluZyhyZXNvdXJjZU5hbWUpOworICAgIAorICAgIHdvcmtlckNvbnRleHQtPmFkZE1lc3NhZ2Uo
Q29uc29sZURlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBl
cnJvck1lc3NhZ2UsIG1lc3NhZ2UtPkdldExpbmVOdW1iZXIoKSwgcmVzb3VyY2VOYW1lU3RyaW5n
KTsKK30KKwogYm9vbCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmlzV2ViV29ya2Vyc0Vu
YWJsZWQoKQogewogICAgIHJldHVybiBpc1dvcmtlcnNFbmFibGVkOwpAQCAtNjMsOSArOTAsNyBA
QCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94
eShXb3JrZXJDb250ZXh0KiB3b3JrZXJDbwogICAgIDogbV93b3JrZXJDb250ZXh0KHdvcmtlckNv
bnRleHQpCiAgICAgLCBtX3JlY3Vyc2lvbigwKQogewotICAgIC8vIE5lZWQgdG8gdXNlIGxvY2sg
c2luY2UgVjhFdmVudExpc3RlbmVyTGlzdCBjb25zdHJ1Y3RvciBjcmVhdGVzIEhhbmRsZVNjb3Bl
LgotICAgIHY4OjpMb2NrZXIgbG9ja2VyOwotICAgIG1fbGlzdGVuZXJzLnNldChuZXcgVjhFdmVu
dExpc3RlbmVyTGlzdCgibV9saXN0ZW5lcnMiKSk7CisgICAgaW5pdFY4SWZOZWVkZWQoKTsKIH0K
IAogV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojp+V29ya2VyQ29udGV4dEV4ZWN1dGlvblBy
b3h5KCkKQEAgLTc2LDEzICsxMDEsMTYgQEAgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojp+
V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KCkKIHZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlv
blByb3h5OjpkaXNwb3NlKCkKIHsKICAgICAvLyBEaXNjb25uZWN0IGFsbCBldmVudCBsaXN0ZW5l
cnMuCi0gICAgZm9yIChWOEV2ZW50TGlzdGVuZXJMaXN0OjppdGVyYXRvciBpdGVyYXRvcihtX2xp
c3RlbmVycy0+YmVnaW4oKSk7IGl0ZXJhdG9yICE9IG1fbGlzdGVuZXJzLT5lbmQoKTsgKytpdGVy
YXRvcikKLSAgICAgICBzdGF0aWNfY2FzdDxWOFdvcmtlckNvbnRleHRFdmVudExpc3RlbmVyKj4o
Kml0ZXJhdG9yKS0+ZGlzY29ubmVjdCgpOwotCisgICAgaWYgKG1fbGlzdGVuZXJzLmdldCgpKQog
ICAgIHsKLSAgICAgICAgLy8gTmVlZCB0byB1c2UgbG9jayBzaW5jZSBWOEV2ZW50TGlzdGVuZXJM
aXN0OjpjbGVhcigpIGNyZWF0ZXMgSGFuZGxlU2NvcGUuCi0gICAgICAgIHY4OjpMb2NrZXIgbG9j
a2VyOwotICAgICAgICBtX2xpc3RlbmVycy0+Y2xlYXIoKTsKKyAgICAgICAgZm9yIChWOEV2ZW50
TGlzdGVuZXJMaXN0OjppdGVyYXRvciBpdGVyYXRvcihtX2xpc3RlbmVycy0+YmVnaW4oKSk7IGl0
ZXJhdG9yICE9IG1fbGlzdGVuZXJzLT5lbmQoKTsgKytpdGVyYXRvcikKKyAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8VjhXb3JrZXJDb250ZXh0RXZlbnRMaXN0ZW5lcio+KCppdGVyYXRvciktPmRpc2Nv
bm5lY3QoKTsKKworICAgICAgICB7CisgICAgICAgICAgICAvLyBOZWVkIHRvIHVzZSBsb2NrIHNp
bmNlIFY4RXZlbnRMaXN0ZW5lckxpc3Q6OmNsZWFyKCkgY3JlYXRlcyBIYW5kbGVTY29wZS4KKyAg
ICAgICAgICAgIHY4OjpMb2NrZXIgbG9ja2VyOworICAgICAgICAgICAgbV9saXN0ZW5lcnMtPmNs
ZWFyKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyBEZXRhY2ggYWxsIGV2ZW50cyBmcm9t
IHRoZWlyIEpTIHdyYXBwZXJzLgpAQCAtMTIzLDYgKzE1MSwyOSBAQCBXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHkqIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6cmV0cmlldmUoKQogICAg
IHJldHVybiB3b3JrZXJDb250ZXh0LT5zY3JpcHQoKS0+cHJveHkoKTsKIH0KIAordm9pZCBXb3Jr
ZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmluaXRWOElmTmVlZGVkKCkKK3sKKyAgICBzdGF0aWMg
Ym9vbCB2OEluaXRpYWxpemVkID0gZmFsc2U7CisKKyAgICAvLyBVc2Ugdjg6OkxvY2tlciB0byBn
dWFyYW50ZWUgdGhhdCBvbmx5IG9uZSB0aHJlYWQgY2FuIGVudGVyIHRoZSBmb2xsb3dpbmcgb25l
LXRpbWUgaW5pdGlhbGl6YXRpb24gY29kZS4KKyAgICB2ODo6TG9ja2VyIGxvY2tlcjsKKyAgICBp
ZiAodjhJbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gVGVsbCBWOCBub3Qg
dG8gY2FsbCB0aGUgZGVmYXVsdCBPT00gaGFuZGxlciwgYmluZGluZyBjb2RlIHdpbGwgaGFuZGxl
IGl0LgorICAgIHY4OjpWODo6SWdub3JlT3V0T2ZNZW1vcnlFeGNlcHRpb24oKTsKKyAgICB2ODo6
Vjg6OlNldEZhdGFsRXJyb3JIYW5kbGVyKHJlcG9ydEZhdGFsRXJyb3JJblY4KTsKKworICAgIC8v
IFNldCB1cCB0aGUgaGFuZGxlciBmb3IgVjggZXJyb3IgbWVzc2FnZS4KKyAgICB2ODo6Vjg6OkFk
ZE1lc3NhZ2VMaXN0ZW5lcihoYW5kbGVDb25zb2xlTWVzc2FnZSk7CisKKyAgICAvLyBFbmFibGUg
cHJlZW1wdGlvbiBzbyB0aGF0IG9uZSB3b3JrZXIgd2lsbCBub3QgYmUgYmxvY2tlZCBieSBhbm90
aGVyIGxvbmctcnVubmluZyB3b3JrZXIuCisgICAgY29uc3QgaW50IHdvcmtlclRocmVhZFByZWVt
cHRpb25JbnRlcnZhbE1zID0gMTAwOworICAgIHY4OjpMb2NrZXI6OlN0YXJ0UHJlZW1wdGlvbih3
b3JrZXJUaHJlYWRQcmVlbXB0aW9uSW50ZXJ2YWxNcyk7CisKKyAgICB2OEluaXRpYWxpemVkID0g
dHJ1ZTsKK30KKwogdm9pZCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmluaXRDb250ZXh0
SWZOZWVkZWQoKQogewogICAgIC8vIEJhaWwgb3V0IGlmIHRoZSBjb250ZXh0IGhhcyBhbHJlYWR5
IGJlZW4gaW5pdGlhbGl6ZWQuCkBAIC0xNTcsNiArMjA4LDggQEAgdm9pZCBXb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHk6OmluaXRDb250ZXh0SWZOZWVkZWQoKQogICAgIC8vIEluc2VydCB0aGUg
b2JqZWN0IGluc3RhbmNlIGFzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHNoYWRvdyBvYmplY3QuCiAg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnbG9iYWxPYmplY3QgPSBtX2NvbnRleHQtPkdsb2Jh
bCgpOwogICAgIGdsb2JhbE9iamVjdC0+U2V0KGltcGxpY2l0UHJvdG9TdHJpbmcsIGpzV29ya2Vy
Q29udGV4dCk7CisKKyAgICBtX2xpc3RlbmVycy5zZXQobmV3IFY4RXZlbnRMaXN0ZW5lckxpc3Qo
Im1fbGlzdGVuZXJzIikpOwogfQogCiB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHk6OkdldENvbnN0cnVjdG9yKFY4Q2xhc3NJbmRleDo6VjhXcmFwcGVy
VHlwZSB0eXBlKQpAQCAtMjg5LDEwICszNDIsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBXb3Jr
ZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LAog
ICAgIHY4OjpMb2NrZXIgbG9ja2VyOwogICAgIHY4OjpIYW5kbGVTY29wZSBoczsKIAotICAgIC8v
IEVuYWJsZSBwcmVlbXB0aW9uIHNvIHRoYXQgb25lIHdvcmtlciB3aWxsIG5vdCBiZSBibG9ja2Vk
IGJ5IGFub3RoZXIgbG9uZy1ydW5uaW5nIHdvcmtlci4KLSAgICBjb25zdCBpbnQgd29ya2VyVGhy
ZWFkUHJlZW1wdGlvbkludGVydmFsTXMgPSAxMDA7Ci0gICAgdjg6OkxvY2tlcjo6U3RhcnRQcmVl
bXB0aW9uKHdvcmtlclRocmVhZFByZWVtcHRpb25JbnRlcnZhbE1zKTsKLQogICAgIGluaXRDb250
ZXh0SWZOZWVkZWQoKTsKICAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUobV9jb250ZXh0KTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9u
UHJveHkuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5
LmgKaW5kZXggM2YwNzM3Ny4uZTU3MzEyYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCkBAIC04Niw2ICs4Niw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIHZvaWQgc2V0SXNXZWJXb3JrZXJzRW5hYmxlZChi
b29sKTsKIAogICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgaW5pdFY4SWZOZWVkZWQoKTsKICAg
ICAgICAgdm9pZCBpbml0Q29udGV4dElmTmVlZGVkKCk7CiAgICAgICAgIHZvaWQgZGlzcG9zZSgp
OwogICAgICAgICBQYXNzUmVmUHRyPFY4RXZlbnRMaXN0ZW5lcj4gZmluZE9yQ3JlYXRlRXZlbnRM
aXN0ZW5lckhlbHBlcih2ODo6TG9jYWw8djg6OlZhbHVlPiBvYmplY3QsIGJvb2wgaXNJbmxpbmUs
IGJvb2wgZmluZE9ubHksIGJvb2wgY3JlYXRlT2JqZWN0RXZlbnRMaXN0ZW5lcik7Cg==
</data>
<flag name="review"
          id="14625"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>