<?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>166645</bug_id>
          
          <creation_ts>2017-01-03 02:30:03 -0800</creation_ts>
          <short_desc>WorkQueueGeneric&apos;s platformInvalidate() can deadlock when called on the RunLoop&apos;s thread</short_desc>
          <delta_ts>2017-01-03 23:53:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1405791</see_also>
          <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="Zan Dobersek">zan</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1263423</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-01-03 02:30:03 -0800</bug_when>
    <thetext>It&apos;s possible that a WorkQueue object is destroyed on its own thread. In case of the WorkQueueGeneric implementation, that is the thread of the underlying RunLoop object.

When that occurs, platformInvalidate() in WorkQueueGeneric.cpp stops the RunLoop and then waits for a signal on the m_terminateRunLoopCondition indefinitely. That doesn&apos;t occur because the signal is supposed to be launched on the same thread after the RunLoop is stopped.
https://trac.webkit.org/browser/trunk/Source/WTF/wtf/generic/WorkQueueGeneric.cpp#L68

One solution is to not wait on m_terminateRunLoopCondition if we detect that we&apos;re on the RunLoop&apos;s thread. Another solution is to remove both m_terminateRunLoopCondition and the accompanying mutex.

First reported at https://github.com/Metrological/WebKitForWayland/pull/170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263424</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-03 02:34:17 -0800</bug_when>
    <thetext>I think we can get rid of the terminate condition/mutex. It&apos;s ok to detach a running thread, and platformInvalidate is called from the destructor, so we don&apos;t need to protect the m_runLoop. Tasks take their own reference so it&apos;s not possible to have pending tasks at the point either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263437</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-03 05:22:57 -0800</bug_when>
    <thetext>I think Yusuke wrote this code; let&apos;s see what he thinks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263506</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-03 13:12:11 -0800</bug_when>
    <thetext>I think we do not need to wait thread stop. Calling the detach thread ensures that the resources will be destroyed when the thread finishes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263511</commentid>
    <comment_count>4</comment_count>
      <attachid>297944</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-03 13:35:42 -0800</bug_when>
    <thetext>Created attachment 297944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263512</commentid>
    <comment_count>5</comment_count>
      <attachid>297945</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-03 13:37:15 -0800</bug_when>
    <thetext>Created attachment 297945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263696</commentid>
    <comment_count>6</comment_count>
      <attachid>297945</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-03 22:58:35 -0800</bug_when>
    <thetext>Comment on attachment 297945
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263699</commentid>
    <comment_count>7</comment_count>
      <attachid>297945</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-03 23:28:10 -0800</bug_when>
    <thetext>Comment on attachment 297945
Patch

Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263704</commentid>
    <comment_count>8</comment_count>
      <attachid>297945</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-03 23:53:01 -0800</bug_when>
    <thetext>Comment on attachment 297945
Patch

Clearing flags on attachment: 297945

Committed r210271: &lt;http://trac.webkit.org/changeset/210271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263705</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-03 23:53:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297944</attachid>
            <date>2017-01-03 13:35:42 -0800</date>
            <delta_ts>2017-01-03 13:37:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166645-20170104063416.patch</filename>
            <type>text/plain</type>
            <size>5161</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBkMjMyZjllNGQ5NjU0Njg2Y2M3NjNh
YTg5MGRjMzFiY2UzY2IyM2YuLmRkYTE0NDA0NmRjYzg3YWY2NDdlMmZkNzE5MmQ2MTMyZmE4N2U1
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTctMDEtMDMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgV29ya1F1ZXVlR2VuZXJpYydzIHBsYXRmb3Jt
SW52YWxpZGF0ZSgpIGNhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCBvbiB0aGUgUnVuTG9vcCdzIHRo
cmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2
NjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV29y
a1F1ZXVlIGNhbiBiZSBkZXN0cm95ZWQgb24gaXRzIGludm9raW5nIHRocmVhZCBpdHNlbGYuCisg
ICAgICAgIFRoZSBzY2VuYXJpbyBpcyB0aGUgZm9sbG93aW5nLgorCisgICAgICAgICAgICAxLiBD
cmVhdGUgV29ya1F1ZXVlIChpbiB0aHJlYWQgQSkuCisgICAgICAgICAgICAyLiBEaXNwYXRjaCBh
IHRhc2sgKGluIHRocmVhZCBBLCBkaXNwYXRjaGluZyBhIHRhc2sgdG8gdGhyZWFkIEIpLgorICAg
ICAgICAgICAgMy4gRGVyZWYgaW4gdGhyZWFkIEEuCisgICAgICAgICAgICA0LiBUaGUgdGFzayBp
cyBleGVjdXRlZCBpbiB0aHJlYWQgQi4KKyAgICAgICAgICAgIDUuIERlcmVmIGluIHRocmVhZCBC
LgorICAgICAgICAgICAgNi4gVGhlIFdvcmtRdWV1ZSBpcyBkZXN0cm95ZWQsIGNhbGxpbmcgcGxh
dGZvcm1JbnZhbGlkYXRlIGluIHRocmVhZCBCLgorCisgICAgICAgIEluIHRoYXQgY2FzZSwgaWYg
cGxhdGZvcm1JbnZhbGlkYXRlIHdhaXRzIHRocmVhZCBCJ3MgdGVybWluYXRpb24sIGl0IGNhdXNl
cyBkZWFkbG9jay4KKyAgICAgICAgV2UgZG8gbm90IG5lZWQgdG8gd2FpdCB0aGUgdGhyZWFkIHRl
cm1pbmF0aW9uLgorCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5oOgorICAgICAgICAqIHd0Zi9n
ZW5lcmljL1dvcmtRdWV1ZUdlbmVyaWMuY3BwOgorICAgICAgICAoV29ya1F1ZXVlOjpwbGF0Zm9y
bUluaXRpYWxpemUpOgorICAgICAgICAoV29ya1F1ZXVlOjpwbGF0Zm9ybUludmFsaWRhdGUpOgor
CiAyMDE3LTAxLTAyICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VAY2lzY28uY29tPgogCiAg
ICAgICAgIFJlbW92ZSBzaDQgc3BlY2lmaWMgY29kZSBmcm9tIEphdmFTY3JpcHRDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtR
dWV1ZS5oCmluZGV4IDVhYzMyZjhjNjllYmU2MWFmZGVhY2NhYjk3ZDRlMTc0ZTdmNmM2OGYuLmQ5
MTg0YjQ4MjdiZjEwYmEzOGE0ODE0ODA1YjJmMzM2NDZkNzZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1dvcmtRdWV1ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5oCkBA
IC0xMTYsOCArMTE2LDYgQEAgY2xhc3MgV29ya1F1ZXVlIGZpbmFsIDogcHVibGljIEZ1bmN0aW9u
RGlzcGF0Y2hlciB7CiAgICAgTG9jayBtX2luaXRpYWxpemVSdW5Mb29wQ29uZGl0aW9uTXV0ZXg7
CiAgICAgQ29uZGl0aW9uIG1faW5pdGlhbGl6ZVJ1bkxvb3BDb25kaXRpb247CiAgICAgUnVuTG9v
cCogbV9ydW5Mb29wOwotICAgIExvY2sgbV90ZXJtaW5hdGVSdW5Mb29wQ29uZGl0aW9uTXV0ZXg7
Ci0gICAgQ29uZGl0aW9uIG1fdGVybWluYXRlUnVuTG9vcENvbmRpdGlvbjsKICNlbmRpZgogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvV29ya1F1ZXVlR2VuZXJpYy5jcHAKaW5kZXggNWM3
YjliNzY1NjY5NWRiNzZjZWNiYTc0NTM2MWM2MWViMmViMTFkNi4uYzE5YWJlZjMxZjY4MDRhMjEw
ZjQ3NzA5MDMxYWFmZjdjYjBjOGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJp
Yy9Xb3JrUXVldWVHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1dvcmtR
dWV1ZUdlbmVyaWMuY3BwCkBAIC01NiwyOSArNTYsMTggQEAgdm9pZCBXb3JrUXVldWU6OnBsYXRm
b3JtSW5pdGlhbGl6ZShjb25zdCBjaGFyKiBuYW1lLCBUeXBlLCBRT1MpCiAgICAgICAgICAgICBt
X2luaXRpYWxpemVSdW5Mb29wQ29uZGl0aW9uLm5vdGlmeU9uZSgpOwogICAgICAgICB9CiAgICAg
ICAgIG1fcnVuTG9vcC0+cnVuKCk7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIExvY2tIb2xkZXIg
bG9ja2VyKG1fdGVybWluYXRlUnVuTG9vcENvbmRpdGlvbk11dGV4KTsKLSAgICAgICAgICAgIG1f
cnVuTG9vcCA9IG51bGxwdHI7Ci0gICAgICAgICAgICBtX3Rlcm1pbmF0ZVJ1bkxvb3BDb25kaXRp
b24ubm90aWZ5T25lKCk7Ci0gICAgICAgIH0KICAgICB9KTsKICAgICBtX2luaXRpYWxpemVSdW5M
b29wQ29uZGl0aW9uLndhaXQobV9pbml0aWFsaXplUnVuTG9vcENvbmRpdGlvbk11dGV4KTsKIH0K
IAogdm9pZCBXb3JrUXVldWU6OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiB7Ci0gICAgewotICAgICAg
ICBMb2NrSG9sZGVyIGxvY2tlcihtX3Rlcm1pbmF0ZVJ1bkxvb3BDb25kaXRpb25NdXRleCk7Ci0g
ICAgICAgIGlmIChtX3J1bkxvb3ApIHsKLSAgICAgICAgICAgIG1fcnVuTG9vcC0+c3RvcCgpOwot
ICAgICAgICAgICAgbV90ZXJtaW5hdGVSdW5Mb29wQ29uZGl0aW9uLndhaXQobV90ZXJtaW5hdGVS
dW5Mb29wQ29uZGl0aW9uTXV0ZXgpOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgaWYgKG1fd29y
a1F1ZXVlVGhyZWFkKSB7CiAgICAgICAgIGRldGFjaFRocmVhZChtX3dvcmtRdWV1ZVRocmVhZCk7
CiAgICAgICAgIG1fd29ya1F1ZXVlVGhyZWFkID0gMDsKICAgICB9CisgICAgaWYgKG1fcnVuTG9v
cCkKKyAgICAgICAgbV9ydW5Mb29wLT5zdG9wKCk7CiB9CiAKIHZvaWQgV29ya1F1ZXVlOjpkaXNw
YXRjaChGdW5jdGlvbjx2b2lkICgpPiYmIGZ1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVhMmI4YjdhNjBlNzE3NDhhMWExZjQ4ZGQ0
ZmY0Zjc0OWNkNDUyMDUuLjNkNDU3N2FmZTg2YjVmNDliZGQ4ZTg5ODVmMTY0MDc2MzdiOTMyODMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNy0wMS0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBXb3JrUXVldWVHZW5lcmljJ3MgcGxhdGZvcm1JbnZhbGlkYXRlKCkg
Y2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIG9uIHRoZSBSdW5Mb29wJ3MgdGhyZWFkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2NDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAxNy0wMS0wMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gRXhwb3NlIFdlYktpdFNlY3VyaXR5T3JpZ2luIEFQSQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKaW5kZXggNzRmNWRjMjk0NDgz
Y2M0MWZmOTFmMzcwZTU1MjVhOTFhMDU0MzY1Zi4uN2UyNzdlOTRjNDdjZTNjZTJmYjgyNTJmNmNk
YzNhNTVhZjM3YmU3OSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
V29ya1F1ZXVlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVl
dWUuY3BwCkBAIC0yMDAsNCArMjAwLDM3IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgRGlzcGF0Y2hB
ZnRlcikKICAgICBFWFBFQ1RfU1RSRVEoZGlzcGF0Y2hBZnRlckxhYmVsLCBtX2Z1bmN0aW9uQ2Fs
bE9yZGVyWzFdLmNfc3RyKCkpOwogfQogCitURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lPblNl
bGYpCit7CisgICAgTG9jayBsb2NrOworICAgIENvbmRpdGlvbiBkaXNwYXRjaEFmdGVyVGVzdFN0
YXJ0ZWQ7CisgICAgQ29uZGl0aW9uIGRpc3BhdGNoQWZ0ZXJUZXN0Q29tcGxldGVkOworICAgIGJv
b2wgc3RhcnRlZCA9IGZhbHNlOworICAgIGJvb2wgY29tcGxldGVkID0gZmFsc2U7CisKKyAgICB7
CisgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKGxvY2spOworICAgICAgICB7CisgICAgICAgICAg
ICBhdXRvIHF1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC5k
aXNwYXRjaEFmdGVyIik7CisgICAgICAgICAgICBxdWV1ZS0+ZGlzcGF0Y2hBZnRlcihzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzKDUwMCksIFsmXSh2b2lkKSB7CisgICAgICAgICAgICAgICAgTG9j
a0hvbGRlciBsb2NrZXIobG9jayk7CisgICAgICAgICAgICAgICAgZGlzcGF0Y2hBZnRlclRlc3RT
dGFydGVkLndhaXQobG9jaywgWyZdIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXJ0
ZWQ7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgY29tcGxldGVkID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICBkaXNwYXRjaEFmdGVyVGVzdENvbXBsZXRlZC5ub3RpZnlPbmUo
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIHN0YXJ0ZWQgPSB0cnVlOwor
ICAgICAgICBkaXNwYXRjaEFmdGVyVGVzdFN0YXJ0ZWQubm90aWZ5T25lKCk7CisgICAgfQorICAg
IHsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobG9jayk7CisgICAgICAgIGRpc3BhdGNoQWZ0
ZXJUZXN0Q29tcGxldGVkLndhaXQobG9jaywgWyZdIHsKKyAgICAgICAgICAgIHJldHVybiBjb21w
bGV0ZWQ7CisgICAgICAgIH0pOworICAgICAgICBXVEY6OnNsZWVwKDAuMSk7CisgICAgfQorfQor
CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297945</attachid>
            <date>2017-01-03 13:37:15 -0800</date>
            <delta_ts>2017-01-03 23:53:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166645-20170104063549.patch</filename>
            <type>text/plain</type>
            <size>5093</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBkMjMyZjllNGQ5NjU0Njg2Y2M3NjNh
YTg5MGRjMzFiY2UzY2IyM2YuLmRkYTE0NDA0NmRjYzg3YWY2NDdlMmZkNzE5MmQ2MTMyZmE4N2U1
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTctMDEtMDMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgV29ya1F1ZXVlR2VuZXJpYydzIHBsYXRmb3Jt
SW52YWxpZGF0ZSgpIGNhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCBvbiB0aGUgUnVuTG9vcCdzIHRo
cmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2
NjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV29y
a1F1ZXVlIGNhbiBiZSBkZXN0cm95ZWQgb24gaXRzIGludm9raW5nIHRocmVhZCBpdHNlbGYuCisg
ICAgICAgIFRoZSBzY2VuYXJpbyBpcyB0aGUgZm9sbG93aW5nLgorCisgICAgICAgICAgICAxLiBD
cmVhdGUgV29ya1F1ZXVlIChpbiB0aHJlYWQgQSkuCisgICAgICAgICAgICAyLiBEaXNwYXRjaCBh
IHRhc2sgKGluIHRocmVhZCBBLCBkaXNwYXRjaGluZyBhIHRhc2sgdG8gdGhyZWFkIEIpLgorICAg
ICAgICAgICAgMy4gRGVyZWYgaW4gdGhyZWFkIEEuCisgICAgICAgICAgICA0LiBUaGUgdGFzayBp
cyBleGVjdXRlZCBpbiB0aHJlYWQgQi4KKyAgICAgICAgICAgIDUuIERlcmVmIGluIHRocmVhZCBC
LgorICAgICAgICAgICAgNi4gVGhlIFdvcmtRdWV1ZSBpcyBkZXN0cm95ZWQsIGNhbGxpbmcgcGxh
dGZvcm1JbnZhbGlkYXRlIGluIHRocmVhZCBCLgorCisgICAgICAgIEluIHRoYXQgY2FzZSwgaWYg
cGxhdGZvcm1JbnZhbGlkYXRlIHdhaXRzIHRocmVhZCBCJ3MgdGVybWluYXRpb24sIGl0IGNhdXNl
cyBkZWFkbG9jay4KKyAgICAgICAgV2UgZG8gbm90IG5lZWQgdG8gd2FpdCB0aGUgdGhyZWFkIHRl
cm1pbmF0aW9uLgorCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5oOgorICAgICAgICAqIHd0Zi9n
ZW5lcmljL1dvcmtRdWV1ZUdlbmVyaWMuY3BwOgorICAgICAgICAoV29ya1F1ZXVlOjpwbGF0Zm9y
bUluaXRpYWxpemUpOgorICAgICAgICAoV29ya1F1ZXVlOjpwbGF0Zm9ybUludmFsaWRhdGUpOgor
CiAyMDE3LTAxLTAyICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VAY2lzY28uY29tPgogCiAg
ICAgICAgIFJlbW92ZSBzaDQgc3BlY2lmaWMgY29kZSBmcm9tIEphdmFTY3JpcHRDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtR
dWV1ZS5oCmluZGV4IDVhYzMyZjhjNjllYmU2MWFmZGVhY2NhYjk3ZDRlMTc0ZTdmNmM2OGYuLmQ5
MTg0YjQ4MjdiZjEwYmEzOGE0ODE0ODA1YjJmMzM2NDZkNzZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1dvcmtRdWV1ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5oCkBA
IC0xMTYsOCArMTE2LDYgQEAgY2xhc3MgV29ya1F1ZXVlIGZpbmFsIDogcHVibGljIEZ1bmN0aW9u
RGlzcGF0Y2hlciB7CiAgICAgTG9jayBtX2luaXRpYWxpemVSdW5Mb29wQ29uZGl0aW9uTXV0ZXg7
CiAgICAgQ29uZGl0aW9uIG1faW5pdGlhbGl6ZVJ1bkxvb3BDb25kaXRpb247CiAgICAgUnVuTG9v
cCogbV9ydW5Mb29wOwotICAgIExvY2sgbV90ZXJtaW5hdGVSdW5Mb29wQ29uZGl0aW9uTXV0ZXg7
Ci0gICAgQ29uZGl0aW9uIG1fdGVybWluYXRlUnVuTG9vcENvbmRpdGlvbjsKICNlbmRpZgogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvV29ya1F1ZXVlR2VuZXJpYy5jcHAKaW5kZXggNWM3
YjliNzY1NjY5NWRiNzZjZWNiYTc0NTM2MWM2MWViMmViMTFkNi4uNGVlYjMwMjA5MmMzY2UyNjdi
NzIxNzA2ZDZlYjkzMmE5ZGQ2Mjk0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJp
Yy9Xb3JrUXVldWVHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1dvcmtR
dWV1ZUdlbmVyaWMuY3BwCkBAIC01NiwyNSArNTYsMTQgQEAgdm9pZCBXb3JrUXVldWU6OnBsYXRm
b3JtSW5pdGlhbGl6ZShjb25zdCBjaGFyKiBuYW1lLCBUeXBlLCBRT1MpCiAgICAgICAgICAgICBt
X2luaXRpYWxpemVSdW5Mb29wQ29uZGl0aW9uLm5vdGlmeU9uZSgpOwogICAgICAgICB9CiAgICAg
ICAgIG1fcnVuTG9vcC0+cnVuKCk7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIExvY2tIb2xkZXIg
bG9ja2VyKG1fdGVybWluYXRlUnVuTG9vcENvbmRpdGlvbk11dGV4KTsKLSAgICAgICAgICAgIG1f
cnVuTG9vcCA9IG51bGxwdHI7Ci0gICAgICAgICAgICBtX3Rlcm1pbmF0ZVJ1bkxvb3BDb25kaXRp
b24ubm90aWZ5T25lKCk7Ci0gICAgICAgIH0KICAgICB9KTsKICAgICBtX2luaXRpYWxpemVSdW5M
b29wQ29uZGl0aW9uLndhaXQobV9pbml0aWFsaXplUnVuTG9vcENvbmRpdGlvbk11dGV4KTsKIH0K
IAogdm9pZCBXb3JrUXVldWU6OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiB7Ci0gICAgewotICAgICAg
ICBMb2NrSG9sZGVyIGxvY2tlcihtX3Rlcm1pbmF0ZVJ1bkxvb3BDb25kaXRpb25NdXRleCk7Ci0g
ICAgICAgIGlmIChtX3J1bkxvb3ApIHsKLSAgICAgICAgICAgIG1fcnVuTG9vcC0+c3RvcCgpOwot
ICAgICAgICAgICAgbV90ZXJtaW5hdGVSdW5Mb29wQ29uZGl0aW9uLndhaXQobV90ZXJtaW5hdGVS
dW5Mb29wQ29uZGl0aW9uTXV0ZXgpOwotICAgICAgICB9Ci0gICAgfQotCisgICAgaWYgKG1fcnVu
TG9vcCkKKyAgICAgICAgbV9ydW5Mb29wLT5zdG9wKCk7CiAgICAgaWYgKG1fd29ya1F1ZXVlVGhy
ZWFkKSB7CiAgICAgICAgIGRldGFjaFRocmVhZChtX3dvcmtRdWV1ZVRocmVhZCk7CiAgICAgICAg
IG1fd29ya1F1ZXVlVGhyZWFkID0gMDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlYTJiOGI3YTYwZTcxNzQ4YTFhMWY0OGRkNGZmNGY3NDljZDQ1
MjA1Li4zZDQ1NzdhZmU4NmI1ZjQ5YmRkOGU4OTg1ZjE2NDA3NjM3YjkzMjgzIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTctMDEtMDMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAg
ICAgICAgV29ya1F1ZXVlR2VuZXJpYydzIHBsYXRmb3JtSW52YWxpZGF0ZSgpIGNhbiBkZWFkbG9j
ayB3aGVuIGNhbGxlZCBvbiB0aGUgUnVuTG9vcCdzIHRocmVhZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NjQ1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9X
b3JrUXVldWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDEt
MDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdIEV4cG9zZSBXZWJLaXRTZWN1cml0eU9yaWdpbiBBUEkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwCmluZGV4IDc0ZjVkYzI5NDQ4M2NjNDFmZjkxZjM3
MGU1NTI1YTkxYTA1NDM2NWYuLjdlMjc3ZTk0YzQ3Y2UzY2UyZmI4MjUyZjZjZGMzYTU1YWYzN2Jl
NzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcApAQCAt
MjAwLDQgKzIwMCwzNyBAQCBURVNUKFdURl9Xb3JrUXVldWUsIERpc3BhdGNoQWZ0ZXIpCiAgICAg
RVhQRUNUX1NUUkVRKGRpc3BhdGNoQWZ0ZXJMYWJlbCwgbV9mdW5jdGlvbkNhbGxPcmRlclsxXS5j
X3N0cigpKTsKIH0KIAorVEVTVChXVEZfV29ya1F1ZXVlLCBEZXN0cm95T25TZWxmKQoreworICAg
IExvY2sgbG9jazsKKyAgICBDb25kaXRpb24gZGlzcGF0Y2hBZnRlclRlc3RTdGFydGVkOworICAg
IENvbmRpdGlvbiBkaXNwYXRjaEFmdGVyVGVzdENvbXBsZXRlZDsKKyAgICBib29sIHN0YXJ0ZWQg
PSBmYWxzZTsKKyAgICBib29sIGNvbXBsZXRlZCA9IGZhbHNlOworCisgICAgeworICAgICAgICBM
b2NrSG9sZGVyIGxvY2tlcihsb2NrKTsKKyAgICAgICAgeworICAgICAgICAgICAgYXV0byBxdWV1
ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LlRlc3QuZGlzcGF0Y2hBZnRl
ciIpOworICAgICAgICAgICAgcXVldWUtPmRpc3BhdGNoQWZ0ZXIoc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyg1MDApLCBbJl0odm9pZCkgeworICAgICAgICAgICAgICAgIExvY2tIb2xkZXIgbG9j
a2VyKGxvY2spOworICAgICAgICAgICAgICAgIGRpc3BhdGNoQWZ0ZXJUZXN0U3RhcnRlZC53YWl0
KGxvY2ssIFsmXSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGFydGVkOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIGNvbXBsZXRlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgZGlzcGF0Y2hBZnRlclRlc3RDb21wbGV0ZWQubm90aWZ5T25lKCk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgfQorICAgICAgICBzdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgZGlz
cGF0Y2hBZnRlclRlc3RTdGFydGVkLm5vdGlmeU9uZSgpOworICAgIH0KKyAgICB7CisgICAgICAg
IExvY2tIb2xkZXIgbG9ja2VyKGxvY2spOworICAgICAgICBkaXNwYXRjaEFmdGVyVGVzdENvbXBs
ZXRlZC53YWl0KGxvY2ssIFsmXSB7CisgICAgICAgICAgICByZXR1cm4gY29tcGxldGVkOworICAg
ICAgICB9KTsKKyAgICAgICAgV1RGOjpzbGVlcCgwLjEpOworICAgIH0KK30KKwogfSAvLyBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>