<?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>109993</bug_id>
          
          <creation_ts>2013-02-15 17:44:32 -0800</creation_ts>
          <short_desc>IndexedDB: Limit LevelDB&apos;s max open files</short_desc>
          <delta_ts>2013-02-20 15:02:31 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>834554</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-15 17:44:32 -0800</bug_when>
    <thetext>IndexedDB: Limit LevelDB&apos;s max open files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834557</commentid>
    <comment_count>1</comment_count>
      <attachid>188677</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-15 17:48:29 -0800</bug_when>
    <thetext>Created attachment 188677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834896</commentid>
    <comment_count>2</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-16 17:00:44 -0800</bug_when>
    <thetext>More details on the chromium bug:
http://code.google.com/p/chromium/issues/detail?id=176553</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836659</commentid>
    <comment_count>3</comment_count>
      <attachid>188677</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-19 12:28:27 -0800</bug_when>
    <thetext>Comment on attachment 188677
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        IndexedDB: Limit LevelDB&apos;s max open files

Probably want a &quot;why&quot; explanation in the ChangeLog.

&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:136
&gt; +static int calculateMaxOpenFiles()

Each LevelDB instance (i.e. each origin) will be competing for the same pool of file descriptors, won&apos;t it? This approach (tell leveldb it can use RLIMIT_NOFILE - 250) doesn&apos;t seem like it&apos;ll work if there are multiple origins competing for a small number of descriptors.

Maybe we want to pin this as low as possible (i.e. 20) until we learn otherwise?

&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:152
&gt; +#if OS(UNIX)

|| OS(DARWIN) ?

It also seems like this &quot;roughly how many file descriptors are available?&quot; query should be factored out and a chromium-specific implementation could do the &quot;limit - 250&quot; part. (But see above re: multiple origins.)

&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:169
&gt; +        HistogramSupport::histogramEnumeration(histogramName, Error, NumEntries);

Do we want a histogram for other OSs where the default is used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836985</commentid>
    <comment_count>4</comment_count>
      <attachid>188677</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-19 16:53:31 -0800</bug_when>
    <thetext>Comment on attachment 188677
Patch

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

&gt;&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:136
&gt;&gt; +static int calculateMaxOpenFiles()
&gt; 
&gt; Each LevelDB instance (i.e. each origin) will be competing for the same pool of file descriptors, won&apos;t it? This approach (tell leveldb it can use RLIMIT_NOFILE - 250) doesn&apos;t seem like it&apos;ll work if there are multiple origins competing for a small number of descriptors.
&gt; 
&gt; Maybe we want to pin this as low as possible (i.e. 20) until we learn otherwise?

You&apos;re right that each origin will be competing for the same pool, but this method is still an improvement in the common problematic case of one origin having a huge IDB. Given that we only have one confirmed report of IDB using all the FDs, and that was from one origin, I feel like the chance of two origins with huge IDBs is pretty small. At least until there is wider IDB adoption.

But the simplicity of always using 20 is alluring. So my plan is to hardcode 20 in this patch, commit to trunk and merge to m26. Then I&apos;m going to do some local perf testing with a database large enough that max_open_files could make a difference. If there is a difference we can then figure out what to do about the perf hit.

Hardcoding 20 makes the rest of the comments academic, at least for now.

&gt;&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:152
&gt;&gt; +#if OS(UNIX)
&gt; 
&gt; || OS(DARWIN) ?
&gt; 
&gt; It also seems like this &quot;roughly how many file descriptors are available?&quot; query should be factored out and a chromium-specific implementation could do the &quot;limit - 250&quot; part. (But see above re: multiple origins.)

Darwin is covered by UNIX: https://code.google.com/searchframe#OAMlx_jo-ck/src/third_party/WebKit/Source/WTF/wtf/Platform.h&amp;exact_package=chromium&amp;q=define.*UNIX%20file:third%20file:webkit&amp;type=cs&amp;l=415

&gt;&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:169
&gt;&gt; +        HistogramSupport::histogramEnumeration(histogramName, Error, NumEntries);
&gt; 
&gt; Do we want a histogram for other OSs where the default is used?

So, other OSs means windows. And you&apos;re right, it couldn&apos;t hurt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837010</commentid>
    <comment_count>5</comment_count>
      <attachid>189212</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-19 17:31:53 -0800</bug_when>
    <thetext>Created attachment 189212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837582</commentid>
    <comment_count>6</comment_count>
      <attachid>189342</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-20 11:08:19 -0800</bug_when>
    <thetext>Created attachment 189342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837583</commentid>
    <comment_count>7</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-20 11:09:08 -0800</bug_when>
    <thetext>Josh, any more comments before I add Tony?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837590</commentid>
    <comment_count>8</comment_count>
      <attachid>189342</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-20 11:16:59 -0800</bug_when>
    <thetext>Comment on attachment 189342
Patch

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

lgtm

&gt; Source/WebCore/platform/leveldb/LevelDBDatabase.cpp:136
&gt; +    // LevelDB clamps max_open_files to 20.

Maybe indicate that this is the *minimum* enforced by leveldb.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837593</commentid>
    <comment_count>9</comment_count>
      <attachid>189345</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-20 11:19:30 -0800</bug_when>
    <thetext>Created attachment 189345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837594</commentid>
    <comment_count>10</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-20 11:20:04 -0800</bug_when>
    <thetext>Tony, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837807</commentid>
    <comment_count>11</comment_count>
      <attachid>189345</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 15:02:27 -0800</bug_when>
    <thetext>Comment on attachment 189345
Patch

Clearing flags on attachment: 189345

Committed r143512: &lt;http://trac.webkit.org/changeset/143512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837808</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 15:02:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188677</attachid>
            <date>2013-02-15 17:48:29 -0800</date>
            <delta_ts>2013-02-19 17:31:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109993-20130215174456.patch</filename>
            <type>text/plain</type>
            <size>3463</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkzZTVlNWE2MTdhN2U0
M2MyZGM2YTViNDBiMGE3ZWZmNDY5MGIyNy4uMTczNjVhYjE0MzdmODVmYjI4MDgxN2ZkNjhkZmVk
ZTljMTg0YjJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTE1ICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IExp
bWl0IExldmVsREIncyBtYXggb3BlbiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0gYSBjaHJvbWl1bSBicm93c2VyIHRl
c3QgdGhhdCBsb3dlcnMgdGhlIHByb2Nlc3MgbGltaXQKKyAgICAgICAgd291bGQgYmUgZmVhc2li
bGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVNYXhPcGVuRmlsZXMpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpvcGVuREIpOgorCiAyMDEzLTAyLTE0ICBZdXJ5IFNlbWlr
aGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFs
d2F5cyBzaG93IG1lbW9yeSBzaXplIGluIE1iIG9uIHRoZSBuYXRpdmUgbWVtb3J5IGdyYXBoCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5j
cHAKaW5kZXggMGMzODljY2VkNWRkZjAyODNkNzU5ZWI4MjY4ZjcxNWQ0ODNlZGJjNy4uNDcwYjBh
ZjFmN2EyODJlOGQ5YTI2NjY3YTM0YzU1NjNkOTNjODZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogCiAjaWYgVVNFKExFVkVMREIpCiAKKyNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0Lmgi
CiAjaW5jbHVkZSAiTGV2ZWxEQkNvbXBhcmF0b3IuaCIKICNpbmNsdWRlICJMZXZlbERCSXRlcmF0
b3IuaCIKICNpbmNsdWRlICJMZXZlbERCU2xpY2UuaCIKQEAgLTQ3LDYgKzQ4LDExIEBACiAjaW5j
bHVkZSA8ZW52X2lkYi5oPgogI2VuZGlmCiAKKyNpZiBPUyhVTklYKQorI2luY2x1ZGUgPHN5cy9y
ZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjZW5kaWYKKwogI2lmICFQTEFURk9S
TShDSFJPTUlVTSkKIG5hbWVzcGFjZSBsZXZlbGRiIHsKIApAQCAtMTI3LDEyICsxMzMsNTIgQEAg
TGV2ZWxEQkRhdGFiYXNlOjp+TGV2ZWxEQkRhdGFiYXNlKCkKICAgICBtX2Vudi5jbGVhcigpOwog
fQogCitzdGF0aWMgaW50IGNhbGN1bGF0ZU1heE9wZW5GaWxlcygpCit7CisgICAgZW51bSB7Cisg
ICAgICAgIFVzZWRNaW4sCisgICAgICAgIFVzZWRJbnRlcm1lZGlhdGUsCisgICAgICAgIFVzZWRN
YXgsCisgICAgICAgIEVycm9yLAorICAgICAgICBOdW1FbnRyaWVzCisgICAgfTsKKyAgICBjb25z
dCBjaGFyKiBoaXN0b2dyYW1OYW1lID0gIldlYkNvcmUuSW5kZXhlZERCLkxldmVsREJNYXhPcGVu
RmlsZXMiOworICAgIC8vIExldmVsREIgc2V0cyBhIGZsb29yIG9mIDIwLiBEbyBpdCBoZXJlIHNv
IHRoYXQgd2UgY2FuIGhpc3RvZ3JhbSBpdC4KKyAgICBjb25zdCBpbnQgTWluTGltaXQgPSAyMDsK
KyAgICAvLyBMZXZlbERCJ3MgZGVmYXVsdCB2YWx1ZSBpcyAxMDAwLiBUaGVyZSdzIG5vIHJlYXNv
biB0byBjaGFuZ2UgaXQuCisgICAgY29uc3QgaW50IE1heExpbWl0ID0gMTAwMDsKKyAgICBpbnQg
bWF4T3BlbkZpbGVzID0gTWF4TGltaXQ7CisKKyNpZiBPUyhVTklYKQorICAgIHN0cnVjdCBybGlt
aXQgbm9maWxlOworICAgIGlmICghZ2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZub2ZpbGUpKSB7
CisgICAgICAgIHJsaW1fdCBsaW1pdCA9IG5vZmlsZS5ybGltX2N1cjsKKyAgICAgICAgLy8gSWRs
ZSBjaHJvbWl1bSBsZXZlbGVkIG9mZiBhdCBhYm91dCAyNTAgb3BlbiBmaWxlIGRlc2NyaXB0b3Jz
LgorICAgICAgICBtYXhPcGVuRmlsZXMgPSBsaW1pdCAtIDI1MDsKKyAgICAgICAgbWF4T3BlbkZp
bGVzID0gc3RkOjptaW4oTWF4TGltaXQsIG1heE9wZW5GaWxlcyk7CisgICAgICAgIG1heE9wZW5G
aWxlcyA9IHN0ZDo6bWF4KE1pbkxpbWl0LCBtYXhPcGVuRmlsZXMpOworICAgICAgICBpZiAobWF4
T3BlbkZpbGVzID09IE1pbkxpbWl0KQorICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlz
dG9ncmFtRW51bWVyYXRpb24oaGlzdG9ncmFtTmFtZSwgVXNlZE1pbiwgTnVtRW50cmllcyk7Cisg
ICAgICAgIGVsc2UgaWYgKG1heE9wZW5GaWxlcyA9PSBNYXhMaW1pdCkKKyAgICAgICAgICAgIEhp
c3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKGhpc3RvZ3JhbU5hbWUsIFVzZWRN
YXgsIE51bUVudHJpZXMpOworICAgICAgICBlbHNlIGlmIChtYXhPcGVuRmlsZXMgPCBNYXhMaW1p
dCAmJiBtYXhPcGVuRmlsZXMgPiBNaW5MaW1pdCkKKyAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBv
cnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKGhpc3RvZ3JhbU5hbWUsIFVzZWRJbnRlcm1lZGlhdGUs
IE51bUVudHJpZXMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51
bWVyYXRpb24oaGlzdG9ncmFtTmFtZSwgRXJyb3IsIE51bUVudHJpZXMpOworI2VuZGlmCisKKyAg
ICByZXR1cm4gbWF4T3BlbkZpbGVzOworfQorCiBzdGF0aWMgbGV2ZWxkYjo6U3RhdHVzIG9wZW5E
QihsZXZlbGRiOjpDb21wYXJhdG9yKiBjb21wYXJhdG9yLCBsZXZlbGRiOjpFbnYqIGVudiwgY29u
c3QgU3RyaW5nJiBwYXRoLCBsZXZlbGRiOjpEQioqIGRiKQogewogICAgIGxldmVsZGI6Ok9wdGlv
bnMgb3B0aW9uczsKICAgICBvcHRpb25zLmNvbXBhcmF0b3IgPSBjb21wYXJhdG9yOwogICAgIG9w
dGlvbnMuY3JlYXRlX2lmX21pc3NpbmcgPSB0cnVlOwogICAgIG9wdGlvbnMucGFyYW5vaWRfY2hl
Y2tzID0gdHJ1ZTsKKyAgICBvcHRpb25zLm1heF9vcGVuX2ZpbGVzID0gY2FsY3VsYXRlTWF4T3Bl
bkZpbGVzKCk7CiAgICAgb3B0aW9ucy5lbnYgPSBlbnY7CiAKICAgICByZXR1cm4gbGV2ZWxkYjo6
REI6Ok9wZW4ob3B0aW9ucywgcGF0aC51dGY4KCkuZGF0YSgpLCBkYik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189212</attachid>
            <date>2013-02-19 17:31:53 -0800</date>
            <delta_ts>2013-02-20 11:08:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109993-20130219172816.patch</filename>
            <type>text/plain</type>
            <size>1891</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkzZTVlNWE2MTdhN2U0
M2MyZGM2YTViNDBiMGE3ZWZmNDY5MGIyNy4uMTk2NzY0NDU3YzA5ODk5YmZjMzVlOTNkOGUwYTg0
MzEzYmFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTE5ICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IExp
bWl0IExldmVsREIncyBtYXggb3BlbiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTGV2ZWxEQiBrZWVwcyB1cCB0byAxMDAwIChieSBkZWZhdWx0
KSBkYXRhIGZpbGVzIG9wZW4gYXQgYSB0aW1lIHRvCisgICAgICAgIGF2b2lkIGhhdmluZyB0byBv
cGVuKCkgdGhlbS4gVGhpcyBoYXMgY2F1c2VkIGNocm9taXVtIHRvIGhpdCB0aGUKKyAgICAgICAg
cHJvY2Vzcy13aWRlIG9wZW4gZmlsZSBsaW1pdC4gVGhpcyBwYXRjaCBjaGFuZ2VzIG1heF9vcGVu
X2ZpbGVzIHRvIDIwLAorICAgICAgICBhcyB0aGF0J3MgdGhlIG1pbmltdW0gcGVybWl0dGVkIGJ5
IExldmVsREIgYW5kIHdlIGhhdmUgbm8gcmVhc29uIHRvCisgICAgICAgIHRoaW5rIHRoYXQgcGVy
Zm9ybWFuY2Ugd2lsbCBzdWZmZXIgYmVjYXVzZSBvZiB0aGUgZXh0cmEgb3BlbiBjYWxscy4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgLSBhIGNocm9taXVtIGJyb3dzZXIgdGVzdCB0aGF0IGxvd2Vy
cyB0aGUgcHJvY2VzcyBsaW1pdAorICAgICAgICB3b3VsZCBiZSBmZWFzaWJsZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZW5EQik6CisKIDIwMTMtMDItMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYWx3YXlzIHNob3cgbWVtb3J5IHNp
emUgaW4gTWIgb24gdGhlIG5hdGl2ZSBtZW1vcnkgZ3JhcGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcAppbmRleCAwYzM4OWNjZWQ1
ZGRmMDI4M2Q3NTllYjgyNjhmNzE1ZDQ4M2VkYmM3Li44YmE5NzJhNmMxNmFlNzExODE5OGI4ZGQ4
NTM5NTMzZDk3ODcwY2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZl
bGRiL0xldmVsREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2
ZWxkYi9MZXZlbERCRGF0YWJhc2UuY3BwCkBAIC0xMzMsNiArMTMzLDggQEAgc3RhdGljIGxldmVs
ZGI6OlN0YXR1cyBvcGVuREIobGV2ZWxkYjo6Q29tcGFyYXRvciogY29tcGFyYXRvciwgbGV2ZWxk
Yjo6RW52KiBlbnYKICAgICBvcHRpb25zLmNvbXBhcmF0b3IgPSBjb21wYXJhdG9yOwogICAgIG9w
dGlvbnMuY3JlYXRlX2lmX21pc3NpbmcgPSB0cnVlOwogICAgIG9wdGlvbnMucGFyYW5vaWRfY2hl
Y2tzID0gdHJ1ZTsKKyAgICAvLyBMZXZlbERCIGNsYW1wcyBtYXhfb3Blbl9maWxlcyB0byAyMC4K
KyAgICBvcHRpb25zLm1heF9vcGVuX2ZpbGVzID0gMjA7CiAgICAgb3B0aW9ucy5lbnYgPSBlbnY7
CiAKICAgICByZXR1cm4gbGV2ZWxkYjo6REI6Ok9wZW4ob3B0aW9ucywgcGF0aC51dGY4KCkuZGF0
YSgpLCBkYik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189342</attachid>
            <date>2013-02-20 11:08:19 -0800</date>
            <delta_ts>2013-02-20 11:19:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109993-20130220110440.patch</filename>
            <type>text/plain</type>
            <size>1904</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYxOGU0YTg2ODVlYTY5
ZTJlNmNlYzA4MTA1ZWIyNTFhODA5ODBkNC4uMjgwMGU0ZjFjOWNhYTdjZjk3YTI4YWU2YjFmNzQ1
OWI1OTdjZDJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTE5ICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IExp
bWl0IExldmVsREIncyBtYXggb3BlbiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTGV2ZWxEQiBrZWVwcyB1cCB0byAxMDAwIChieSBkZWZhdWx0
KSBkYXRhIGZpbGVzIG9wZW4gYXQgYSB0aW1lIHRvCisgICAgICAgIGF2b2lkIGhhdmluZyB0byBv
cGVuKCkgdGhlbS4gVGhpcyBoYXMgY2F1c2VkIGNocm9taXVtIHRvIGhpdCB0aGUKKyAgICAgICAg
cHJvY2Vzcy13aWRlIG9wZW4gZmlsZSBsaW1pdC4gVGhpcyBwYXRjaCBjaGFuZ2VzIG1heF9vcGVu
X2ZpbGVzIHRvIDIwLAorICAgICAgICBhcyB0aGF0J3MgdGhlIG1pbmltdW0gcGVybWl0dGVkIGJ5
IExldmVsREIgYW5kIHdlIGhhdmUgbm8gcmVhc29uIHRvCisgICAgICAgIHRoaW5rIHRoYXQgcGVy
Zm9ybWFuY2Ugd2lsbCBzdWZmZXIgYmVjYXVzZSBvZiB0aGUgZXh0cmEgb3BlbiBjYWxscy4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgLSBhIGNocm9taXVtIGJyb3dzZXIgdGVzdCB0aGF0IHRyYWNr
cyB0aGUgb3BlbiBMZXZlbERCCisgICAgICAgIGZpbGVzIGlzIHBsYXVzaWJsZSBidXQgaXMgYmxv
Y2tlZCBvbiBodHRwOi8vY3JidWcuY29tLzE3NzI0OS8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9s
ZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVuREIpOgor
CiAyMDEzLTAyLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBT
bmFwc2hvdHRlZCBwbHVnaW4gbGFiZWwgc2hvdWxkIG5vdCBiZSBzZWxlY3RhYmxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHAKaW5k
ZXggMGMzODljY2VkNWRkZjAyODNkNzU5ZWI4MjY4ZjcxNWQ0ODNlZGJjNy4uOGJhOTcyYTZjMTZh
ZTcxMTgxOThiOGRkODUzOTUzM2Q5Nzg3MGNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcApAQCAtMTMzLDYgKzEzMyw4IEBA
IHN0YXRpYyBsZXZlbGRiOjpTdGF0dXMgb3BlbkRCKGxldmVsZGI6OkNvbXBhcmF0b3IqIGNvbXBh
cmF0b3IsIGxldmVsZGI6OkVudiogZW52CiAgICAgb3B0aW9ucy5jb21wYXJhdG9yID0gY29tcGFy
YXRvcjsKICAgICBvcHRpb25zLmNyZWF0ZV9pZl9taXNzaW5nID0gdHJ1ZTsKICAgICBvcHRpb25z
LnBhcmFub2lkX2NoZWNrcyA9IHRydWU7CisgICAgLy8gTGV2ZWxEQiBjbGFtcHMgbWF4X29wZW5f
ZmlsZXMgdG8gMjAuCisgICAgb3B0aW9ucy5tYXhfb3Blbl9maWxlcyA9IDIwOwogICAgIG9wdGlv
bnMuZW52ID0gZW52OwogCiAgICAgcmV0dXJuIGxldmVsZGI6OkRCOjpPcGVuKG9wdGlvbnMsIHBh
dGgudXRmOCgpLmRhdGEoKSwgZGIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189345</attachid>
            <date>2013-02-20 11:19:30 -0800</date>
            <delta_ts>2013-02-20 15:02:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109993-20130220111551.patch</filename>
            <type>text/plain</type>
            <size>1916</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYxOGU0YTg2ODVlYTY5
ZTJlNmNlYzA4MTA1ZWIyNTFhODA5ODBkNC4uMjgwMGU0ZjFjOWNhYTdjZjk3YTI4YWU2YjFmNzQ1
OWI1OTdjZDJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTE5ICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IExp
bWl0IExldmVsREIncyBtYXggb3BlbiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTGV2ZWxEQiBrZWVwcyB1cCB0byAxMDAwIChieSBkZWZhdWx0
KSBkYXRhIGZpbGVzIG9wZW4gYXQgYSB0aW1lIHRvCisgICAgICAgIGF2b2lkIGhhdmluZyB0byBv
cGVuKCkgdGhlbS4gVGhpcyBoYXMgY2F1c2VkIGNocm9taXVtIHRvIGhpdCB0aGUKKyAgICAgICAg
cHJvY2Vzcy13aWRlIG9wZW4gZmlsZSBsaW1pdC4gVGhpcyBwYXRjaCBjaGFuZ2VzIG1heF9vcGVu
X2ZpbGVzIHRvIDIwLAorICAgICAgICBhcyB0aGF0J3MgdGhlIG1pbmltdW0gcGVybWl0dGVkIGJ5
IExldmVsREIgYW5kIHdlIGhhdmUgbm8gcmVhc29uIHRvCisgICAgICAgIHRoaW5rIHRoYXQgcGVy
Zm9ybWFuY2Ugd2lsbCBzdWZmZXIgYmVjYXVzZSBvZiB0aGUgZXh0cmEgb3BlbiBjYWxscy4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgLSBhIGNocm9taXVtIGJyb3dzZXIgdGVzdCB0aGF0IHRyYWNr
cyB0aGUgb3BlbiBMZXZlbERCCisgICAgICAgIGZpbGVzIGlzIHBsYXVzaWJsZSBidXQgaXMgYmxv
Y2tlZCBvbiBodHRwOi8vY3JidWcuY29tLzE3NzI0OS8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9s
ZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVuREIpOgor
CiAyMDEzLTAyLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBT
bmFwc2hvdHRlZCBwbHVnaW4gbGFiZWwgc2hvdWxkIG5vdCBiZSBzZWxlY3RhYmxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHAKaW5k
ZXggMGMzODljY2VkNWRkZjAyODNkNzU5ZWI4MjY4ZjcxNWQ0ODNlZGJjNy4uMjdkYjY1YTdiODk5
NDY2ZjRhMGUwNWM1M2Q1NjQwMjBiN2MwNjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcApAQCAtMTMzLDYgKzEzMyw4IEBA
IHN0YXRpYyBsZXZlbGRiOjpTdGF0dXMgb3BlbkRCKGxldmVsZGI6OkNvbXBhcmF0b3IqIGNvbXBh
cmF0b3IsIGxldmVsZGI6OkVudiogZW52CiAgICAgb3B0aW9ucy5jb21wYXJhdG9yID0gY29tcGFy
YXRvcjsKICAgICBvcHRpb25zLmNyZWF0ZV9pZl9taXNzaW5nID0gdHJ1ZTsKICAgICBvcHRpb25z
LnBhcmFub2lkX2NoZWNrcyA9IHRydWU7CisgICAgLy8gMjAgbWF4X29wZW5fZmlsZXMgaXMgdGhl
IG1pbmltdW0gTGV2ZWxEQiBhbGxvd3MuCisgICAgb3B0aW9ucy5tYXhfb3Blbl9maWxlcyA9IDIw
OwogICAgIG9wdGlvbnMuZW52ID0gZW52OwogCiAgICAgcmV0dXJuIGxldmVsZGI6OkRCOjpPcGVu
KG9wdGlvbnMsIHBhdGgudXRmOCgpLmRhdGEoKSwgZGIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>