<?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>57694</bug_id>
          
          <creation_ts>2011-04-01 21:59:07 -0700</creation_ts>
          <short_desc>StorageAreaSync::sync needs a transaction for better performance.</short_desc>
          <delta_ts>2011-10-11 20:28:30 -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>OS X 10.5</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 name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>atwilson</cc>
    
    <cc>barbieri</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>378329</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-01 21:59:07 -0700</bug_when>
    <thetext>Because sqlite operaions are basically atomic,
every insertion and deletion in sync will require block I/O.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378335</commentid>
    <comment_count>1</comment_count>
      <attachid>87966</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-01 22:16:03 -0700</bug_when>
    <thetext>Created attachment 87966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378662</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-03 22:54:54 -0700</bug_when>
    <thetext>I think beidson worked on database support?  I can&apos;t remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378803</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-04-04 08:35:04 -0700</bug_when>
    <thetext>There&apos;s 3 different explanations for why this bug exists.

1 - The title - &quot;::sync requires slow and heavy I/O&quot;
2 - The first comment - &quot;Because sqlite operations are basically atomic, writes will require block I/O&quot;
3 - The ChangeLog for the patch - &quot;Need a transaction in case there&apos;s a crash or a power off&quot;

So, which one is it?

r- until we clear that up...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379222</commentid>
    <comment_count>4</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-04-04 16:54:15 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; There&apos;s 3 different explanations for why this bug exists.
&gt; 
&gt; 1 - The title - &quot;::sync requires slow and heavy I/O&quot;
&gt; 2 - The first comment - &quot;Because sqlite operations are basically atomic, writes will require block I/O&quot;
&gt; 3 - The ChangeLog for the patch - &quot;Need a transaction in case there&apos;s a crash or a power off&quot;
&gt; 
&gt; So, which one is it?
&gt; 
&gt; r- until we clear that up...

Sorry about confusion.
What I mean is &quot;StorageAreaSync::sync needs a transaction for the performance.&quot;
I believe that batch operation with a transaction can save I/O (and computing time little bit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467127</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Sverzut Barbieri">barbieri</who>
    <bug_when>2011-09-14 10:45:54 -0700</bug_when>
    <thetext>informal r+ here.

Brady, actually it was an explanation problem, not patch problem. At least points you listed are connected:

&quot;SQLite operations outside a transaction are all atomic and thus writes will block on I/O, which makes the process slow during heavy I/O&quot;

The third point, explains why a test is not needed: this would only be exercised during premature process death, if it dies before transaction is committed to disk, nothing is actually saved. This is actually BETTER for consistency, as the database will only contain consistent data and not partially inserted values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481458</commentid>
    <comment_count>6</comment_count>
      <attachid>110477</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-10-10 22:57:35 -0700</bug_when>
    <thetext>Created attachment 110477
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481461</commentid>
    <comment_count>7</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-10-10 22:59:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; There&apos;s 3 different explanations for why this bug exists.
&gt; 
&gt; 1 - The title - &quot;::sync requires slow and heavy I/O&quot;
&gt; 2 - The first comment - &quot;Because sqlite operations are basically atomic, writes will require block I/O&quot;
&gt; 3 - The ChangeLog for the patch - &quot;Need a transaction in case there&apos;s a crash or a power off&quot;
&gt; 
&gt; So, which one is it?
&gt; 
&gt; r- until we clear that up...

Sorry once more.
I changed title and comment.
If patch itself wasn&apos;t wrong, could you review this once more?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482083</commentid>
    <comment_count>8</comment_count>
      <attachid>110477</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-11 17:36:31 -0700</bug_when>
    <thetext>Comment on attachment 110477
Patch

Seems like a good change. Is this the only case where we need a transaction and don’t have one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482127</commentid>
    <comment_count>9</comment_count>
      <attachid>110623</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-10-11 18:16:55 -0700</bug_when>
    <thetext>Created attachment 110623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482131</commentid>
    <comment_count>10</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-10-11 18:25:01 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 110477 [details])
&gt; Seems like a good change. Is this the only case where we need a transaction and don’t have one?

Thanks for the comment.

I checked other areas using SQLiteStatement.
They looks fine for me.

Some modules like IconDatabase already are using transaction for write operations.

IMO, StorageAreaSync::sync also need a transaction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482134</commentid>
    <comment_count>11</comment_count>
      <attachid>110623</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-11 18:26:34 -0700</bug_when>
    <thetext>Comment on attachment 110623
Patch

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

&gt; Source/WebCore/storage/StorageAreaSync.cpp:434
&gt; +    SQLiteTransaction transaction(m_database, false);

There is no need to say “false” here; the default is false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482136</commentid>
    <comment_count>12</comment_count>
      <attachid>110625</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-10-11 18:28:56 -0700</bug_when>
    <thetext>Created attachment 110625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482175</commentid>
    <comment_count>13</comment_count>
      <attachid>110625</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 20:28:24 -0700</bug_when>
    <thetext>Comment on attachment 110625
Patch

Clearing flags on attachment: 110625

Committed r97223: &lt;http://trac.webkit.org/changeset/97223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482176</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 20:28:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87966</attachid>
            <date>2011-04-01 22:16:03 -0700</date>
            <delta_ts>2011-10-10 22:57:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57694-20110402141602.patch</filename>
            <type>text/plain</type>
            <size>1642</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyNzY1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMDEgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFN0b3JhZ2VBcmVhU3luYzo6c3luYyByZXF1aXJlIHNsb3cg
YW5kIGhlYXZ5IEkvTyBvcGVyYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NzY5NAorCisgICAgICAgIEFkZCBleHBsaWN0IHRyYW5zYWN0aW9u
IHRvIHJlZHVjZSBJL08gb3BlcmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBw
YXRjaCBvbmx5IGFmZmVjdCBpbiBleGNlcHRpb25hbCBjYXNlcyBsaWtlIGNyYXNoZWQKKyAgICAg
ICAgb3IgcG93ZXIgb2ZmLgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFTeW5jOjpzeW5jKToKKwogMjAxMS0wNC0w
MSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFy
ZWFTeW5jLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VB
cmVhU3luYy5jcHAJKHJldmlzaW9uIDgyNzY1KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlQXJlYVN5bmMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODQsNiArMzg0LDcgQEAgdm9p
ZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmMoYm9vbCBjbGVhckl0ZQogCiAgICAgSGFzaE1hcDxTdHJp
bmcsIFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGl0ZW1zLmVuZCgpOwogCisgICAgbV9k
YXRhYmFzZS5leGVjdXRlQ29tbWFuZCgiQkVHSU4gVFJBTlNBQ1RJT04iKTsKICAgICBmb3IgKEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGl0ZW1zLmJlZ2luKCk7
IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICAvLyBCYXNlZCBvbiB0aGUgbnVsbC1uZXNzIG9m
IHRoZSBzZWNvbmQgYXJndW1lbnQsIGRlY2lkZSB3aGV0aGVyIHRoaXMgaXMgYW4gaW5zZXJ0IG9y
IGEgZGVsZXRlLgogICAgICAgICBTUUxpdGVTdGF0ZW1lbnQmIHF1ZXJ5ID0gaXQtPnNlY29uZC5p
c051bGwoKSA/IHJlbW92ZSA6IGluc2VydDsKQEAgLTQwMiw2ICs0MDMsNyBAQCB2b2lkIFN0b3Jh
Z2VBcmVhU3luYzo6c3luYyhib29sIGNsZWFySXRlCiAKICAgICAgICAgcXVlcnkucmVzZXQoKTsK
ICAgICB9CisgICAgbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFuZCgiQ09NTUlUIFRSQU5TQUNUSU9O
Iik7CiB9CiAKIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpwZXJmb3JtU3luYygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110477</attachid>
            <date>2011-10-10 22:57:35 -0700</date>
            <delta_ts>2011-10-11 18:16:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57694-20111011145734.patch</filename>
            <type>text/plain</type>
            <size>2253</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxMjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMTdlZjg4ZGM0YWIwMmNk
Nzc4OTYwYjU3ODVjMTE3ZWU5NDA5ODFmLi5lZjg0YThhNTc2YzY0ODhlOGI5ZDJiNGI3ZDE5ZTky
MmRlZTVjNmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTAtMTAgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFN0b3JhZ2VBcmVhU3lu
Yzo6c3luYyBuZWVkcyBhIHRyYW5zYWN0aW9uIGZvciB0aGUgcGVyZm9ybWFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzY5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBub3csIFN0b3JhZ2VB
cmVhU3luYzo6c3luYyBleGVjdXRlIFNRTGl0ZSBvcGVyYXRpb25zIGZvciBhbGwgaXRlbXMgb3V0
c2lkZQorICAgICAgICBhIHRyYW5zYWN0aW9uLgorICAgICAgICBIb3dldmVyLCBTUUxpdGUgb3Bl
cmF0aW9ucyBvdXRzaWRlIGEgdHJhbnNhY3Rpb24gYXJlIGFsbCBhdG9taWMgYW5kIHRodXMKKyAg
ICAgICAgd3JpdGVzIHdpbGwgYmxvY2sgb24gSS9PLCB3aGljaCBtYWtlcyB0aGUgcHJvY2VzcyBz
bG93IGR1cmluZyBoZWF2eSBJL08uCisgICAgICAgIFRoaXMgd3JhcHBlZCB0aGVtIHdpdGggQkVH
SU4gVFJBTlNBQ1RJT04gYW5kIEVORCBUUkFOU0FDVElPTiBmb3IgdGhlIGJldHRlcgorICAgICAg
ICBwZXJmb3JtYW5jZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgcmVxdWlyZWQuCisgICAgICAg
IE5vIGZ1bmN0aW9uYWwgY2hhbmdlcyBpZiB0cmFuc2FjdGlvbiBkb2Vzbid0IGZhaWwuCisgICAg
ICAgIEFuZCBhbHNvLCBpdCBpcyBkaWZmaWN1bHQgdG8gdGVzdCB0aGUgY2FzZSBvZiB0cmFuc2Fj
dGlvbiBmYWlscy4KKworICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhU3luYzo6c3luYyk6CisKIDIwMTEtMTAtMTAgIEFi
aGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdHlsZSBub3Qg
dXBkYXRlZCBvbiB0ZXh0IGZyYWdtZW50IGluIDpmaXJzdC1sZXR0ZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCAzYjhlMDk0MzhkZjg3YzE1MTk5MjFl
NzY3MTZjZTMxMzY3MWZlM2ZiLi4yMDQ3NGZiMTljYjBkYjRiZDNmMDg5MGRlMmNkYjc1ODAyODJk
ZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00
MzEsNiArNDMxLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmMoYm9vbCBjbGVhckl0ZW1z
LCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgaXRlbXMKIAogICAgIEhhc2hNYXA8U3Ry
aW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBpdGVtcy5lbmQoKTsKIAorICAgIG1f
ZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkJFR0lOIFRSQU5TQUNUSU9OIik7CiAgICAgZm9yIChI
YXNoTWFwPFN0cmluZywgU3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBpdGVtcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgLy8gQmFzZWQgb24gdGhlIG51bGwtbmVzcyBv
ZiB0aGUgc2Vjb25kIGFyZ3VtZW50LCBkZWNpZGUgd2hldGhlciB0aGlzIGlzIGFuIGluc2VydCBv
ciBhIGRlbGV0ZS4KICAgICAgICAgU1FMaXRlU3RhdGVtZW50JiBxdWVyeSA9IGl0LT5zZWNvbmQu
aXNOdWxsKCkgPyByZW1vdmUgOiBpbnNlcnQ7CkBAIC00NDksNiArNDUwLDcgQEAgdm9pZCBTdG9y
YWdlQXJlYVN5bmM6OnN5bmMoYm9vbCBjbGVhckl0ZW1zLCBjb25zdCBIYXNoTWFwPFN0cmluZywg
U3RyaW5nPiYgaXRlbXMKIAogICAgICAgICBxdWVyeS5yZXNldCgpOwogICAgIH0KKyAgICBtX2Rh
dGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDT01NSVQgVFJBTlNBQ1RJT04iKTsKIH0KIAogdm9pZCBT
dG9yYWdlQXJlYVN5bmM6OnBlcmZvcm1TeW5jKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110623</attachid>
            <date>2011-10-11 18:16:55 -0700</date>
            <delta_ts>2011-10-11 18:28:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57694-20111012101653.patch</filename>
            <type>text/plain</type>
            <size>2300</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcyMDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZDc3M2IxZThiMzk1M2Y2
ZjRjMmI5OWU5ZTcyNjU1YjZiMzBjMWQwLi42MTRkMGQ3NDExMDVjNjQ2Njc3MTRjMTcyZGQ1MWNm
N2U3ZWZiZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTAtMTEgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFN0b3JhZ2VBcmVhU3lu
Yzo6c3luYyBuZWVkcyBhIHRyYW5zYWN0aW9uIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzY5NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBub3csIFN0b3Jh
Z2VBcmVhU3luYzo6c3luYyBleGVjdXRlIFNRTGl0ZSBvcGVyYXRpb25zIGZvciBhbGwgaXRlbXMg
b3V0c2lkZQorICAgICAgICBhIHRyYW5zYWN0aW9uLgorICAgICAgICBIb3dldmVyLCBTUUxpdGUg
b3BlcmF0aW9ucyBvdXRzaWRlIGEgdHJhbnNhY3Rpb24gYXJlIGFsbCBhdG9taWMgYW5kIHRodXMK
KyAgICAgICAgd3JpdGVzIHdpbGwgYmxvY2sgb24gSS9PLCB3aGljaCBtYWtlcyB0aGUgcHJvY2Vz
cyBzbG93IGR1cmluZyBoZWF2eSBJL08uCisgICAgICAgIFRoaXMgd3JhcHBlZCB0aGVtIHdpdGgg
QkVHSU4gVFJBTlNBQ1RJT04gYW5kIEVORCBUUkFOU0FDVElPTiBmb3IgdGhlIGJldHRlcgorICAg
ICAgICBwZXJmb3JtYW5jZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgcmVxdWlyZWQuCisgICAg
ICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcyBpZiB0cmFuc2FjdGlvbiBkb2Vzbid0IGZhaWwuCisg
ICAgICAgIEFuZCBhbHNvLCBpdCBpcyBkaWZmaWN1bHQgdG8gdGVzdCB0aGUgY2FzZSBvZiB0cmFu
c2FjdGlvbiBmYWlscy4KKworICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhU3luYzo6c3luYyk6CisKIDIwMTEtMTAtMTEg
IE5pY28gV2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
TGV0IHJ1bGVfYmluZGluZyB1c2Ugb3MuZXhlY3ZwKCkgaW5zdGVhZCBvZiBzdWJwcm9jZXNzLmNh
bGwoKSB0byBzcGF3biBmZXdlciBwcm9jZXNzZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHAKaW5kZXggM2I4ZTA5NDM4ZGY4N2MxNTE5OTIxZTc2NzE2Y2UzMTM2
NzFmZTNmYi4uNDAyMzU5YWNmNGE4ZTA3MDZhODViZTI3MmQyYmZjZTUzZmU3MGVkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDMxLDYgKzQzMSw4
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jKGJvb2wgY2xlYXJJdGVtcywgY29uc3QgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4mIGl0ZW1zCiAKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5n
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gaXRlbXMuZW5kKCk7CiAKKyAgICBTUUxpdGVUcmFuc2Fj
dGlvbiB0cmFuc2FjdGlvbihtX2RhdGFiYXNlLCBmYWxzZSk7CisgICAgdHJhbnNhY3Rpb24uYmVn
aW4oKTsKICAgICBmb3IgKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBp
dCA9IGl0ZW1zLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICAvLyBCYXNlZCBv
biB0aGUgbnVsbC1uZXNzIG9mIHRoZSBzZWNvbmQgYXJndW1lbnQsIGRlY2lkZSB3aGV0aGVyIHRo
aXMgaXMgYW4gaW5zZXJ0IG9yIGEgZGVsZXRlLgogICAgICAgICBTUUxpdGVTdGF0ZW1lbnQmIHF1
ZXJ5ID0gaXQtPnNlY29uZC5pc051bGwoKSA/IHJlbW92ZSA6IGluc2VydDsKQEAgLTQ0OSw2ICs0
NTEsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luYyhib29sIGNsZWFySXRlbXMsIGNvbnN0
IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBpdGVtcwogCiAgICAgICAgIHF1ZXJ5LnJlc2V0KCk7
CiAgICAgfQorICAgIHRyYW5zYWN0aW9uLmNvbW1pdCgpOwogfQogCiB2b2lkIFN0b3JhZ2VBcmVh
U3luYzo6cGVyZm9ybVN5bmMoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110625</attachid>
            <date>2011-10-11 18:28:56 -0700</date>
            <delta_ts>2011-10-11 20:28:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57694-20111012102854.patch</filename>
            <type>text/plain</type>
            <size>2293</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcyMDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZDc3M2IxZThiMzk1M2Y2
ZjRjMmI5OWU5ZTcyNjU1YjZiMzBjMWQwLi42MTRkMGQ3NDExMDVjNjQ2Njc3MTRjMTcyZGQ1MWNm
N2U3ZWZiZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTAtMTEgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFN0b3JhZ2VBcmVhU3lu
Yzo6c3luYyBuZWVkcyBhIHRyYW5zYWN0aW9uIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzY5NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBub3csIFN0b3Jh
Z2VBcmVhU3luYzo6c3luYyBleGVjdXRlIFNRTGl0ZSBvcGVyYXRpb25zIGZvciBhbGwgaXRlbXMg
b3V0c2lkZQorICAgICAgICBhIHRyYW5zYWN0aW9uLgorICAgICAgICBIb3dldmVyLCBTUUxpdGUg
b3BlcmF0aW9ucyBvdXRzaWRlIGEgdHJhbnNhY3Rpb24gYXJlIGFsbCBhdG9taWMgYW5kIHRodXMK
KyAgICAgICAgd3JpdGVzIHdpbGwgYmxvY2sgb24gSS9PLCB3aGljaCBtYWtlcyB0aGUgcHJvY2Vz
cyBzbG93IGR1cmluZyBoZWF2eSBJL08uCisgICAgICAgIFRoaXMgd3JhcHBlZCB0aGVtIHdpdGgg
QkVHSU4gVFJBTlNBQ1RJT04gYW5kIEVORCBUUkFOU0FDVElPTiBmb3IgdGhlIGJldHRlcgorICAg
ICAgICBwZXJmb3JtYW5jZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgcmVxdWlyZWQuCisgICAg
ICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcyBpZiB0cmFuc2FjdGlvbiBkb2Vzbid0IGZhaWwuCisg
ICAgICAgIEFuZCBhbHNvLCBpdCBpcyBkaWZmaWN1bHQgdG8gdGVzdCB0aGUgY2FzZSBvZiB0cmFu
c2FjdGlvbiBmYWlscy4KKworICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhU3luYzo6c3luYyk6CisKIDIwMTEtMTAtMTEg
IE5pY28gV2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
TGV0IHJ1bGVfYmluZGluZyB1c2Ugb3MuZXhlY3ZwKCkgaW5zdGVhZCBvZiBzdWJwcm9jZXNzLmNh
bGwoKSB0byBzcGF3biBmZXdlciBwcm9jZXNzZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHAKaW5kZXggM2I4ZTA5NDM4ZGY4N2MxNTE5OTIxZTc2NzE2Y2UzMTM2
NzFmZTNmYi4uMTM4OWJjNDEzZTIxOWM1ODMzOTJjYjUzYmViNDJiNzc3NjAwM2I1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDMxLDYgKzQzMSw4
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jKGJvb2wgY2xlYXJJdGVtcywgY29uc3QgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4mIGl0ZW1zCiAKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5n
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gaXRlbXMuZW5kKCk7CiAKKyAgICBTUUxpdGVUcmFuc2Fj
dGlvbiB0cmFuc2FjdGlvbihtX2RhdGFiYXNlKTsKKyAgICB0cmFuc2FjdGlvbi5iZWdpbigpOwog
ICAgIGZvciAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gaXRl
bXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIC8vIEJhc2VkIG9uIHRoZSBu
dWxsLW5lc3Mgb2YgdGhlIHNlY29uZCBhcmd1bWVudCwgZGVjaWRlIHdoZXRoZXIgdGhpcyBpcyBh
biBpbnNlcnQgb3IgYSBkZWxldGUuCiAgICAgICAgIFNRTGl0ZVN0YXRlbWVudCYgcXVlcnkgPSBp
dC0+c2Vjb25kLmlzTnVsbCgpID8gcmVtb3ZlIDogaW5zZXJ0OwpAQCAtNDQ5LDYgKzQ1MSw3IEBA
IHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jKGJvb2wgY2xlYXJJdGVtcywgY29uc3QgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4mIGl0ZW1zCiAKICAgICAgICAgcXVlcnkucmVzZXQoKTsKICAgICB9
CisgICAgdHJhbnNhY3Rpb24uY29tbWl0KCk7CiB9CiAKIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpw
ZXJmb3JtU3luYygpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>