<?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>68783</bug_id>
          
          <creation_ts>2011-09-25 16:23:07 -0700</creation_ts>
          <short_desc>IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups</short_desc>
          <delta_ts>2011-09-26 09:41: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>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Rowe (bdash)">mrowe</reporter>
          <assigned_to name="Mark Rowe (bdash)">mrowe</assigned_to>
          <cc>aroben</cc>
    
    <cc>beidson</cc>
    
    <cc>dino</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>472919</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-25 16:23:07 -0700</bug_when>
    <thetext>The code in IconDatabase::syncThreadMainLoop assumes that if the call to ThreadCondition::wait returns then it must have been due to the call to ThreadCondition::signal.  However, spurious wakeups (&lt;http://en.wikipedia.org/wiki/Spurious_wakeup&gt;) can lead to wait returning without the condition being signaled. When this happens we’ll hit the following assertion in a debug build:

            ASSERT(m_disabledSuddenTerminationForSyncThread);

In a release build we’ll get all sorts of console spew due to the resulting unbalanced call to enableSuddenTermination.

&lt;rdar://problem/10177824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472920</commentid>
    <comment_count>1</comment_count>
      <attachid>108616</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-25 16:28:24 -0700</bug_when>
    <thetext>Created attachment 108616
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472921</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-25 16:29:38 -0700</bug_when>
    <thetext>Attachment 108616 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472927</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-25 17:02:42 -0700</bug_when>
    <thetext>This patch isn’t quite right. If wakeSyncThread is called on the main thread while the sync thread is executing the body of the sync thread loop (e.g., when the lock has been dropped) then m_disabledSuddenTerminationForSyncThread and m_syncThreadHasWorkToDo will be set, but the block of code immediately before we call ThreadCondition::wait will reset m_disabledSuddenTerminationForSyncThread to false, causing us to then fail the assertion immediately after the call to ThreadCondition::wait.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472930</commentid>
    <comment_count>4</comment_count>
      <attachid>108618</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-25 17:49:47 -0700</bug_when>
    <thetext>Created attachment 108618
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472931</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-25 17:52:39 -0700</bug_when>
    <thetext>Attachment 108618 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472936</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-25 18:39:19 -0700</bug_when>
    <thetext>Landed in r95929.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473114</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-26 08:36:46 -0700</bug_when>
    <thetext>This is causing assertion failures for me on launch:

ASSERTION FAILED: m_disabledSuddenTerminationForSyncThread
/Users/aroben/dev/WebKit/OpenSource/Source/WebCore/loader/icon/IconDatabase.cpp(1441) : void *WebCore::IconDatabase::syncThreadMainLoop()
1   WebCore::IconDatabase::syncThreadMainLoop()
2   WebCore::IconDatabase::iconDatabaseSyncThread()
3   WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*)
4   _ZN3WTFL16threadEntryPointEPv
5   _pthread_start
6   thread_start

It looks like wakeSyncThread is being called before the sync thread has even started. This causes shouldReenableSuddenTermination to be set to true and m_disabledSuddenTerminationForSyncThread to be set to false at the start of syncThreadMainLoop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473149</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-26 09:41:39 -0700</bug_when>
    <thetext>Filed bug 68809 to follow up on that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108616</attachid>
            <date>2011-09-25 16:28:24 -0700</date>
            <delta_ts>2011-09-25 17:50:11 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>0001-rdar-problem-10177824-IconDatabase-s-use-of-ThreadCo.patch</filename>
            <type>text/plain</type>
            <size>4554</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">RnJvbSAxYWJkMGE5ZDVhMzQ5YWNkYzRmOTY0ZTc5MjcwYzhlYmM4NWFmMTQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFJvd2UgPG1yb3dlQGFwcGxlLmNvbT4KRGF0ZTogU3Vu
LCAyNSBTZXAgMjAxMSAxNjoyNzo1MCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdID0/VVRGLTg/cT88
cmRhcjovL3Byb2JsZW0vMTAxNzc4MjQ+PTIwSWNvbkRhdGFiYXNlPUUyPTgwPTk5Pz0KID0/VVRG
LTg/cT9zPTIwdXNlPTIwb2Y9MjBUaHJlYWRDb25kaXRpb249MjBsZWFkcz0yMHRvPTIwYXNzZXJ0
aW9uPTIwZmFpbHVyZT89CiA9P1VURi04P3E/cz0yMGluPTIwdGhlPTIwZmFjZT0yMG9mPTIwc3B1
cmlvdXM9MjB3YWtldXBzPz0KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3Bs
YWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkl0J3Mg
cG9zc2libGUgZm9yIFRocmVhZENvbmRpdGlvbjo6d2FpdCB0byByZXR1cm4gc3B1cmlvdXNseSB3
aXRob3V0IHRoZSBjb25kaXRpb24gaGF2aW5nIGJlZW4gc2lnbmFsZWQuCldoZW4gdGhhdCBoYXBw
ZW5zIHdlIHNob3VsZCBpbW1lZGlhdGVseSByZXR1cm4gdG8gd2FpdGluZyByYXRoZXIgdGhhbiBk
b2luZyBvdXIgbm9ybWFsIHdvcmssIGFzIHNvbWUgb2YgdGhhdAp3b3JrIHJlbGllcyBvbiB3YWtl
U3luY1RocmVhZCBoYXZpbmcgYmVlbiBjYWxsZWQgdG8gc2lnbmFsIHRoZSBjb25kaXRpb24uCgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cDoKKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6SWNvbkRhdGFiYXNlKToKKFdlYkNvcmU6Okljb25E
YXRhYmFzZTo6d2FrZVN5bmNUaHJlYWQpOiBOb3RlIHRoYXQgd2UgaGF2ZSB3b3JrIGZvciB0aGUg
c3luYyB0aHJlYWQgdG8gZG8uCihXZWJDb3JlOjpJY29uRGF0YWJhc2U6OnN5bmNUaHJlYWRNYWlu
TG9vcCk6IElmIHdlIHdlcmUgd29rZW4gd2l0aCBubyB3b3JrIHRvIGRvLCBpbW1lZGlhdGVseQpn
byBiYWNrIHRvIHdhaXRpbmcgb24gdGhlIGNvbmRpdGlvbiB2YXJpYWJsZS4gT3RoZXJ3aXNlLCBy
ZXNldCBtX3N5bmNUaHJlYWRIYXNXb3JrVG9EbyBhbmQgdGhlbgpkbyB0aGF0IHdvcmsuCiogbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlLmg6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIHwgICAgOCArKysrKysrLQogU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmggICB8ICAgIDMgKystCiAzIGZpbGVzIGNo
YW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGIx
NTdhNDAuLmVhYzExOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOS0yNSAg
TWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
MDE3NzgyND4gSWNvbkRhdGFiYXNl4oCZcyB1c2Ugb2YgVGhyZWFkQ29uZGl0aW9uIGxlYWRzIHRv
IGFzc2VydGlvbiBmYWlsdXJlcyBpbiB0aGUgZmFjZSBvZiBzcHVyaW91cyB3YWtldXBzCisKKyAg
ICAgICAgSXQncyBwb3NzaWJsZSBmb3IgVGhyZWFkQ29uZGl0aW9uOjp3YWl0IHRvIHJldHVybiBz
cHVyaW91c2x5IHdpdGhvdXQgdGhlIGNvbmRpdGlvbiBoYXZpbmcgYmVlbiBzaWduYWxlZC4KKyAg
ICAgICAgV2hlbiB0aGF0IGhhcHBlbnMgd2Ugc2hvdWxkIGltbWVkaWF0ZWx5IHJldHVybiB0byB3
YWl0aW5nIHJhdGhlciB0aGFuIGRvaW5nIG91ciBub3JtYWwgd29yaywgYXMgc29tZSBvZiB0aGF0
CisgICAgICAgIHdvcmsgcmVsaWVzIG9uIHdha2VTeW5jVGhyZWFkIGhhdmluZyBiZWVuIGNhbGxl
ZCB0byBzaWduYWwgdGhlIGNvbmRpdGlvbi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6Okljb25EYXRhYmFzZSk6CisgICAgICAgIChXZWJD
b3JlOjpJY29uRGF0YWJhc2U6Ondha2VTeW5jVGhyZWFkKTogTm90ZSB0aGF0IHdlIGhhdmUgd29y
ayBmb3IgdGhlIHN5bmMgdGhyZWFkIHRvIGRvLgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFi
YXNlOjpzeW5jVGhyZWFkTWFpbkxvb3ApOiBJZiB3ZSB3ZXJlIHdva2VuIHdpdGggbm8gd29yayB0
byBkbywgaW1tZWRpYXRlbHkKKyAgICAgICAgZ28gYmFjayB0byB3YWl0aW5nIG9uIHRoZSBjb25k
aXRpb24gdmFyaWFibGUuIE90aGVyd2lzZSwgcmVzZXQgbV9zeW5jVGhyZWFkSGFzV29ya1RvRG8g
YW5kIHRoZW4KKyAgICAgICAgZG8gdGhhdCB3b3JrLiAKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuaDoKKwogMjAxMS0wOS0yNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJlbW92ZSBQTEFURk9STShIQUlLVSkgYW5kIGFzc29jaWF0ZWQgY29k
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKaW5kZXggNWJh
OTVjNi4uZDE2ZDE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2UuY3BwCkBAIC03NjcsNiArNzY3LDcgQEAgSWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UoKQog
ICAgICwgbV90aHJlYWRUZXJtaW5hdGlvblJlcXVlc3RlZChmYWxzZSkKICAgICAsIG1fcmVtb3Zl
SWNvbnNSZXF1ZXN0ZWQoZmFsc2UpCiAgICAgLCBtX2ljb25VUkxJbXBvcnRDb21wbGV0ZShmYWxz
ZSkKKyAgICAsIG1fc3luY1RocmVhZEhhc1dvcmtUb0RvKGZhbHNlKQogICAgICwgbV9kaXNhYmxl
ZFN1ZGRlblRlcm1pbmF0aW9uRm9yU3luY1RocmVhZChmYWxzZSkKICAgICAsIG1faW5pdGlhbFBy
dW5pbmdDb21wbGV0ZShmYWxzZSkKICAgICAsIG1fY2xpZW50KGRlZmF1bHRDbGllbnQoKSkKQEAg
LTgxOCw2ICs4MTksNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6d2FrZVN5bmNUaHJlYWQoKQogICAg
ICAgICBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKICAgICB9CiAKKyAgICBtX3N5bmNUaHJl
YWRIYXNXb3JrVG9EbyA9IHRydWU7CiAgICAgbV9zeW5jQ29uZGl0aW9uLnNpZ25hbCgpOwogfQog
CkBAIC0xNDMyLDcgKzE0MzQsMTEgQEAgdm9pZCogSWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFp
bkxvb3AoKQogICAgICAgICAgICAgbV9kaXNhYmxlZFN1ZGRlblRlcm1pbmF0aW9uRm9yU3luY1Ro
cmVhZCA9IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgbV9zeW5jQ29uZGl0aW9uLndhaXQo
bV9zeW5jTG9jayk7CisgICAgICAgIHdoaWxlICghbV9zeW5jVGhyZWFkSGFzV29ya1RvRG8pCisg
ICAgICAgICAgICBtX3N5bmNDb25kaXRpb24ud2FpdChtX3N5bmNMb2NrKTsKKworICAgICAgICBt
X3N5bmNUaHJlYWRIYXNXb3JrVG9EbyA9IGZhbHNlOworICAgICAgICBBU1NFUlQobV9kaXNhYmxl
ZFN1ZGRlblRlcm1pbmF0aW9uRm9yU3luY1RocmVhZCk7CiAKICAgICAgICAgc2hvdWxkUmVlbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbiA9IHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCBiNTkzNzY0Li43YWIwODQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHByaXZh
dGU6CiAgICAgCiAgICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICBib29sIG1fcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZDsKLSAgICAKKwogICAgIG11dGFibGUgTXV0ZXggbV9zeW5jTG9jazsKICAgICBU
aHJlYWRDb25kaXRpb24gbV9zeW5jQ29uZGl0aW9uOwogICAgIFN0cmluZyBtX2RhdGFiYXNlRGly
ZWN0b3J5OwpAQCAtMTU0LDYgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RocmVhZFRl
cm1pbmF0aW9uUmVxdWVzdGVkOwogICAgIGJvb2wgbV9yZW1vdmVJY29uc1JlcXVlc3RlZDsKICAg
ICBib29sIG1faWNvblVSTEltcG9ydENvbXBsZXRlOworICAgIGJvb2wgbV9zeW5jVGhyZWFkSGFz
V29ya1RvRG87CiAgICAgYm9vbCBtX2Rpc2FibGVkU3VkZGVuVGVybWluYXRpb25Gb3JTeW5jVGhy
ZWFkOwogCiAgICAgTXV0ZXggbV91cmxBbmRJY29uTG9jazsKLS0gCjEuNy43LnJjMQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108618</attachid>
            <date>2011-09-25 17:49:47 -0700</date>
            <delta_ts>2011-09-25 18:13:40 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>0001-rdar-problem-10177824-IconDatabase-s-use-of-ThreadCo.patch</filename>
            <type>text/plain</type>
            <size>6708</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">RnJvbSAwYmExYWM5ODY2MDViMWU5ZGFhMmI5Njk4MmI4ODJmZmVkZWJmYzA4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFJvd2UgPG1yb3dlQGFwcGxlLmNvbT4KRGF0ZTogU3Vu
LCAyNSBTZXAgMjAxMSAxNjoyNzo1MCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdID0/VVRGLTg/cT88
cmRhcjovL3Byb2JsZW0vMTAxNzc4MjQ+PTIwSWNvbkRhdGFiYXNlPUUyPTgwPTk5Pz0KID0/VVRG
LTg/cT9zPTIwdXNlPTIwb2Y9MjBUaHJlYWRDb25kaXRpb249MjBsZWFkcz0yMHRvPTIwYXNzZXJ0
aW9uPTIwZmFpbHVyZT89CiA9P1VURi04P3E/cz0yMGluPTIwdGhlPTIwZmFjZT0yMG9mPTIwc3B1
cmlvdXM9MjB3YWtldXBzPz0KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3Bs
YWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkl0J3Mg
cG9zc2libGUgZm9yIFRocmVhZENvbmRpdGlvbjo6d2FpdCB0byByZXR1cm4gc3B1cmlvdXNseSB3
aXRob3V0IHRoZSBjb25kaXRpb24gaGF2aW5nIGJlZW4gc2lnbmFsZWQuCldoZW4gdGhhdCBoYXBw
ZW5zIHdlIHNob3VsZCBpbW1lZGlhdGVseSByZXR1cm4gdG8gd2FpdGluZyByYXRoZXIgdGhhbiBk
b2luZyBvdXIgbm9ybWFsIHdvcmssIGFzIHNvbWUgb2YgdGhhdAp3b3JrIHJlbGllcyBvbiB3YWtl
U3luY1RocmVhZCBoYXZpbmcgYmVlbiBjYWxsZWQgdG8gc2lnbmFsIHRoZSBjb25kaXRpb24uCgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cDoKKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6SWNvbkRhdGFiYXNlKToKKFdlYkNvcmU6Okljb25E
YXRhYmFzZTo6d2FrZVN5bmNUaHJlYWQpOiBOb3RlIHRoYXQgd2UgaGF2ZSB3b3JrIGZvciB0aGUg
c3luYyB0aHJlYWQgdG8gZG8uCihXZWJDb3JlOjpJY29uRGF0YWJhc2U6OnN5bmNUaHJlYWRNYWlu
TG9vcCk6IElmIHdlIHdlcmUgd29rZW4gd2l0aCBubyB3b3JrIHRvIGRvLCBpbW1lZGlhdGVseQpn
byBiYWNrIHRvIHdhaXRpbmcgb24gdGhlIGNvbmRpdGlvbiB2YXJpYWJsZS4gT3RoZXJ3aXNlLCBy
ZXNldCBtX3N5bmNUaHJlYWRIYXNXb3JrVG9EbyBhbmQgdGhlbgpkbyB0aGF0IHdvcmsuIFdlIGFs
c28gc3dpdGNoIHRvIG1vdmluZyBtX2Rpc2FibGVkU3VkZGVuVGVybWluYXRpb25Gb3JTeW5jVGhy
ZWFkIGltbWVkaWF0ZWx5IGluIHRvCm91ciBsb2NhbCBzaG91bGRSZWVuYWJsZVN1ZGRlblRlcm1p
bmF0aW9uIHZhcmlhYmxlIHNpbmNlIGl0IGNhbiBiZSB1cGRhdGVkIGJ5IG90aGVyIHRocmVhZHMg
d2hpbGUKd2UgZG9uJ3QgaG9sZCB0aGUgbG9jay4gVGhpcyBtYWtlcyBpdCBpbmFwcHJvcHJpYXRl
IHRvIG1ha2UgYXNzdW1wdGlvbnMgYWJvdXQgaXRzIHZhbHVlIGFmdGVyIGRyb3BwaW5nCmFuZCBy
ZWFjcXVpcmluZyB0aGUgbG9jay4KKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaDoKLS0tCiBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgICAyMSArKysrKysr
KysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAgfCAgIDE5ICsrKysrKysrKysrKystLS0tLS0KIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oICAgfCAgICAzICsrLQogMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRp
b25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMTU3YTQwLi42Y2UwNDJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDktMjUgIE1hcmsgUm93ZSAgPG1yb3dl
QGFwcGxlLmNvbT4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAxNzc4MjQ+IEljb25EYXRh
YmFzZeKAmXMgdXNlIG9mIFRocmVhZENvbmRpdGlvbiBsZWFkcyB0byBhc3NlcnRpb24gZmFpbHVy
ZXMgaW4gdGhlIGZhY2Ugb2Ygc3B1cmlvdXMgd2FrZXVwcworCisgICAgICAgIEl0J3MgcG9zc2li
bGUgZm9yIFRocmVhZENvbmRpdGlvbjo6d2FpdCB0byByZXR1cm4gc3B1cmlvdXNseSB3aXRob3V0
IHRoZSBjb25kaXRpb24gaGF2aW5nIGJlZW4gc2lnbmFsZWQuCisgICAgICAgIFdoZW4gdGhhdCBo
YXBwZW5zIHdlIHNob3VsZCBpbW1lZGlhdGVseSByZXR1cm4gdG8gd2FpdGluZyByYXRoZXIgdGhh
biBkb2luZyBvdXIgbm9ybWFsIHdvcmssIGFzIHNvbWUgb2YgdGhhdAorICAgICAgICB3b3JrIHJl
bGllcyBvbiB3YWtlU3luY1RocmVhZCBoYXZpbmcgYmVlbiBjYWxsZWQgdG8gc2lnbmFsIHRoZSBj
b25kaXRpb24uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SWNv
bkRhdGFiYXNlOjpJY29uRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNl
Ojp3YWtlU3luY1RocmVhZCk6IE5vdGUgdGhhdCB3ZSBoYXZlIHdvcmsgZm9yIHRoZSBzeW5jIHRo
cmVhZCB0byBkby4KKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1RocmVhZE1h
aW5Mb29wKTogSWYgd2Ugd2VyZSB3b2tlbiB3aXRoIG5vIHdvcmsgdG8gZG8sIGltbWVkaWF0ZWx5
CisgICAgICAgIGdvIGJhY2sgdG8gd2FpdGluZyBvbiB0aGUgY29uZGl0aW9uIHZhcmlhYmxlLiBP
dGhlcndpc2UsIHJlc2V0IG1fc3luY1RocmVhZEhhc1dvcmtUb0RvIGFuZCB0aGVuCisgICAgICAg
IGRvIHRoYXQgd29yay4gV2UgYWxzbyBzd2l0Y2ggdG8gbW92aW5nIG1fZGlzYWJsZWRTdWRkZW5U
ZXJtaW5hdGlvbkZvclN5bmNUaHJlYWQgaW1tZWRpYXRlbHkgaW4gdG8KKyAgICAgICAgb3VyIGxv
Y2FsIHNob3VsZFJlZW5hYmxlU3VkZGVuVGVybWluYXRpb24gdmFyaWFibGUgc2luY2UgaXQgY2Fu
IGJlIHVwZGF0ZWQgYnkgb3RoZXIgdGhyZWFkcyB3aGlsZQorICAgICAgICB3ZSBkb24ndCBob2xk
IHRoZSBsb2NrLiBUaGlzIG1ha2VzIGl0IGluYXBwcm9wcmlhdGUgdG8gbWFrZSBhc3N1bXB0aW9u
cyBhYm91dCBpdHMgdmFsdWUgYWZ0ZXIgZHJvcHBpbmcKKyAgICAgICAgYW5kIHJlYWNxdWlyaW5n
IHRoZSBsb2NrLgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oOgorCiAyMDEx
LTA5LTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IFBMQVRGT1JNKEhBSUtVKSBhbmQgYXNzb2NpYXRlZCBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCA1YmE5NWM2Li41ZWU2ZjkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKQEAgLTc2Nyw2ICs3Njcs
NyBAQCBJY29uRGF0YWJhc2U6Okljb25EYXRhYmFzZSgpCiAgICAgLCBtX3RocmVhZFRlcm1pbmF0
aW9uUmVxdWVzdGVkKGZhbHNlKQogICAgICwgbV9yZW1vdmVJY29uc1JlcXVlc3RlZChmYWxzZSkK
ICAgICAsIG1faWNvblVSTEltcG9ydENvbXBsZXRlKGZhbHNlKQorICAgICwgbV9zeW5jVGhyZWFk
SGFzV29ya1RvRG8oZmFsc2UpCiAgICAgLCBtX2Rpc2FibGVkU3VkZGVuVGVybWluYXRpb25Gb3JT
eW5jVGhyZWFkKGZhbHNlKQogICAgICwgbV9pbml0aWFsUHJ1bmluZ0NvbXBsZXRlKGZhbHNlKQog
ICAgICwgbV9jbGllbnQoZGVmYXVsdENsaWVudCgpKQpAQCAtODE4LDYgKzgxOSw3IEBAIHZvaWQg
SWNvbkRhdGFiYXNlOjp3YWtlU3luY1RocmVhZCgpCiAgICAgICAgIGRpc2FibGVTdWRkZW5UZXJt
aW5hdGlvbigpOwogICAgIH0KIAorICAgIG1fc3luY1RocmVhZEhhc1dvcmtUb0RvID0gdHJ1ZTsK
ICAgICBtX3N5bmNDb25kaXRpb24uc2lnbmFsKCk7CiB9CiAKQEAgLTEzNTAsMTAgKzEzNTIsMTEg
QEAgdm9pZCogSWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogewogICAgIEFTU0VS
VF9JQ09OX1NZTkNfVEhSRUFEKCk7CiAKLSAgICBib29sIHNob3VsZFJlZW5hYmxlU3VkZGVuVGVy
bWluYXRpb24gPSBmYWxzZTsKLQogICAgIG1fc3luY0xvY2subG9jaygpOwogCisgICAgYm9vbCBz
aG91bGRSZWVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uID0gbV9kaXNhYmxlZFN1ZGRlblRlcm1pbmF0
aW9uRm9yU3luY1RocmVhZDsKKyAgICBtX2Rpc2FibGVkU3VkZGVuVGVybWluYXRpb25Gb3JTeW5j
VGhyZWFkID0gZmFsc2U7CisKICAgICAvLyBJdCdzIHBvc3NpYmxlIHRocmVhZCB0ZXJtaW5hdGlv
biBpcyByZXF1ZXN0ZWQgYmVmb3JlIHRoZSBtYWluIGxvb3AgZXZlbiBzdGFydHMgLSBpbiB0aGF0
IGNhc2UsIGp1c3Qgc2tpcCBzdHJhaWdodCB0byBjbGVhbnVwCiAgICAgd2hpbGUgKCFtX3RocmVh
ZFRlcm1pbmF0aW9uUmVxdWVzdGVkKSB7CiAgICAgICAgIG1fc3luY0xvY2sudW5sb2NrKCk7CkBA
IC0xNDI3LDE0ICsxNDMwLDE3IEBAIHZvaWQqIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5M
b29wKCkKICAgICAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhlIGNh
bGwgdG8gZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAgICAgLy8gd2Fr
ZVN5bmNUaHJlYWQgZnVuY3Rpb24uIEFueSB0aW1lIHdlIHdhaXQgb24gdGhlIGNvbmRpdGlvbiwg
d2UgYWxzbyBoYXZlCiAgICAgICAgICAgICAvLyB0byBlbmFibGVTdWRkZW5UZXJtYXRpb24sIGFm
dGVyIGRvaW5nIHRoZSBuZXh0IGJhdGNoIG9mIHdvcmsuCi0gICAgICAgICAgICBBU1NFUlQobV9k
aXNhYmxlZFN1ZGRlblRlcm1pbmF0aW9uRm9yU3luY1RocmVhZCk7CiAgICAgICAgICAgICBlbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbigpOwotICAgICAgICAgICAgbV9kaXNhYmxlZFN1ZGRlblRlcm1p
bmF0aW9uRm9yU3luY1RocmVhZCA9IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgbV9zeW5j
Q29uZGl0aW9uLndhaXQobV9zeW5jTG9jayk7CisgICAgICAgIHdoaWxlICghbV9zeW5jVGhyZWFk
SGFzV29ya1RvRG8pCisgICAgICAgICAgICBtX3N5bmNDb25kaXRpb24ud2FpdChtX3N5bmNMb2Nr
KTsKIAorICAgICAgICBtX3N5bmNUaHJlYWRIYXNXb3JrVG9EbyA9IGZhbHNlOworCisgICAgICAg
IEFTU0VSVChtX2Rpc2FibGVkU3VkZGVuVGVybWluYXRpb25Gb3JTeW5jVGhyZWFkKTsKICAgICAg
ICAgc2hvdWxkUmVlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiA9IHRydWU7CisgICAgICAgIG1fZGlz
YWJsZWRTdWRkZW5UZXJtaW5hdGlvbkZvclN5bmNUaHJlYWQgPSBmYWxzZTsKICAgICB9CiAKICAg
ICBtX3N5bmNMb2NrLnVubG9jaygpOwpAQCAtMTQ0Niw4ICsxNDUyLDkgQEAgdm9pZCogSWNvbkRh
dGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUK
ICAgICAgICAgLy8gd2FrZVN5bmNUaHJlYWQgZnVuY3Rpb24uIEFueSB0aW1lIHdlIHdhaXQgb24g
dGhlIGNvbmRpdGlvbiwgd2UgYWxzbyBoYXZlCiAgICAgICAgIC8vIHRvIGVuYWJsZVN1ZGRlblRl
cm1hdGlvbiwgYWZ0ZXIgZG9pbmcgdGhlIG5leHQgYmF0Y2ggb2Ygd29yay4KLSAgICAgICAgQVNT
RVJUKG1fZGlzYWJsZWRTdWRkZW5UZXJtaW5hdGlvbkZvclN5bmNUaHJlYWQpOwogICAgICAgICBl
bmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworCisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlciht
X3N5bmNMb2NrKTsKICAgICAgICAgbV9kaXNhYmxlZFN1ZGRlblRlcm1pbmF0aW9uRm9yU3luY1Ro
cmVhZCA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuaAppbmRleCBiNTkzNzY0Li43YWIwODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHByaXZhdGU6CiAgICAgCiAg
ICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICBib29sIG1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDsK
LSAgICAKKwogICAgIG11dGFibGUgTXV0ZXggbV9zeW5jTG9jazsKICAgICBUaHJlYWRDb25kaXRp
b24gbV9zeW5jQ29uZGl0aW9uOwogICAgIFN0cmluZyBtX2RhdGFiYXNlRGlyZWN0b3J5OwpAQCAt
MTU0LDYgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RocmVhZFRlcm1pbmF0aW9uUmVx
dWVzdGVkOwogICAgIGJvb2wgbV9yZW1vdmVJY29uc1JlcXVlc3RlZDsKICAgICBib29sIG1faWNv
blVSTEltcG9ydENvbXBsZXRlOworICAgIGJvb2wgbV9zeW5jVGhyZWFkSGFzV29ya1RvRG87CiAg
ICAgYm9vbCBtX2Rpc2FibGVkU3VkZGVuVGVybWluYXRpb25Gb3JTeW5jVGhyZWFkOwogCiAgICAg
TXV0ZXggbV91cmxBbmRJY29uTG9jazsKLS0gCjEuNy43LnJjMQoK
</data>
<flag name="review"
          id="105627"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>