<?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>57382</bug_id>
          
          <creation_ts>2011-03-29 13:29:12 -0700</creation_ts>
          <short_desc>[chromium] UnlockNonLocked condition reached in WorkerFileSystemsCallbackBridge::mayPostTaskToWorker</short_desc>
          <delta_ts>2011-03-30 20:25:26 -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>PC</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter>cbentzel</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dimich</cc>
    
    <cc>kinuko</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375709</commentid>
    <comment_count>0</comment_count>
    <who name="">cbentzel</who>
    <bug_when>2011-03-29 13:29:12 -0700</bug_when>
    <thetext>Chromium Linux ThreadSanitizer bots started triggering this during a WebKit roll from 81970 to 82211.

I&apos;ve added a valgrind suppression for it, but the core issue should be fixed. 

See also http://crbug.com/77792</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375980</commentid>
    <comment_count>1</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-03-29 18:38:18 -0700</bug_when>
    <thetext>Hmm, not sure how I could unlock an non-locked lock using a scoped locker?  I&apos;ll look into it...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375982</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-03-29 18:52:04 -0700</bug_when>
    <thetext>Memory corruption?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376054</commentid>
    <comment_count>3</comment_count>
      <attachid>87468</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 23:16:56 -0700</bug_when>
    <thetext>Created attachment 87468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376055</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 23:18:29 -0700</bug_when>
    <thetext>This got introduced recently when a race was being fixed for a ref counted object but in turn the ref counting basically got moved inside of the mutex lock which led to this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376060</commentid>
    <comment_count>5</comment_count>
      <attachid>87468</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-03-29 23:25:48 -0700</bug_when>
    <thetext>Comment on attachment 87468
Patch

This patch is blowing my mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376064</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-03-29 23:32:24 -0700</bug_when>
    <thetext>I have re-read the comment and it makes sense to me.  (At least now I&apos;m sure that the previous code could cause a memory corruption.)   Thanks for looking into this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376100</commentid>
    <comment_count>7</comment_count>
      <attachid>87468</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-03-30 00:25:48 -0700</bug_when>
    <thetext>Comment on attachment 87468
Patch

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

&gt; Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.cpp:366
&gt; +        // Take the lock to ensure that it has been released on the other thread.

Does it actually mean &quot;Take the lock to wait until the other thread releases it&quot;?
If so, what ensures that the other thread grabbed the lock by that time?

I&apos;m not sure I really understand what you are doing here though :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376548</commentid>
    <comment_count>8</comment_count>
      <attachid>87468</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 11:53:17 -0700</bug_when>
    <thetext>Comment on attachment 87468
Patch

Ok, this was just a quick fix and no one understands it.

I&apos;m looking at this class and trying to solve this issue and the one that caused it. I think I can simplify a few things in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376771</commentid>
    <comment_count>9</comment_count>
      <attachid>87636</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 16:18:48 -0700</bug_when>
    <thetext>Created attachment 87636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376784</commentid>
    <comment_count>10</comment_count>
      <attachid>87636</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-03-30 16:53:55 -0700</bug_when>
    <thetext>Comment on attachment 87636
Patch

This change looks good to me now.  I wanted to get rid of m_selfRef but wasn&apos;t able to think of a solution.
Thanks very much!

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

&gt; Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.cpp:345
&gt; +    if (!bridge-&gt;m_worker) // Since this check is just an optimization, it doesn&apos;t matter that the usage isn&apos;t threadsafe.

I think we can just remove these lines?  (I&apos;m afraid tsan will warn on this check.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376788</commentid>
    <comment_count>11</comment_count>
      <attachid>87638</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 17:02:31 -0700</bug_when>
    <thetext>Created attachment 87638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376789</commentid>
    <comment_count>12</comment_count>
      <attachid>87638</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-03-30 17:09:19 -0700</bug_when>
    <thetext>Comment on attachment 87638
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376898</commentid>
    <comment_count>13</comment_count>
      <attachid>87638</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-30 20:25:20 -0700</bug_when>
    <thetext>Comment on attachment 87638
Patch

Clearing flags on attachment: 87638

Committed r82540: &lt;http://trac.webkit.org/changeset/82540&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376899</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-30 20:25:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87468</attachid>
            <date>2011-03-29 23:16:56 -0700</date>
            <delta_ts>2011-03-30 16:18:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57382-20110329231654.patch</filename>
            <type>text/plain</type>
            <size>2288</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIzOTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YWZhNGQ2MWU5YjI5ZTkxZGE3ZGRjYTdmZTVhMDMzZjRiMWVhYzM5OC4uMDQ1OTY0M2NiNWEzOGRm
MDA0MjBmYzI5M2Y4ODUwMGQ1ZDlmMGNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxMS0wMy0yOSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5s
b2NrTm9uTG9ja2VkIGNvbmRpdGlvbiByZWFjaGVkIGluIFdvcmtlckZpbGVTeXN0ZW1zQ2FsbGJh
Y2tCcmlkZ2U6Om1heVBvc3RUYXNrVG9Xb3JrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MzgyCisKKyAgICAgICAgKiBzcmMvV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldvcmtlckZpbGVTeXN0
ZW1DYWxsYmFja3NCcmlkZ2U6OnJ1blRhc2tPbldvcmtlclRocmVhZCk6IEZpeCB1cCBhIHBvc3Np
YmxlIHJhY2UKKyAgICAgICAgY29uZGl0aW9uIHdoaWNoIGNvdWxkIGxlYWQgdG8gbWVtb3J5IGNv
cnJ1cHRpb24uIE9mIGNvdXJzZSwgdGhpcyBpcyBhbGwgd2F5CisgICAgICAgIHRvbyBjb21wbGV4
IHdoaWNoIGlzIHdoeSB3ZSBuZWVkIHRvIG1ha2UgdGhlc2Ugb3BlcmF0aW9ucyBzaW1wbGVyLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE4NTcgY29u
Y2VybnMgdGhpcyBhbmQgSSdsbCB3b3JrIG9uIGl0IHNob3J0bHkuCisKIDIwMTEtMDMtMjkgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MjI5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAKaW5k
ZXggZDA1MzIyZmY5YWU1YzQ3NmU5NzU0YzI1MjQwMDc3OWU2M2UxYzU3NS4uOTVlYTE2YjViYTdk
MmE2MTlkY2IxNWM3MmQ1Y2FlNmViN2MwZTdiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5j
cHAKQEAgLTM2Miw2ICszNjIsMTMgQEAgdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJp
ZGdlOjpydW5UYXNrT25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGkKIAogdm9pZCBX
b3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpydW5UYXNrT25Xb3JrZXJUaHJlYWQoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUGFz
c1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBicmlkZ2UsIFBhc3NPd25Q
dHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFza1RvUnVuKQogewor
ICAgIHsKKyAgICAgICAgLy8gVGFrZSB0aGUgbG9jayB0byBlbnN1cmUgdGhhdCBpdCBoYXMgYmVl
biByZWxlYXNlZCBvbiB0aGUgb3RoZXIgdGhyZWFkLgorICAgICAgICAvLyBJZiB0aGUgbG9jayB3
ZXJlIG5vdCB0YWtlbiwgdGhlbiB0aGlzIGZ1bmN0aW9uIGNvdWxkIGV4aXQgYW5kIHJlbGVhc2Ug
aXRzIHJlZmVyZW5jZQorICAgICAgICAvLyB0byBicmlkZ2UgYmVmb3JlIG1heVBvc3RUYXNrVG9X
b3JrZXIgZXhpdHMuIFRoZW4gbWF5UG9zdFRhc2tUb1dvcmtlciB3b3VsZCB1bmxvY2sKKyAgICAg
ICAgLy8gYnJpZGdlLT5tX211dGV4IGJ1dCB0aGF0IG1lbW9yeSBoYXMgYmVlbiBmcmVlZCBhbHJl
YWR5LikuCisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihicmlkZ2UtPm1fbXV0ZXgpOworICAg
IH0KICAgICBpZiAoIWJyaWRnZS0+bV9jYWxsYmFja3NPbldvcmtlclRocmVhZCkKICAgICAgICAg
cmV0dXJuOwogICAgIEFTU0VSVChicmlkZ2UtPm1fd29ya2VyQ29udGV4dC0+aXNDb250ZXh0VGhy
ZWFkKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87636</attachid>
            <date>2011-03-30 16:18:48 -0700</date>
            <delta_ts>2011-03-30 17:02:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57382-20110330161847.patch</filename>
            <type>text/plain</type>
            <size>7505</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
OGJlY2RiYTg0NWNjZTgwZTRmOTRiNTU5OTEzYjYwZWQ1Y2M5OGY5Ny4uZDQxYzIyZDJkYTM1YTI1
MjgzY2E2Y2Q2NGZjNDU4NGNhZjBkYTU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMS0wMy0zMCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5s
b2NrTm9uTG9ja2VkIGNvbmRpdGlvbiByZWFjaGVkIGluIFdvcmtlckZpbGVTeXN0ZW1zQ2FsbGJh
Y2tCcmlkZ2U6Om1heVBvc3RUYXNrVG9Xb3JrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MzgyCisKKyAgICAgICAgVGhlcmUgd2VyZSB0d28gaXNz
dWVzIHRvIGFkZHJlc3M6CisgICAgICAgIDEuIFRoZSB1c2Ugb2YgYSBub24tdGhyZWFkIHNhZmUg
Y2xhc3MgKFJlZlB0cikgaW4gYSBUaHJlYWRTYWZlUmVmQ291bnRlZCBjbGFzcy4KKyAgICAgICAg
ICAgVGhlIHByb2JsZW0gd2FzIHRoYXQgdGhpcyBSZWZQdHIgY291bGQgYmUgY2hhbmdlZCBvbiBl
aXRoZXIgdGhyZWFkLgorICAgICAgICAyLiBLZWVwaW5nIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFj
a3NCcmlkZ2UgYWxpdmUgZm9yIHdoaWxlIGl0IHdhcyBiZWluZyB1c2VkCisgICAgICAgICAgIGlu
Y2x1ZGluZyB3aGlsZSBpdHMgbXV0ZXggd2FzIGluIHVzZS4KKworICAgICAgICAqIHNyYy9Xb3Jr
ZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cnVuVGFza09uTWFpblRocmVhZCk6CisgICAgICAg
IENoYW5nZWQgdG8gdGFrZSBhIFBhc3NSZWZQdHIgYW5kIGxlYWsgdGhlIHJlZiBjb3VudCBhcyBv
cHBvc2VkIHRvIHJlbHlpbmcgb24KKyAgICAgICAgZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkIHRv
IHN0b3JlIHRoZSBwb2ludGVyIGluIG1fc2VsZlJlZi4KKyAgICAgICAgKFdlYktpdDo6V29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKTogUmVt
b3ZlIHRoZQorICAgICAgICBtX3NlbGZSZWYgYW5kIGhhbmQgb2ZmIGEgUGFzc1JlZlB0ciBpbnN0
ZWFkLgorICAgICAgICAoV2ViS2l0OjpXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpt
YXlQb3N0VGFza1RvV29ya2VyKTogQmFsYW5jZSBvdXQgdGhlIGxlYWtlZCByZWYKKyAgICAgICAg
YW5kIGVuc3VyZSB0aGF0IFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2Ugc3RheXMgYWxp
dmUgd2hpbGUgdGhlIG11dGV4IGlzIGhlbGQuCisgICAgICAgICogc3JjL1dvcmtlckZpbGVTeXN0
ZW1DYWxsYmFja3NCcmlkZ2UuaDogUmVtb3ZlZCBtX3NlbGZSZWYgYW5kIGRlcmVmSWZXb3JrZXJJ
c1N0b3BwZWQgd2hpY2gKKyAgICAgICAgICB3YXMgc2ltcGx5IGR1ZSB0byBtX3NlbGZSZWYuCisK
IDIwMTEtMDMtMjkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcApp
bmRleCBkMDUzMjJmZjlhZTVjNDc2ZTk3NTRjMjUyNDAwNzc5ZTYzZTFjNTc1Li5mYjZkNDA5Y2Yz
NzZlMGQ0Njg0YjRlZDM4ZTQyY2UzOTk4YjE0NDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdl
LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzNywy
NiArMzM4LDE2IEBAIHZvaWQgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6ZGlkUmVh
ZERpcmVjdG9yeU9uV29ya2VyVGhyZWFkKFNjcmlwdEV4ZWN1CiAgICAgYnJpZGdlLT5tX2NhbGxi
YWNrc09uV29ya2VyVGhyZWFkLT5kaWRSZWFkRGlyZWN0b3J5KGVudHJpZXMsIGhhc01vcmUpOwog
fQogCi1ib29sIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OmRlcmVmSWZXb3JrZXJJ
c1N0b3BwZWQoKQotewotICAgIFdlYldvcmtlckJhc2UqIHdvcmtlciA9IDA7Ci0gICAgewotICAg
ICAgICBNdXRleExvY2tlciBsb2NrZXIobV9tdXRleCk7Ci0gICAgICAgIHdvcmtlciA9IG1fd29y
a2VyOwotICAgIH0KLQotICAgIGlmICghd29ya2VyKSB7Ci0gICAgICAgIG1fc2VsZlJlZi5jbGVh
cigpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQog
Ci12b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnJ1blRhc2tPbk1haW5UaHJl
YWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZSogYnJpZGdlLCBQYXNzT3duUHRyPFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2tUb1J1bikKK3ZvaWQgV29y
a2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cnVuVGFza09uTWFpblRocmVhZChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBQYXNzUmVm
UHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSwgUGFzc093blB0cjxX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrVG9SdW4pCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBpZiAoYnJpZGdlLT5kZXJlZklmV29ya2VySXNT
dG9wcGVkKCkpCisgICAgaWYgKCFicmlkZ2UtPm1fd29ya2VyKSAvLyBTaW5jZSB0aGlzIGNoZWNr
IGlzIGp1c3QgYW4gb3B0aW1pemF0aW9uLCBpdCBkb2Vzbid0IG1hdHRlciB0aGF0IHRoZSB1c2Fn
ZSBpc24ndCB0aHJlYWRzYWZlLgogICAgICAgICByZXR1cm47CisKKyAgICAvLyBFdmVyeSB0YXNr
IHJ1biB3aWxsIHJlc3VsdCBpbiBvbmUgY2FsbCB0byBtYXlQb3N0VGFza1RvV29ya2VyLCB3aGlj
aCBpcyB3aGVyZSB0aGlzIHJlZiBpcyByZWxlYXNlZC4KKyAgICBXb3JrZXJGaWxlU3lzdGVtQ2Fs
bGJhY2tzQnJpZGdlKiBsZWFrZWQgPSBicmlkZ2UubGVha1JlZigpOworICAgIFVOVVNFRF9QQVJB
TShsZWFrZWQpOwogICAgIHRhc2tUb1J1bi0+cGVyZm9ybVRhc2soc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk7CiB9CiAKQEAgLTM3MiwxOSArMzYzLDIyIEBAIHZvaWQgV29ya2VyRmlsZVN5c3RlbUNh
bGxiYWNrc0JyaWRnZTo6cnVuVGFza09uV29ya2VyVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
CiAKIHZvaWQgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6ZGlzcGF0Y2hUYXNrVG9N
YWluVGhyZWFkKFBhc3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
az4gdGFzaykKIHsKLSAgICBBU1NFUlQoIW1fc2VsZlJlZik7CiAgICAgQVNTRVJUKG1fd29ya2Vy
KTsKICAgICBBU1NFUlQobV93b3JrZXJDb250ZXh0LT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0gICAg
bV9zZWxmUmVmID0gdGhpczsKLSAgICBtX3dvcmtlci0+ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFk
KGNyZWF0ZUNhbGxiYWNrVGFzaygmcnVuVGFza09uTWFpblRocmVhZCwgdGhpcywgdGFzaykpOwor
ICAgIG1fd29ya2VyLT5kaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoY3JlYXRlQ2FsbGJhY2tUYXNr
KCZydW5UYXNrT25NYWluVGhyZWFkLCBSZWZQdHI8V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0Jy
aWRnZT4odGhpcykucmVsZWFzZSgpLCB0YXNrKSk7CiB9CiAKIHZvaWQgV29ya2VyRmlsZVN5c3Rl
bUNhbGxiYWNrc0JyaWRnZTo6bWF5UG9zdFRhc2tUb1dvcmtlcihQYXNzT3duUHRyPFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2ssIGNvbnN0IFN0cmluZyYgbW9kZSkKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgLy8gQmFsYW5jaW5nIG91dCB0aGUgcmVmKCkg
ZG9uZSBpbiBydW5UYXNrT25NYWluVGhyZWFkLiAoU2luY2UgbV9tdXRleCBpcyBhIG1lbWJlciBh
bmQgdGhlIGRlcmVmIG1heSByZXN1bHQKKyAgICAvLyBpbiB0aGUgZGVzdHJ1Y3Rpb24gb2YgV29y
a2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZSwgdGhlIG9yZGVyaW5nIG9mIHRoZSBSZWZQdHIg
YW5kIHRoZSBNdXRleExvY2tlcgorICAgIC8vIGlzIHZlcnkgaW1wb3J0YW50LCB0byBlbnN1cmUg
dGhhdCB0aGUgbV9tdXRleCBpcyBzdGlsbCB2YWxpZCB3aGVuIGl0IGdldHMgdW5sb2NrZWQuKQor
ICAgIFJlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBicmlkZ2UgPSBhZG9w
dFJlZih0aGlzKTsKICAgICBNdXRleExvY2tlciBsb2NrZXIobV9tdXRleCk7CiAgICAgaWYgKG1f
d29ya2VyKQotICAgICAgICBtX3dvcmtlci0+cG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0
KGNyZWF0ZUNhbGxiYWNrVGFzaygmcnVuVGFza09uV29ya2VyVGhyZWFkLCBtX3NlbGZSZWYucmVs
ZWFzZSgpLCB0YXNrKSwgbW9kZSk7CisgICAgICAgIG1fd29ya2VyLT5wb3N0VGFza0Zvck1vZGVU
b1dvcmtlckNvbnRleHQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZydW5UYXNrT25Xb3JrZXJUaHJlYWQs
IGJyaWRnZSwgdGFzayksIG1vZGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJh
Y2tzQnJpZGdlLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVt
Q2FsbGJhY2tzQnJpZGdlLmgKaW5kZXggOWE4NjlkYzY4ZGVlMGZkNDQ4M2Y0NTdmMjcyMGYwZjY3
YzZkOWYxOS4uNWFmODUyOWY3ZGIxY2UyOTcwYmFjOTE1NzRmYWMxZmMxNDg0ODVlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0
ZW1DYWxsYmFja3NCcmlkZ2UuaApAQCAtMTIyLDI1ICsxMjIsMTggQEAgcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgTWFpblRocmVhZEZpbGVTeXN0ZW1DYWxsYmFja3M7CiAKICAgICAvLyBNZXRo
b2RzIHRoYXQgZGlzcGF0Y2ggV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyBvbiB0aGUgd29ya2VyIHRo
cmVhZHMuCi0gICAgLy8gVGhleSByZWxlYXNlIGEgc2VsZlJlZiBvZiB0aGUgV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZS4KICAgICBzdGF0aWMgdm9pZCBkaWRGYWlsT25Xb3JrZXJUaHJl
YWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2UqLCBXZWJGaWxlRXJyb3IpOwogICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5GaWxl
U3lzdGVtT25Xb3JrZXJUaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdv
cmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UqLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgcm9vdFBhdGgpOwogICAgIHN0YXRpYyB2b2lkIGRpZFN1Y2NlZWRPbldvcmtlclRo
cmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyRmlsZVN5c3RlbUNh
bGxiYWNrc0JyaWRnZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlYWRNZXRhZGF0YU9uV29ya2Vy
VGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBXb3JrZXJGaWxlU3lzdGVt
Q2FsbGJhY2tzQnJpZGdlKiwgY29uc3QgV2ViRmlsZUluZm8mKTsKICAgICBzdGF0aWMgdm9pZCBk
aWRSZWFkRGlyZWN0b3J5T25Xb3JrZXJUaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UqLCBjb25zdCBXZWJWZWN0b3I8
V2ViRmlsZVN5c3RlbUVudHJ5PiYsIGJvb2wgaGFzTW9yZSk7CiAKLSAgICAvLyBGb3IgZWFybHkt
ZXhpc3Q7IHRoaXMgZGVyZWYncyBzZWxmUmVmIGFuZCByZXR1cm5zIHRydWUgaWYgdGhlIHdvcmtl
ciBpcyBhbHJlYWR5IG51bGwuCi0gICAgYm9vbCBkZXJlZklmV29ya2VySXNTdG9wcGVkKCk7Ci0K
LSAgICBzdGF0aWMgdm9pZCBydW5UYXNrT25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlKiwgUGFzc093blB0
cjxXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPik7CisgICAgc3RhdGljIHZv
aWQgcnVuVGFza09uTWFpblRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgUGFzc093blB0cjxX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPik7CiAgICAgc3RhdGljIHZvaWQg
cnVuVGFza09uV29ya2VyVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+LCBQYXNzT3duUHRyPFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KTsKIAogICAgIHZvaWQgZGlzcGF0
Y2hUYXNrVG9NYWluVGhyZWFkKFBhc3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzaz4pOwogICAgIHZvaWQgbWF5UG9zdFRhc2tUb1dvcmtlcihQYXNzT3duUHRyPFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+LCBjb25zdCBTdHJpbmcmIG1vZGUp
OwogCi0gICAgLy8gbV9zZWxmUmVmIGtlZXBzIGEgcmVmZXJlbmNlIHRvIGl0c2VsZiB3aGlsZSB0
aGVyZSdzIGEgcGVuZGluZyBjYWxsYmFjayBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgUmVmUHRy
PFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+IG1fc2VsZlJlZjsKLQogICAgIE11dGV4
IG1fbXV0ZXg7CiAgICAgV2ViV29ya2VyQmFzZSogbV93b3JrZXI7CiAgICAgV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogbV93b3JrZXJDb250ZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87638</attachid>
            <date>2011-03-30 17:02:31 -0700</date>
            <delta_ts>2011-03-30 20:25:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57382-20110330170229.patch</filename>
            <type>text/plain</type>
            <size>7381</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
OGJlY2RiYTg0NWNjZTgwZTRmOTRiNTU5OTEzYjYwZWQ1Y2M5OGY5Ny4uZDQxYzIyZDJkYTM1YTI1
MjgzY2E2Y2Q2NGZjNDU4NGNhZjBkYTU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMS0wMy0zMCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5s
b2NrTm9uTG9ja2VkIGNvbmRpdGlvbiByZWFjaGVkIGluIFdvcmtlckZpbGVTeXN0ZW1zQ2FsbGJh
Y2tCcmlkZ2U6Om1heVBvc3RUYXNrVG9Xb3JrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MzgyCisKKyAgICAgICAgVGhlcmUgd2VyZSB0d28gaXNz
dWVzIHRvIGFkZHJlc3M6CisgICAgICAgIDEuIFRoZSB1c2Ugb2YgYSBub24tdGhyZWFkIHNhZmUg
Y2xhc3MgKFJlZlB0cikgaW4gYSBUaHJlYWRTYWZlUmVmQ291bnRlZCBjbGFzcy4KKyAgICAgICAg
ICAgVGhlIHByb2JsZW0gd2FzIHRoYXQgdGhpcyBSZWZQdHIgY291bGQgYmUgY2hhbmdlZCBvbiBl
aXRoZXIgdGhyZWFkLgorICAgICAgICAyLiBLZWVwaW5nIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFj
a3NCcmlkZ2UgYWxpdmUgZm9yIHdoaWxlIGl0IHdhcyBiZWluZyB1c2VkCisgICAgICAgICAgIGlu
Y2x1ZGluZyB3aGlsZSBpdHMgbXV0ZXggd2FzIGluIHVzZS4KKworICAgICAgICAqIHNyYy9Xb3Jr
ZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cnVuVGFza09uTWFpblRocmVhZCk6CisgICAgICAg
IENoYW5nZWQgdG8gdGFrZSBhIFBhc3NSZWZQdHIgYW5kIGxlYWsgdGhlIHJlZiBjb3VudCBhcyBv
cHBvc2VkIHRvIHJlbHlpbmcgb24KKyAgICAgICAgZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkIHRv
IHN0b3JlIHRoZSBwb2ludGVyIGluIG1fc2VsZlJlZi4KKyAgICAgICAgKFdlYktpdDo6V29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKTogUmVt
b3ZlIHRoZQorICAgICAgICBtX3NlbGZSZWYgYW5kIGhhbmQgb2ZmIGEgUGFzc1JlZlB0ciBpbnN0
ZWFkLgorICAgICAgICAoV2ViS2l0OjpXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpt
YXlQb3N0VGFza1RvV29ya2VyKTogQmFsYW5jZSBvdXQgdGhlIGxlYWtlZCByZWYKKyAgICAgICAg
YW5kIGVuc3VyZSB0aGF0IFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2Ugc3RheXMgYWxp
dmUgd2hpbGUgdGhlIG11dGV4IGlzIGhlbGQuCisgICAgICAgICogc3JjL1dvcmtlckZpbGVTeXN0
ZW1DYWxsYmFja3NCcmlkZ2UuaDogUmVtb3ZlZCBtX3NlbGZSZWYgYW5kIGRlcmVmSWZXb3JrZXJJ
c1N0b3BwZWQgd2hpY2gKKyAgICAgICAgICB3YXMgc2ltcGx5IGR1ZSB0byBtX3NlbGZSZWYuCisK
IDIwMTEtMDMtMjkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcApp
bmRleCBkMDUzMjJmZjlhZTVjNDc2ZTk3NTRjMjUyNDAwNzc5ZTYzZTFjNTc1Li41MTQ3ZTE1YTE5
NGIyOWNiZmI4N2E1NzY4MjMxNDY2Njg2MGYwMTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdl
LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzNywy
NiArMzM4LDE0IEBAIHZvaWQgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6ZGlkUmVh
ZERpcmVjdG9yeU9uV29ya2VyVGhyZWFkKFNjcmlwdEV4ZWN1CiAgICAgYnJpZGdlLT5tX2NhbGxi
YWNrc09uV29ya2VyVGhyZWFkLT5kaWRSZWFkRGlyZWN0b3J5KGVudHJpZXMsIGhhc01vcmUpOwog
fQogCi1ib29sIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OmRlcmVmSWZXb3JrZXJJ
c1N0b3BwZWQoKQotewotICAgIFdlYldvcmtlckJhc2UqIHdvcmtlciA9IDA7Ci0gICAgewotICAg
ICAgICBNdXRleExvY2tlciBsb2NrZXIobV9tdXRleCk7Ci0gICAgICAgIHdvcmtlciA9IG1fd29y
a2VyOwotICAgIH0KIAotICAgIGlmICghd29ya2VyKSB7Ci0gICAgICAgIG1fc2VsZlJlZi5jbGVh
cigpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci12b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnJ1blRhc2tPbk1haW5UaHJl
YWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZSogYnJpZGdlLCBQYXNzT3duUHRyPFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2tUb1J1bikKK3ZvaWQgV29y
a2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cnVuVGFza09uTWFpblRocmVhZChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBQYXNzUmVm
UHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSwgUGFzc093blB0cjxX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrVG9SdW4pCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBpZiAoYnJpZGdlLT5kZXJlZklmV29ya2VySXNT
dG9wcGVkKCkpCi0gICAgICAgIHJldHVybjsKKworICAgIC8vIEV2ZXJ5IHRhc2sgcnVuIHdpbGwg
cmVzdWx0IGluIG9uZSBjYWxsIHRvIG1heVBvc3RUYXNrVG9Xb3JrZXIsIHdoaWNoIGlzIHdoZXJl
IHRoaXMgcmVmIGlzIHJlbGVhc2VkLgorICAgIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlk
Z2UqIGxlYWtlZCA9IGJyaWRnZS5sZWFrUmVmKCk7CisgICAgVU5VU0VEX1BBUkFNKGxlYWtlZCk7
CiAgICAgdGFza1RvUnVuLT5wZXJmb3JtVGFzayhzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKIH0K
IApAQCAtMzcyLDE5ICszNjEsMjIgQEAgdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJp
ZGdlOjpydW5UYXNrT25Xb3JrZXJUaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3UKIAogdm9pZCBX
b3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQo
UGFzc093blB0cjxXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQog
ewotICAgIEFTU0VSVCghbV9zZWxmUmVmKTsKICAgICBBU1NFUlQobV93b3JrZXIpOwogICAgIEFT
U0VSVChtX3dvcmtlckNvbnRleHQtPmlzQ29udGV4dFRocmVhZCgpKTsKLSAgICBtX3NlbGZSZWYg
PSB0aGlzOwotICAgIG1fd29ya2VyLT5kaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoY3JlYXRlQ2Fs
bGJhY2tUYXNrKCZydW5UYXNrT25NYWluVGhyZWFkLCB0aGlzLCB0YXNrKSk7CisgICAgbV93b3Jr
ZXItPmRpc3BhdGNoVGFza1RvTWFpblRocmVhZChjcmVhdGVDYWxsYmFja1Rhc2soJnJ1blRhc2tP
bk1haW5UaHJlYWQsIFJlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPih0aGlz
KS5yZWxlYXNlKCksIHRhc2spKTsKIH0KIAogdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tz
QnJpZGdlOjptYXlQb3N0VGFza1RvV29ya2VyKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKQogewogICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisKKyAgICAvLyBCYWxhbmNpbmcgb3V0IHRoZSByZWYoKSBkb25lIGluIHJ1
blRhc2tPbk1haW5UaHJlYWQuIChTaW5jZSBtX211dGV4IGlzIGEgbWVtYmVyIGFuZCB0aGUgZGVy
ZWYgbWF5IHJlc3VsdAorICAgIC8vIGluIHRoZSBkZXN0cnVjdGlvbiBvZiBXb3JrZXJGaWxlU3lz
dGVtQ2FsbGJhY2tzQnJpZGdlLCB0aGUgb3JkZXJpbmcgb2YgdGhlIFJlZlB0ciBhbmQgdGhlIE11
dGV4TG9ja2VyCisgICAgLy8gaXMgdmVyeSBpbXBvcnRhbnQsIHRvIGVuc3VyZSB0aGF0IHRoZSBt
X211dGV4IGlzIHN0aWxsIHZhbGlkIHdoZW4gaXQgZ2V0cyB1bmxvY2tlZC4pCisgICAgUmVmUHRy
PFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSA9IGFkb3B0UmVmKHRoaXMp
OwogICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX211dGV4KTsKICAgICBpZiAobV93b3JrZXIpCi0g
ICAgICAgIG1fd29ya2VyLT5wb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2Fs
bGJhY2tUYXNrKCZydW5UYXNrT25Xb3JrZXJUaHJlYWQsIG1fc2VsZlJlZi5yZWxlYXNlKCksIHRh
c2spLCBtb2RlKTsKKyAgICAgICAgbV93b3JrZXItPnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyQ29u
dGV4dChjcmVhdGVDYWxsYmFja1Rhc2soJnJ1blRhc2tPbldvcmtlclRocmVhZCwgYnJpZGdlLCB0
YXNrKSwgbW9kZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2UuaAppbmRleCA5YTg2OWRjNjhkZWUwZmQ0NDgzZjQ1N2YyNzIwZjBmNjdjNmQ5ZjE5Li41
YWY4NTI5ZjdkYjFjZTI5NzBiYWM5MTU3NGZhYzFmYzE0ODQ4NWU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5oCkBAIC0xMjIsMjUgKzEyMiwxOCBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBNYWluVGhyZWFkRmlsZVN5c3RlbUNhbGxiYWNrczsKIAogICAgIC8vIE1ldGhvZHMgdGhhdCBk
aXNwYXRjaCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzIG9uIHRoZSB3b3JrZXIgdGhyZWFkcy4KLSAg
ICAvLyBUaGV5IHJlbGVhc2UgYSBzZWxmUmVmIG9mIHRoZSBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJh
Y2tzQnJpZGdlLgogICAgIHN0YXRpYyB2b2lkIGRpZEZhaWxPbldvcmtlclRocmVhZChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRn
ZSosIFdlYkZpbGVFcnJvcik7CiAgICAgc3RhdGljIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW1Pbldv
cmtlclRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZSosIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBy
b290UGF0aCk7CiAgICAgc3RhdGljIHZvaWQgZGlkU3VjY2VlZE9uV29ya2VyVGhyZWFkKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJp
ZGdlKik7CiAgICAgc3RhdGljIHZvaWQgZGlkUmVhZE1ldGFkYXRhT25Xb3JrZXJUaHJlYWQoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2UqLCBjb25zdCBXZWJGaWxlSW5mbyYpOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlYWREaXJl
Y3RvcnlPbldvcmtlclRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29y
a2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZSosIGNvbnN0IFdlYlZlY3RvcjxXZWJGaWxlU3lz
dGVtRW50cnk+JiwgYm9vbCBoYXNNb3JlKTsKIAotICAgIC8vIEZvciBlYXJseS1leGlzdDsgdGhp
cyBkZXJlZidzIHNlbGZSZWYgYW5kIHJldHVybnMgdHJ1ZSBpZiB0aGUgd29ya2VyIGlzIGFscmVh
ZHkgbnVsbC4KLSAgICBib29sIGRlcmVmSWZXb3JrZXJJc1N0b3BwZWQoKTsKLQotICAgIHN0YXRp
YyB2b2lkIHJ1blRhc2tPbk1haW5UaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UqLCBQYXNzT3duUHRyPFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KTsKKyAgICBzdGF0aWMgdm9pZCBydW5UYXNr
T25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+LCBQYXNzT3duUHRyPFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KTsKICAgICBzdGF0aWMgdm9pZCBydW5UYXNrT25X
b3JrZXJUaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8
V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZT4sIFBhc3NPd25QdHI8V2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4pOwogCiAgICAgdm9pZCBkaXNwYXRjaFRhc2tUb01h
aW5UaHJlYWQoUGFzc093blB0cjxXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNr
Pik7CiAgICAgdm9pZCBtYXlQb3N0VGFza1RvV29ya2VyKFBhc3NPd25QdHI8V2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4sIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAKLSAgICAv
LyBtX3NlbGZSZWYga2VlcHMgYSByZWZlcmVuY2UgdG8gaXRzZWxmIHdoaWxlIHRoZXJlJ3MgYSBw
ZW5kaW5nIGNhbGxiYWNrIG9uIHRoZSBtYWluIHRocmVhZC4KLSAgICBSZWZQdHI8V29ya2VyRmls
ZVN5c3RlbUNhbGxiYWNrc0JyaWRnZT4gbV9zZWxmUmVmOwotCiAgICAgTXV0ZXggbV9tdXRleDsK
ICAgICBXZWJXb3JrZXJCYXNlKiBtX3dvcmtlcjsKICAgICBXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBtX3dvcmtlckNvbnRleHQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>