<?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>214193</bug_id>
          
          <creation_ts>2020-07-10 12:29:26 -0700</creation_ts>
          <short_desc>Add some testing for JSRunLoopTimer</short_desc>
          <delta_ts>2020-07-14 23:04:24 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>214102</dup_id>
          
          <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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>darin</cc>
    
    <cc>keith_miller</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670525</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-10 12:29:26 -0700</bug_when>
    <thetext>Add some testing for JSRunLoopTimer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670529</commentid>
    <comment_count>1</comment_count>
      <attachid>403990</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-10 12:38:39 -0700</bug_when>
    <thetext>Created attachment 403990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670563</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-10 13:57:01 -0700</bug_when>
    <thetext>I guess I&apos;ll just merge this into https://bugs.webkit.org/show_bug.cgi?id=214102

*** This bug has been marked as a duplicate of bug 214102 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670574</commentid>
    <comment_count>3</comment_count>
      <attachid>403990</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-10 14:14:37 -0700</bug_when>
    <thetext>Comment on attachment 403990
Patch

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

&gt; Tools/TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:66
&gt; +    auto context = adoptNS([JSContext new]);

So retro to use new instead of alloc/init.

&gt; Tools/TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:69
&gt; +    while (!s_done) {

Need to set s_done to false in case IncrementalSweeperSecondaryThread test already ran? But what about objects left behind from running that test? Could they result in false negatives for this test?

&gt; Tools/TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:73
&gt; +                auto jsObject = adoptNS([JSValue valueWithObject:object.get() inContext:context.get()]);

This looks like an overrelease. Should not adopt the result of valueWithObject.

&gt; Tools/TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:90
&gt; +    while (!s_done) {

Need to set s_done to false in case IncrementalSweeperMainThread test already ran? But what about objects left behind from running that test? Could they result in false negatives for this test?

&gt; Tools/TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:96
&gt; +                        auto jsObject = adoptNS([JSValue valueWithObject:object.get() inContext:context.get()]);

This looks like an overrelease. Should not adopt the result of valueWithObject.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403990</attachid>
            <date>2020-07-10 12:38:39 -0700</date>
            <delta_ts>2020-07-14 23:04:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214193-20200710123838.patch</filename>
            <type>text/plain</type>
            <size>9082</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2NDIzNCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIwLTA3LTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHNvbWUgdGVzdGluZyBmb3IgSlNSdW5Mb29wVGltZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDE5MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgd2FzIG1ha2luZyBzb21l
IGNoYW5nZXMgdG8gSlNSdW5Mb29wVGltZXIgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDEwMiwgYW5kIEkgbm90aWNlZCB3ZSBkaWRuJ3QKKyAg
ICAgICAgaGF2ZSB0ZXN0IGNvdmVyYWdlIHlldC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvSmF2YVNjcmlwdENvcmUvSlNSdW5Mb29wVGltZXIubW06IEFkZGVkLgor
ICAgICAgICAoLVtUZXN0T2JqZWN0IGRlYWxsb2NdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorCiAyMDIwLTA3LTEwICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBbRVdTXSBsYXlvdXQtdGVzdCByZXN1bHRzIHNob3VsZG4ndCBiZSBob3N0
ZWQgb24gZXdzIHNlcnZlcgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2
NDAzMikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2ICs4Nyw3IEBACiAJCTExQjdGRDI4
MjE5RjQ3MTEwMDY5QjI3RiAvKiBGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMUI3RkQyMjIxOUY0
NkREMDA2OUIyN0YgLyogRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUuY3BwICovOyB9Owog
CQkxMUMyNTk4RDIxRkE2MzI0MDA0QzlFMjMgLyogYXN5bmMtc2NyaXB0LWxvYWQuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMUMyNTk4
QzIxRkE2MThEMDA0QzlFMjMgLyogYXN5bmMtc2NyaXB0LWxvYWQuaHRtbCAqLzsgfTsKIAkJMTQz
RERFOTgyMEM5MDE4QjAwN0Y3NkZBIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NEY1NUQwMjA0RDQ3MUMwMDI5
NDhDNiAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CisJCTE0Q0M0MkU2MjRCOEQ4RkEwMEU2
NEY0OCAvKiBKU1J1bkxvb3BUaW1lci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0Q0M0MkU1MjRCOEQ4RkEwMEU2NEY0OCAvKiBKU1J1bkxvb3BUaW1l
ci5tbSAqLzsgfTsKIAkJMUEwMkM4NzAxMjVENENGRDAwRTNGNEJEIC8qIGZpbmQuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAyQzg0
QjEyNUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5odG1sICovOyB9OwogCQkxQTM1MjRBRTFENjNBNEZC
MDAzMTcyOUIgLyogU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEzNTI0QUMxRDYzQTRGQjAwMzE3MjlCIC8qIFNjb3BlLmNwcCAqLzsgfTsK
IAkJMUE0RjgxQ0YxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0lu
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0Rjgx
Q0QxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tICovOyB9
OwpAQCAtMTY4MSw2ICsxNjgyLDcgQEAKIAkJMTFDMjU5OEMyMUZBNjE4RDAwNEM5RTIzIC8qIGFz
eW5jLXNjcmlwdC1sb2FkLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXN5bmMt
c2NyaXB0LWxvYWQuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0NDY0MDEy
MTY3QTgzMDUwMDBCRDIxOCAvKiBMYXlvdXRVbml0VGVzdHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0VW5pdFRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMTQ0RDQwRUMyMjFCNDZBNzAwNEI0NzRGIC8qIFVVSUQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVVVJRC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE0Q0M0MkU1MjRCOEQ4RkEwMEU2NEY0OCAvKiBKU1J1bkxvb3BUaW1l
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEpTUnVuTG9vcFRp
bWVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEYzQjExMjE1RTQ1RUFCMDAy
MTAwNjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0QkQg
LyogZmluZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZmluZC5odG1sOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTAyQzg0RTEyNUQ0QTg0MDBFM0Y0QkQgLyogRmlu
ZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaW5kLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMwMzcsNiArMzAzOSwxNCBAQAogCQkJbmFtZSA9
IGNvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMTRDQzQyRTAyNEI4
RDdFNzAwRTY0RjQ4IC8qIEphdmFTY3JpcHRDb3JlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNENDNDJFNTI0QjhEOEZBMDBFNjRGNDggLyogSlNSdW5M
b29wVGltZXIubW0gKi8sCisJCQkpOworCQkJcGF0aCA9IEphdmFTY3JpcHRDb3JlOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMUFCNjc0QURGRTlENTRCNTExQ0EyQ0JCIC8q
IFByb2R1Y3RzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTQyNDYsNiArNDI1Niw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAog
CQkJCTc1NjA5MTc2MTkyNTlDNTkwMDlFRjA2RSAvKiBpb3MgKi8sCisJCQkJMTRDQzQyRTAyNEI4
RDdFNzAwRTY0RjQ4IC8qIEphdmFTY3JpcHRDb3JlICovLAogCQkJCUMwN0U2Q0FEMTNGRDY3NjUw
MDM4QjIyQiAvKiBtYWMgKi8sCiAJCQkJQzA4NTg3RjkxM0ZFQzM5QjAwMUVGNEU1IC8qIFRlc3RX
ZWJLaXRBUEkgKi8sCiAJCQkJNDQwQTFEMzYxNEEwMTAwMDAwOEE2NkYyIC8qIFdlYkNvcmUgKi8s
CkBAIC01MDYyLDYgKzUwNzMsNyBAQAogCQkJCTUxODIwQTREMjJGNEVFN0YwMERGMEEwMSAvKiBK
YXZhc2NyaXB0VVJMTmF2aWdhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDMDE2MEMxMjFB
MTMyNDYwMDc3RkEzMiAvKiBKSVRFbmFibGVkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTM1RkM3
QjIyMkI4MkE3MzAwRjMyRjk4IC8qIEpTTG9ja1Rha2VzV2ViVGhyZWFkTG9jay5tbSBpbiBTb3Vy
Y2VzICovLAorCQkJCTE0Q0M0MkU2MjRCOEQ4RkEwMEU2NEY0OCAvKiBKU1J1bkxvb3BUaW1lci5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUM0MUE0MTFBN0UwMDQ0N0M0QyAvKiBKU1dyYXBw
ZXJGb3JOb2RlSW5XZWJGcmFtZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0NUUxNTczMjExMkNF
MjkwMDMwN0U4MiAvKiBLZXlib2FyZElucHV0VGVzdHNJT1MubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkyNzhFM0UxOTIzQ0Q4NDJGMDA1QTZCODAgLyogS2V5ZWRDb2RpbmcuY3BwIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL0pTUnVu
TG9vcFRpbWVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvSmF2
YVNjcmlwdENvcmUvSlNSdW5Mb29wVGltZXIubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9KYXZhU2NyaXB0Q29yZS9KU1J1bkxvb3BUaW1lci5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDExMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorCisjaW1wb3J0ICJXVEZTdHJpbmdVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPEphdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0
IDx3dGYvUnVuTG9vcC5oPgorI2ltcG9ydCA8d3RmL1VSTC5oPgorI2ltcG9ydCA8d3RmL1ZlY3Rv
ci5oPgorI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CisjaW1wb3J0IDx3dGYvY29j
b2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCitzdGF0
aWMgYm9vbCBzX2lzUnVubmluZ1J1bkxvb3A7CitzdGF0aWMgYm9vbCBzX2RvbmU7CitzdGF0aWMg
V1RGOjpSdW5Mb29wKiBzX2V4cGVjdGVkUnVuTG9vcDsKKworQGludGVyZmFjZSBUZXN0T2JqZWN0
IDogTlNPYmplY3QKKy0gKHZvaWQpZGVhbGxvYzsKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFRl
c3RPYmplY3QKKy0gKHZvaWQpZGVhbGxvYworeworICAgIGlmIChzX2lzUnVubmluZ1J1bkxvb3Ap
IHsKKyAgICAgICAgRVhQRUNUX0VRKCZSdW5Mb29wOjpjdXJyZW50KCksIHNfZXhwZWN0ZWRSdW5M
b29wKTsKKyAgICAgICAgc19kb25lID0gdHJ1ZTsKKyAgICB9CisKKyAgICBbc3VwZXIgZGVhbGxv
Y107Cit9CitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworLy8gSmF2YVNjcmlw
dENvcmUncyBiZWhhdmlvciBhdCB0aGUgdGltZSBvZiB3cml0aW5nIGlzIHRoYXQgZGVzdHJ1Y3Rv
cnMKKy8vIHJ1biBhc3luY2hyb25vdXNseSBvbiB0aGUgdGhyZWFkIHRoYXQgYWxsb2NhdGVkIHRo
ZSBWTSwgdW5sZXNzIHRoZXkgcnVuCisvLyBzeW5jaHJvbm91c2x5IGR1cmluZyBhbiBBUEkgY2Fs
bCBvbiBzb21lIG90aGVyIHRocmVhZC4KKworVEVTVChKYXZhU2NyaXB0Q29yZSwgSW5jcmVtZW50
YWxTd2VlcGVyTWFpblRocmVhZCkKK3sKKyAgICBhdXRvIGNvbnRleHQgPSBhZG9wdE5TKFtKU0Nv
bnRleHQgbmV3XSk7CisgICAgc19leHBlY3RlZFJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgp
OworCisgICAgd2hpbGUgKCFzX2RvbmUpIHsKKyAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Cisg
ICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgICAgICAg
ICAgICAgIGF1dG8gb2JqZWN0ID0gYWRvcHROUyhbVGVzdE9iamVjdCBuZXddKTsKKyAgICAgICAg
ICAgICAgICBhdXRvIGpzT2JqZWN0ID0gYWRvcHROUyhbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6
b2JqZWN0LmdldCgpIGluQ29udGV4dDpjb250ZXh0LmdldCgpXSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBKU0dhcmJhZ2VDb2xsZWN0KFtjb250ZXh0LmdldCgpIEpTR2xvYmFsQ29udGV4
dFJlZl0pOworICAgICAgICAgICAgCisgICAgICAgICAgICBzX2lzUnVubmluZ1J1bkxvb3AgPSB0
cnVlOworICAgICAgICAgICAgUnVuTG9vcDo6Y3VycmVudCgpLmN5Y2xlKCk7CisgICAgICAgICAg
ICBzX2lzUnVubmluZ1J1bkxvb3AgPSBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKyAgICBFWFBF
Q1RfVFJVRSh0cnVlKTsKK30KKworVEVTVChKYXZhU2NyaXB0Q29yZSwgSW5jcmVtZW50YWxTd2Vl
cGVyU2Vjb25kYXJ5VGhyZWFkKQoreworICAgIGF1dG8gY29udGV4dCA9IGFkb3B0TlMoW0pTQ29u
dGV4dCBuZXddKTsKKyAgICBzX2V4cGVjdGVkUnVuTG9vcCA9ICZSdW5Mb29wOjpjdXJyZW50KCk7
CisKKyAgICB3aGlsZSAoIXNfZG9uZSkgeworICAgICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKKyAg
ICAgICAgICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShRT1NfQ0xB
U1NfVVNFUl9JTlRFUkFDVElWRSwgMCksIF57CisgICAgICAgICAgICAgICAgQGF1dG9yZWxlYXNl
cG9vbCB7CisgICAgICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIG9iamVjdCA9IGFkb3B0TlMoW1Rl
c3RPYmplY3QgbmV3XSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGpzT2JqZWN0ID0g
YWRvcHROUyhbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6b2JqZWN0LmdldCgpIGluQ29udGV4dDpj
b250ZXh0LmdldCgpXSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgSlNHYXJiYWdlQ29sbGVjdChbY29udGV4dC5nZXQoKSBKU0dsb2JhbENvbnRleHRSZWZdKTsK
KworICAgICAgICAgICAgICAgICAgICBzX2lzUnVubmluZ1J1bkxvb3AgPSB0cnVlOworICAgICAg
ICAgICAgICAgICAgICBSdW5Mb29wOjpjdXJyZW50KCkuY3ljbGUoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc19pc1J1bm5pbmdSdW5Mb29wID0gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIHNfaXNSdW5uaW5nUnVuTG9vcCA9IHRydWU7Cisg
ICAgICAgICAgICBSdW5Mb29wOjpjdXJyZW50KCkuY3ljbGUoKTsKKyAgICAgICAgICAgIHNfaXNS
dW5uaW5nUnVuTG9vcCA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorfQorCit9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>
<flag name="review"
          id="419394"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>