<?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>143245</bug_id>
          
          <creation_ts>2015-03-30 18:35:06 -0700</creation_ts>
          <short_desc>Crash when WebCore::SQLiteFileSystem::openDatabase is called from multiple threads</short_desc>
          <delta_ts>2015-09-13 16:14:28 -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>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1201823</see_also>
    
    <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1217952</see_also>
    
    <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1228391</see_also>
    
    <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1207221</see_also>
    
    <see_also>http://code.google.com/p/chromium/issues/detail?id=248101</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="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>drh</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1081531</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-30 18:35:06 -0700</bug_when>
    <thetext>With WebKitGTK+ 2.8.0, the UI process likes to crash when multiple threads call WebCore::SQLiteFileSystem::openDatabase at the same time.  I never understood sqlite3 thread safety but a reasonable guess is that we&apos;re doing it wrong.

Backtraces:

https://bugzilla.redhat.com/attachment.cgi?id=1001406
https://bugzilla.redhat.com/attachment.cgi?id=1008458</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081983</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-01 06:29:16 -0700</bug_when>
    <thetext>The question here is why there are two work queue threads for local storage if there&apos;s only one web context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081987</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-01 06:41:31 -0700</bug_when>
    <thetext>Ok, it&apos;s the inspector web context. It happens since the inspector uses its own web context (r173929). It&apos;s because WebProcessProxy::getLaunchOptions() creates the inspector context to check if the current context is the inspector one or not , to add &quot;inspector-process&quot; extra config. I still don&apos;t know why sqlite crashes when trying to open the same database from multiple processes though, I don&apos;t even know if sqlite is supposed to be thread-safe. But we could just move the inspector-process thing to mac and ios platformGetLaunchOptions() methods, to avoid creating the two web contexts at the same time (and also to avoid the creation of the inspector web context even if the inspector is never used). Another alternative to avoid this could be using a different way to identify the inspector context without having to create the context for that. 
I also wonder if we should avoid creating the local storage database when localStorage is disabled in settings, but that would be a different issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082807</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-04 12:37:40 -0700</bug_when>
    <thetext>Different but very related issue: I notice that one WebProcessPool is always leaked (using a debug build) when starting any application that uses WebKit, sometimes two. I never bothered to track it down, but surely it is that inspector &quot;context.&quot; I don&apos;t think it&apos;s OK for WebInspectorProxy::inspectorProcessPool to intentionally leak the inspector context because WebProcessPool is fast-allocated. Also, WebInspectorProxy::inspectorProcessPool is not thread-safe; I presume the double leak occurs when multiple web processes are started at once. In platform-specific code I would fix that using GOnce and a RefPtr, like we do for the default web context, but I&apos;m not sure what the appropriate idiom would be in WebInspectorProxy.cpp.

Maybe I should file another bug for this, but I guess it may be obsoleted by a fix for this bug.

(In reply to comment #2)
&gt; I also wonder if we should avoid creating the local storage database when
&gt; localStorage is disabled in settings, but that would be a different issue.

Yes....

Regarding thread safety: https://sqlite.org/threadsafe.html

In particular, &quot;In serialized mode, SQLite can be safely used by multiple threads with no restriction&quot; and &quot;The default mode is serialized.&quot; Hm. I did a few git greps and am pretty sure we never change the default mode, which suggests this may be a bug in SQLite. It would probably be good to explicitly select the threading mode we need, because the default can be changed when compiling sqlite3, so we don&apos;t actually know for sure which mode we&apos;re using. I presume all sane Linux distros will default to serialized mode, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084767</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-13 04:37:55 -0700</bug_when>
    <thetext>hmm, Anders made the inspector process pool to be created lazily in r182447, that will definitely help for this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098372</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-05-30 18:35:42 -0700</bug_when>
    <thetext>Hm, turns out the crash can occur when openDatabase is being called from only one thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098376</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-05-30 19:30:21 -0700</bug_when>
    <thetext>Ah, but another thread was calling LocalStorageDatabaseTracker::importOriginIdentifiers (backtrace in the downstream GNOME Builder bug).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098405</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-05-31 07:16:48 -0700</bug_when>
    <thetext>OK, but the question is: why was another thread calling LocalStorageDatabaseTracker::importOriginIdentifiers? This second crash is in GNOME Builder, which does not use the enable-developer-extras settings, so there should be no web inspector and no inspector web context. I guess the inspector web context is always created no matter what, at least in 2.8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101931</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-06-15 08:27:35 -0700</bug_when>
    <thetext>I tested a patch in Fedora to see if forcing the database to open in serialized mode would make any difference, but the crash still occurs. I think this is surely an SQLite bug: they promise complete thread-safety.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121507</commentid>
    <comment_count>9</comment_count>
      <attachid>260100</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-08-27 17:42:21 -0700</bug_when>
    <thetext>Created attachment 260100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122267</commentid>
    <comment_count>10</comment_count>
      <attachid>260311</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-08-31 13:12:56 -0700</bug_when>
    <thetext>Created attachment 260311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122501</commentid>
    <comment_count>11</comment_count>
      <attachid>260311</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-08-31 23:30:32 -0700</bug_when>
    <thetext>Comment on attachment 260311
Patch

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

As it&apos;s been noted in the RH Bugzilla, sqlite3_initialize() is not thread-safe until after their mutex system is initialized, i.e. where the current crashes are occurring. I&apos;d link the code but there doesn&apos;t appear to be any online code viewer available for SQLite.

I&apos;ll let Brady or someone chime in for the final review.

&gt; Source/WebCore/platform/sql/SQLiteDatabase.cpp:63
&gt; +    std::call_once(flag, []() {

You can omit the empty parameter list: [] { ... }

&gt; Source/WebCore/platform/sql/SQLiteDatabase.cpp:65
&gt; +        // It should be safe to call this outside of std::call_once, since it is documented to be
&gt; +        // completely threadsafe. But it is not threadsafe in practice. See bug #143245.

The comment doesn&apos;t lie, but IMO it would be better to find or file the corresponding bug upstream and link it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122536</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-01 08:27:23 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Source/WebCore/platform/sql/SQLiteDatabase.cpp:63
&gt; &gt; +    std::call_once(flag, []() {
&gt; 
&gt; You can omit the empty parameter list: [] { ... }

OK

&gt; &gt; Source/WebCore/platform/sql/SQLiteDatabase.cpp:65
&gt; &gt; +        // It should be safe to call this outside of std::call_once, since it is documented to be
&gt; &gt; +        // completely threadsafe. But it is not threadsafe in practice. See bug #143245.
&gt; 
&gt; The comment doesn&apos;t lie, but IMO it would be better to find or file the
&gt; corresponding bug upstream and link it here.

Their bugtracker is restricted [1]. I will send a mail their list, and update the comment later once the mail appears and if a bug is ever filed.

[1] https://www.sqlite.org/src/wiki?name=Bug+Reports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123424</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-04 06:51:57 -0700</bug_when>
    <thetext>There will be no bug report to SQLite, as we are instructed to send mail to &lt;sqlite-users@sqlite.org&gt;, but this address just rejects any mail sent to it, rather than queuing them for moderation as they claim will occur [1]. They&apos;ll have to fix this if they want bug reports, I suppose.

[1] https://www.sqlite.org/src/wiki?name=Bug+Reports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123428</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-04 07:23:20 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; There will be no bug report to SQLite, as we are instructed to send mail to
&gt; &lt;sqlite-users@sqlite.org&gt;, but this address just rejects any mail sent to
&gt; it, rather than queuing them for moderation as they claim will occur [1].
&gt; They&apos;ll have to fix this if they want bug reports, I suppose.
&gt; 
&gt; [1] https://www.sqlite.org/src/wiki?name=Bug+Reports

We can’t find anyone willing to join their mailing list?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123429</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-04 07:24:16 -0700</bug_when>
    <thetext>If someone writes the bug report, I’d be happy to join the sqlite-users mailing list and then send the bug report to the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123438</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-04 08:44:29 -0700</bug_when>
    <thetext>Thanks Darin. Your patience for mailing lists is greater than mine. This is the bug report I wrote:

Hi,

This email is regarding a WebKit bug, &quot;Crash when
WebCore::SQLiteFileSystem::openDatabase is called from multiple
threads&quot; [1], which seems to be caused by an issue in SQLite. In short,
we&apos;ve noticed many applications that use WebKit crash when
sqlite3_initialize is called simultaneously in multiple threads
[2][3][4][5]; despite the fact that sqlite3_initialize is documented to
be thread-safe [6], it&apos;s not [7]. I am hoping to commit a workaround in
WebKit to call sqlite3_initialize manually exactly once before WebKit
uses sqlite, using std::once to avoid the thread safety problems. Based
on your documentation, it seems like it&apos;s a good idea for WebKit to
call sqlite3_initialize manually regardless, but the use of std::once
should not be needed.

I am just checking to see if this is perhaps already a known issue.

Michael

[1] https://bugs.webkit.org/show_bug.cgi?id=143245
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1201823
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1217952
[4] https://bugzilla.redhat.com/show_bug.cgi?id=1228391
[5] https://bugzilla.redhat.com/show_bug.cgi?id=1207221
[6] https://sqlite.org/c3ref/initialize.html
[7] https://bugs.webkit.org/show_bug.cgi?id=143245#c11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123992</commentid>
    <comment_count>17</comment_count>
    <who name="Richard Hipp">drh</who>
    <bug_when>2015-09-05 19:58:02 -0700</bug_when>
    <thetext>Tnx for the bug report.  This is the first time we&apos;ve heard of this issue.

I have checked in a change to SQLite that might make sqlite3_initialize() closer to being threadsafe.  https://www.sqlite.org/src/info/11a9a786ec06403a

You would do well to continue to invoke sqlite3_initialize() using std::call_once() if that is working for you, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124009</commentid>
    <comment_count>18</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-06 07:36:47 -0700</bug_when>
    <thetext>Thanks Richard!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124012</commentid>
    <comment_count>19</comment_count>
      <attachid>260709</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-06 07:48:08 -0700</bug_when>
    <thetext>Created attachment 260709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124395</commentid>
    <comment_count>20</comment_count>
      <attachid>260794</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-08 14:29:30 -0700</bug_when>
    <thetext>Created attachment 260794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124509</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-08 18:38:44 -0700</bug_when>
    <thetext>Committed r189526: &lt;http://trac.webkit.org/changeset/189526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125503</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-13 16:14:28 -0700</bug_when>
    <thetext>Note for future reference: Scott Hess from Google subsequently argued on the mailing list that the fix to sqlite3_initialize is insufficient. The list archives are restricted to list members for whatever reason, so no link.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260100</attachid>
            <date>2015-08-27 17:42:21 -0700</date>
            <delta_ts>2015-08-31 13:12:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143245-20150827194208.patch</filename>
            <type>text/plain</type>
            <size>2310</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODIzNTEyOGQ2MWYxOTZj
NTVmY2FlMDM4YzJlYmUzZjk3NmJlM2IzMC4uYjNjYmQzOTI4YTRjNWJiYmEyOWJkY2FkNjMxNjQ2
MmI5OTMxY2Y2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA4LTI3ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBDcmFzaCB3
aGVuIFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06Om9wZW5EYXRhYmFzZSBpcyBjYWxsZWQgZnJv
bSBtdWx0aXBsZSB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDMyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBzcWxpdGUzX2luaXRpYWxpemUgaXMgZG9jdW1lbnRlZCB0byBiZSB0aHJlYWQt
c2FmZSwgYW5kIHRvIGJlIGNhbGxlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZQorICAgICAgICBsaWJy
YXJ5IHdoZW4gbmVlZGVkLCBzbyBhcHBsaWNhdGlvbnMgc2hvdWxkIG5ldmVyIG5lZWQgdG8gY2Fs
bCBpdCBkaXJlY3RseS4gVGhlIHByb2JsZW0gaXMsCisgICAgICAgIGl0J3Mgbm90IHRocmVhZC1z
YWZlOiB3ZSBoYXZlIGRvY3VtZW50ZWQgaW5zdGFuY2VzIG9mIEdOT01FIEJ1aWxkZXIsIERldmhl
bHAsIEVwaXBoYW55LCBhbmQKKyAgICAgICAgY2lubmFtb24tc2NyZWVuc2F2ZXIgY3Jhc2hpbmcg
d2hlbiBzcWxpdGUzX2luaXRpYWxpemUgaXMgY2FsbGVkIHNpbXVsdGFuZW91c2x5IGluIHNlcGFy
YXRlCisgICAgICAgIHRocmVhZHMgKHVzdWFsbHkgaW5zaWRlIHNxbGl0ZTNfb3BlbikuIFNvIGNh
bGwgaXQgbWFudWFsbHksIGd1YXJkZWQgdXNpbmcgc3RkOjpjYWxsX29uY2UsIHRvCisgICAgICAg
IG1ha2Ugc3VyZSB0aGF0IHRoZSBsaWJyYXJ5IGlzIGZ1bGx5IGluaXRpYWxpemVkIGJlZm9yZSB0
aGUgZmlyc3QgY2FsbCB0byBzcWxpdGUzX29wZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2U6OlNR
TGl0ZURhdGFiYXNlKToKKwogMjAxNS0wOC0yNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFNpbXBsZSBsaW5lIGxheW91dDogVGV4dCBqdW1wcyBzb21ldGltZXMg
b24gbmF1Z2h0eSBzdHJpbmdzIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuY3BwCmluZGV4IGM2ZmE1OGYyOGE1NDU4YTU0ZjU4Zjc5NGEzODYzMzc1
ZjE5NDQ1NTYuLjczNjFkYmM0YTYxOGEzZTkxY2EzODA5YTYyMDMxNzM1NWMzOGE5NDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcApAQCAtMzEs
NiArMzEsOCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTUUxpdGVGaWxlU3lz
dGVtLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCisjaW5jbHVkZSA8bXV0ZXg+Cisj
aW5jbHVkZSA8c3FsaXRlMy5oPgogI2luY2x1ZGUgPHRocmVhZD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNTcsNiArNTksMTIg
QEAgU1FMaXRlRGF0YWJhc2U6OlNRTGl0ZURhdGFiYXNlKCkKICAgICAsIG1fb3BlbkVycm9yTWVz
c2FnZSgpCiAgICAgLCBtX2xhc3RDaGFuZ2VzQ291bnQoMCkKIHsKKyAgICBzdGF0aWMgc3RkOjpv
bmNlX2ZsYWcgZmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSgpIHsKKyAgICAgICAg
Ly8gVGhpcyBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSwgYnV0IHRoZXJlIGV4aXN0cyBzb21lIHRo
cmVhZC1zYWZldHkgYnVnIGluIHNxbGl0ZTMsIHdoaWNoCisgICAgICAgIC8vIHRoaXMgY2FsbCBz
aG91bGQgcHJldmVudC4gU2VlIFdlYktpdCBidWcgIzE0MzI0NSBhbmQgUmVkIEhhdCBidWcgIzEy
MDE4MjMuCisgICAgICAgIHNxbGl0ZTNfaW5pdGlhbGl6ZSgpOworICAgIH0pOwogfQogCiBTUUxp
dGVEYXRhYmFzZTo6flNRTGl0ZURhdGFiYXNlKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260311</attachid>
            <date>2015-08-31 13:12:56 -0700</date>
            <delta_ts>2015-09-06 07:48:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143245-20150831151239.patch</filename>
            <type>text/plain</type>
            <size>2752</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg5ZTliMjk5N2E2Nzk4
ZTAxNTJkNWMyOGM1MDQ3YTYyMzU5ZDdhYS4uNjYyY2Q0M2Y3ZDg5OWVlNTE1MzVjYjFiMmY3NDYx
NWRmY2E1MzEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA4LTMxICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBDcmFzaCB3
aGVuIFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06Om9wZW5EYXRhYmFzZSBpcyBjYWxsZWQgZnJv
bSBtdWx0aXBsZSB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDMyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBzcWxpdGUzX2luaXRpYWxpemUgaXMgZG9jdW1lbnRlZCB0byBiZSB0aHJlYWQt
c2FmZSwgYW5kIHRvIGJlIGNhbGxlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZQorICAgICAgICBsaWJy
YXJ5IHdoZW4gbmVlZGVkLCBzbyBhcHBsaWNhdGlvbnMgc2hvdWxkIG5ldmVyIG5lZWQgdG8gY2Fs
bCBpdCBkaXJlY3RseS4gVGhlIHByb2JsZW0gaXMsCisgICAgICAgIGl0J3Mgbm90IHRocmVhZC1z
YWZlOiB3ZSBoYXZlIGRvY3VtZW50ZWQgaW5zdGFuY2VzIG9mIEdOT01FIEJ1aWxkZXIsIERldmhl
bHAsIEVwaXBoYW55LCBhbmQKKyAgICAgICAgY2lubmFtb24tc2NyZWVuc2F2ZXIgY3Jhc2hpbmcg
d2hlbiBzcWxpdGUzX2luaXRpYWxpemUgaXMgY2FsbGVkIHNpbXVsdGFuZW91c2x5IGluIHNlcGFy
YXRlCisgICAgICAgIHRocmVhZHMgKHVzdWFsbHkgaW5zaWRlIHNxbGl0ZTNfb3BlbikuIFNvIGNh
bGwgaXQgbWFudWFsbHksIGd1YXJkZWQgdXNpbmcgc3RkOjpjYWxsX29uY2UsIHRvCisgICAgICAg
IG1ha2Ugc3VyZSB0aGF0IHRoZSBsaWJyYXJ5IGlzIGZ1bGx5IGluaXRpYWxpemVkIGJlZm9yZSB0
aGUgZmlyc3QgY2FsbCB0byBzcWxpdGUzX29wZW4uIEl0J3MKKyAgICAgICAgYSBnb29kIGlkZWEg
dG8gZG8gdGhpcyByZWdhcmRsZXNzLCBiZWNhdXNlIHRoZSBkb2N1bWVudGF0aW9uIHNheXMgaXQg
Y291bGQgYmUgcmVxdWlyZWQgaW4KKyAgICAgICAgYSBmdXR1cmUgcmVsZWFzZSBvZiBTUUxpdGUu
IChUaG91Z2ggdGhlIHVzZSBvZiBzdGQ6OmNhbGxfb25jZSBzaG91bGQgbm90IGJlIG5lZWRlZCwg
YW5kIGlzCisgICAgICAgIG9ubHkgdXNlZCB0byBhdHRlbXB0IHRvIHdvcmsgYXJvdW5kIHRoZSBj
cmFzaGVzLikKKworICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZTo6U1FMaXRlRGF0YWJhc2UpOgorCiAyMDE1
LTA4LTMxICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAg
IGlPUyBXZWJLaXQyIGZpbmQtaW4tcGFnZSBkb2Vzbid0IHN1cHBvcnQgbXVsdGktbGluZSByZXN1
bHRzLCBpcyBvZnRlbiBibGFuawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5jcHAKaW5kZXggYzZmYTU4ZjI4YTU0NThhNTRmNThmNzk0YTM4NjMzNzVmMTk0
NDU1Ni4uYjUyYzcxNTBmZjM0NGYzMTEzMWMzMjY3NWZkOWZlZjYyMWRjOTk0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwCkBAIC0zMSw2ICsz
MSw4IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNRTGl0ZUZpbGVTeXN0ZW0u
aCIKICNpbmNsdWRlICJTUUxpdGVTdGF0ZW1lbnQuaCIKKyNpbmNsdWRlIDxtdXRleD4KKyNpbmNs
dWRlIDxzcWxpdGUzLmg+CiAjaW5jbHVkZSA8dGhyZWFkPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC01Nyw2ICs1OSwxNiBAQCBT
UUxpdGVEYXRhYmFzZTo6U1FMaXRlRGF0YWJhc2UoKQogICAgICwgbV9vcGVuRXJyb3JNZXNzYWdl
KCkKICAgICAsIG1fbGFzdENoYW5nZXNDb3VudCgwKQogeworICAgIHN0YXRpYyBzdGQ6Om9uY2Vf
ZmxhZyBmbGFnOworICAgIHN0ZDo6Y2FsbF9vbmNlKGZsYWcsIFtdKCkgeworICAgICAgICAvLyBJ
dCBzaG91bGQgYmUgc2FmZSB0byBjYWxsIHRoaXMgb3V0c2lkZSBvZiBzdGQ6OmNhbGxfb25jZSwg
c2luY2UgaXQgaXMgZG9jdW1lbnRlZCB0byBiZQorICAgICAgICAvLyBjb21wbGV0ZWx5IHRocmVh
ZHNhZmUuIEJ1dCBpdCBpcyBub3QgdGhyZWFkc2FmZSBpbiBwcmFjdGljZS4gU2VlIGJ1ZyAjMTQz
MjQ1LgorICAgICAgICBpbnQgcmV0ID0gc3FsaXRlM19pbml0aWFsaXplKCk7CisgICAgICAgIGlm
IChyZXQgIT0gU1FMSVRFX09LKSB7CisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIkZhaWxlZCB0
byBpbml0aWFsaXplIFNRTGl0ZTogJXMiLCBzcWxpdGUzX2VycnN0cihyZXQpKTsKKyAgICAgICAg
ICAgIENSQVNIKCk7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAogU1FMaXRlRGF0YWJhc2U6On5T
UUxpdGVEYXRhYmFzZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260709</attachid>
            <date>2015-09-06 07:48:08 -0700</date>
            <delta_ts>2015-09-08 14:29:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143245-20150906094805.patch</filename>
            <type>text/plain</type>
            <size>3118</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQxNzc5YjFjODA2YzUy
OWFkZjk3NTIwNjBhMzNiNDI1NzliZjk3Ni4uZWEyYTY1ZGY0OWM3NzU4NTRiYzI1ZjFmMWI0ODE4
ZjZhNjAyZDc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA5LTA2ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBDcmFzaCB3
aGVuIFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06Om9wZW5EYXRhYmFzZSBpcyBjYWxsZWQgZnJv
bSBtdWx0aXBsZSB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDMyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBzcWxpdGUzX2luaXRpYWxpemUgaXMgZG9jdW1lbnRlZCB0byBiZSB0aHJlYWQt
c2FmZSwgYW5kIHRvIGJlIGNhbGxlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZQorICAgICAgICBsaWJy
YXJ5IHdoZW4gbmVlZGVkLCBzbyBhcHBsaWNhdGlvbnMgc2hvdWxkIG5ldmVyIG5lZWQgdG8gY2Fs
bCBpdCBkaXJlY3RseS4gVGhlIHByb2JsZW0gaXMsCisgICAgICAgIGl0J3Mgbm90IHRocmVhZC1z
YWZlOiB3ZSBoYXZlIGRvY3VtZW50ZWQgaW5zdGFuY2VzIG9mIEdOT01FIEJ1aWxkZXIsIERldmhl
bHAsIEVwaXBoYW55LCBhbmQKKyAgICAgICAgY2lubmFtb24tc2NyZWVuc2F2ZXIgY3Jhc2hpbmcg
d2hlbiBzcWxpdGUzX2luaXRpYWxpemUgaXMgY2FsbGVkIHNpbXVsdGFuZW91c2x5IGluIHNlcGFy
YXRlCisgICAgICAgIHRocmVhZHMgKHVzdWFsbHkgaW5zaWRlIHNxbGl0ZTNfb3BlbikuIFNvIGNh
bGwgaXQgbWFudWFsbHksIGd1YXJkZWQgdXNpbmcgc3RkOjpjYWxsX29uY2UsIHRvCisgICAgICAg
IG1ha2Ugc3VyZSB0aGF0IHRoZSBsaWJyYXJ5IGlzIGZ1bGx5IGluaXRpYWxpemVkIGJlZm9yZSB0
aGUgZmlyc3QgY2FsbCB0byBzcWxpdGUzX29wZW4uIEl0J3MKKyAgICAgICAgYSBnb29kIGlkZWEg
dG8gZG8gdGhpcyByZWdhcmRsZXNzLCBiZWNhdXNlIHRoZSBkb2N1bWVudGF0aW9uIHNheXMgaXQg
Y291bGQgYmUgcmVxdWlyZWQgaW4KKyAgICAgICAgYSBmdXR1cmUgcmVsZWFzZSBvZiBTUUxpdGUu
IChUaG91Z2ggdGhlIHVzZSBvZiBzdGQ6OmNhbGxfb25jZSBzaG91bGQgbm90IGJlIG5lZWRlZCwg
YW5kIGlzCisgICAgICAgIG9ubHkgdXNlZCB0byBhdHRlbXB0IHRvIHdvcmsgYXJvdW5kIHRoZSBj
cmFzaGVzLikKKworICAgICAgICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYW4gU1FMaXRlIGJ1
ZyB0aGF0IG1pZ2h0IGhhdmUgYmVlbiBmaXhlZCB1cHN0cmVhbSwgYnV0IHRoZSBTUUxpdGUKKyAg
ICAgICAgZGV2ZWxvcGVycyBhcmUgbm90IHJlYWxseSBjb25maWRlbnQgaW4gdGhlIHRocmVhZC1z
YWZldHkgb2YgdGhpcyBmdW5jdGlvbiwgYW5kIGhhdmUgYWR2aXNlZAorICAgICAgICB0aGF0IHdl
IGNhcnJ5IHRoZSB3b3JrYXJvdW5kLiBTZWVtcyBsaWtlIGEgZ29vZCBpZGVhLgorCisgICAgICAg
ICogcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNR
TGl0ZURhdGFiYXNlOjpTUUxpdGVEYXRhYmFzZSk6CisKIDIwMTUtMDgtMzEgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVuaWZ5IHNo
b3dHbHlwaHNXaXRoQWR2YW5jZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRGF0YWJhc2UuY3BwCmluZGV4IGM2ZmE1OGYyOGE1NDU4YTU0ZjU4Zjc5NGEzODYzMzc1ZjE5
NDQ1NTYuLmZmYjk0OGU0MDU2YTg0M2E0MjMyZDRlMzM0NzQ5YmYxNWIxNTk2M2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcApAQCAtMzEsNiAr
MzEsOCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTUUxpdGVGaWxlU3lzdGVt
LmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCisjaW5jbHVkZSA8bXV0ZXg+CisjaW5j
bHVkZSA8c3FsaXRlMy5oPgogI2luY2x1ZGUgPHRocmVhZD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNTcsNiArNTksMTggQEAg
U1FMaXRlRGF0YWJhc2U6OlNRTGl0ZURhdGFiYXNlKCkKICAgICAsIG1fb3BlbkVycm9yTWVzc2Fn
ZSgpCiAgICAgLCBtX2xhc3RDaGFuZ2VzQ291bnQoMCkKIHsKKyAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgZmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSB7CisgICAgICAgIC8vIEl0
IHNob3VsZCBiZSBzYWZlIHRvIGNhbGwgdGhpcyBvdXRzaWRlIG9mIHN0ZDo6Y2FsbF9vbmNlLCBz
aW5jZSBpdCBpcyBkb2N1bWVudGVkIHRvIGJlCisgICAgICAgIC8vIGNvbXBsZXRlbHkgdGhyZWFk
c2FmZS4gQnV0IGluIHRoZSBwYXN0IGl0IHdhcyBub3Qgc2FmZSwgYW5kIHRoZSBTUUxpdGUgZGV2
ZWxvcGVycyBzdGlsbAorICAgICAgICAvLyBhcmVuJ3QgY29uZmlkZW50IHRoYXQgaXQgcmVhbGx5
IGlzLCBzbyBzdGQ6OmNhbGxfb25jZSBpcyB1c2VkIHRvIHN0YXkgb24gdGhlIHNhZmUgc2lkZS4K
KyAgICAgICAgLy8gU2VlIGJ1ZyAjMTQzMjQ1LgorICAgICAgICBpbnQgcmV0ID0gc3FsaXRlM19p
bml0aWFsaXplKCk7CisgICAgICAgIGlmIChyZXQgIT0gU1FMSVRFX09LKSB7CisgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIkZhaWxlZCB0byBpbml0aWFsaXplIFNRTGl0ZTogJXMiLCBzcWxpdGUz
X2VycnN0cihyZXQpKTsKKyAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgIH0KKyAgICB9KTsK
IH0KIAogU1FMaXRlRGF0YWJhc2U6On5TUUxpdGVEYXRhYmFzZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260794</attachid>
            <date>2015-09-08 14:29:30 -0700</date>
            <delta_ts>2015-09-08 18:28:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143245-20150908162924.patch</filename>
            <type>text/plain</type>
            <size>3278</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQxNzc5YjFjODA2YzUy
OWFkZjk3NTIwNjBhMzNiNDI1NzliZjk3Ni4uOWQ3MzAwMDk1MTQ4ZjEwNTY3ZGM0ZTQ0ZTM0NTJl
Njc4YjE5MGJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA5LTA4ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBDcmFzaCB3
aGVuIFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06Om9wZW5EYXRhYmFzZSBpcyBjYWxsZWQgZnJv
bSBtdWx0aXBsZSB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDMyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBzcWxpdGUzX2luaXRpYWxpemUgaXMgZG9jdW1lbnRlZCB0byBiZSB0aHJlYWQt
c2FmZSwgYW5kIHRvIGJlIGNhbGxlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZQorICAgICAgICBsaWJy
YXJ5IHdoZW4gbmVlZGVkLCBzbyBhcHBsaWNhdGlvbnMgc2hvdWxkIG5ldmVyIG5lZWQgdG8gY2Fs
bCBpdCBkaXJlY3RseS4gVGhlIHByb2JsZW0gaXMsCisgICAgICAgIGl0J3Mgbm90IHRocmVhZC1z
YWZlOiB3ZSBoYXZlIGRvY3VtZW50ZWQgaW5zdGFuY2VzIG9mIEdOT01FIEJ1aWxkZXIsIERldmhl
bHAsIEVwaXBoYW55LCBhbmQKKyAgICAgICAgY2lubmFtb24tc2NyZWVuc2F2ZXIgY3Jhc2hpbmcg
d2hlbiBzcWxpdGUzX2luaXRpYWxpemUgaXMgY2FsbGVkIHNpbXVsdGFuZW91c2x5IGluIHNlcGFy
YXRlCisgICAgICAgIHRocmVhZHMgKHVzdWFsbHkgaW5zaWRlIHNxbGl0ZTNfb3BlbikuIFNvIGNh
bGwgaXQgbWFudWFsbHksIGd1YXJkZWQgdXNpbmcgc3RkOjpjYWxsX29uY2UsIHRvCisgICAgICAg
IG1ha2Ugc3VyZSB0aGF0IHRoZSBsaWJyYXJ5IGlzIGZ1bGx5IGluaXRpYWxpemVkIGJlZm9yZSB0
aGUgZmlyc3QgY2FsbCB0byBzcWxpdGUzX29wZW4uIEl0J3MKKyAgICAgICAgYSBnb29kIGlkZWEg
dG8gZG8gdGhpcyByZWdhcmRsZXNzLCBiZWNhdXNlIHRoZSBkb2N1bWVudGF0aW9uIHNheXMgaXQg
Y291bGQgYmUgcmVxdWlyZWQgaW4KKyAgICAgICAgYSBmdXR1cmUgcmVsZWFzZSBvZiBTUUxpdGUu
IChUaG91Z2ggdGhlIHVzZSBvZiBzdGQ6OmNhbGxfb25jZSBzaG91bGQgbm90IGJlIG5lZWRlZCwg
YW5kIGlzCisgICAgICAgIG9ubHkgdXNlZCB0byBhdHRlbXB0IHRvIHdvcmsgYXJvdW5kIHRoZSBj
cmFzaGVzLikKKworICAgICAgICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYW4gU1FMaXRlIGJ1
ZyB0aGF0IG1pZ2h0IGhhdmUgYmVlbiBmaXhlZCB1cHN0cmVhbSwgYnV0IHRoZSBTUUxpdGUKKyAg
ICAgICAgZGV2ZWxvcGVycyBhcmUgbm90IHJlYWxseSBjb25maWRlbnQgaW4gdGhlIHRocmVhZC1z
YWZldHkgb2YgdGhpcyBmdW5jdGlvbiwgYW5kIGhhdmUgYWR2aXNlZAorICAgICAgICB0aGF0IHdl
IGNhcnJ5IHRoZSB3b3JrYXJvdW5kLiBTZWVtcyBsaWtlIGEgZ29vZCBpZGVhLgorCisgICAgICAg
ICogcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNR
TGl0ZURhdGFiYXNlOjpTUUxpdGVEYXRhYmFzZSk6CisKIDIwMTUtMDgtMzEgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVuaWZ5IHNo
b3dHbHlwaHNXaXRoQWR2YW5jZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRGF0YWJhc2UuY3BwCmluZGV4IGM2ZmE1OGYyOGE1NDU4YTU0ZjU4Zjc5NGEzODYzMzc1ZjE5
NDQ1NTYuLjJlNGIyNjNmM2ZjMDEyM2IxYjdmYjI4NTZmMDg0MjZhZTkxNzFlYTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcApAQCAtMzEsNiAr
MzEsOCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTUUxpdGVGaWxlU3lzdGVt
LmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCisjaW5jbHVkZSA8bXV0ZXg+CisjaW5j
bHVkZSA8c3FsaXRlMy5oPgogI2luY2x1ZGUgPHRocmVhZD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNTcsNiArNTksMjIgQEAg
U1FMaXRlRGF0YWJhc2U6OlNRTGl0ZURhdGFiYXNlKCkKICAgICAsIG1fb3BlbkVycm9yTWVzc2Fn
ZSgpCiAgICAgLCBtX2xhc3RDaGFuZ2VzQ291bnQoMCkKIHsKKyAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgZmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSB7CisgICAgICAgIC8vIEl0
IHNob3VsZCBiZSBzYWZlIHRvIGNhbGwgdGhpcyBvdXRzaWRlIG9mIHN0ZDo6Y2FsbF9vbmNlLCBz
aW5jZSBpdCBpcyBkb2N1bWVudGVkIHRvIGJlCisgICAgICAgIC8vIGNvbXBsZXRlbHkgdGhyZWFk
c2FmZS4gQnV0IGluIHRoZSBwYXN0IGl0IHdhcyBub3Qgc2FmZSwgYW5kIHRoZSBTUUxpdGUgZGV2
ZWxvcGVycyBzdGlsbAorICAgICAgICAvLyBhcmVuJ3QgY29uZmlkZW50IHRoYXQgaXQgcmVhbGx5
IGlzLCBhbmQgd2Ugc3RpbGwgc3VwcG9ydCBhbmNpZW50IHZlcnNpb25zIG9mIFNRTGl0ZS4gU28K
KyAgICAgICAgLy8gc3RkOjpjYWxsX29uY2UgaXMgdXNlZCB0byBzdGF5IG9uIHRoZSBzYWZlIHNp
ZGUuIFNlZSBidWcgIzE0MzI0NS4KKyAgICAgICAgaW50IHJldCA9IHNxbGl0ZTNfaW5pdGlhbGl6
ZSgpOworICAgICAgICBpZiAocmV0ICE9IFNRTElURV9PSykgeworI2lmIFNRTElURV9WRVJTSU9O
X05VTUJFUiA+PSAzMDA3MDE1CisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIkZhaWxlZCB0byBp
bml0aWFsaXplIFNRTGl0ZTogJXMiLCBzcWxpdGUzX2VycnN0cihyZXQpKTsKKyNlbHNlCisgICAg
ICAgICAgICBXVEZMb2dBbHdheXMoIkZhaWxlZCB0byBpbml0aWFsaXplIFNRTGl0ZSIpOworI2Vu
ZGlmCisgICAgICAgICAgICBDUkFTSCgpOworICAgICAgICB9CisgICAgfSk7CiB9CiAKIFNRTGl0
ZURhdGFiYXNlOjp+U1FMaXRlRGF0YWJhc2UoKQo=
</data>
<flag name="review"
          id="285988"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>