<?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>30209</bug_id>
          
          <creation_ts>2009-10-08 07:28:45 -0700</creation_ts>
          <short_desc>Cache::m_liveDecodedResource is not sorted by CachedResource::m_lastDecodedAccessTime</short_desc>
          <delta_ts>2009-10-28 04:44:49 -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>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153365</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-08 07:28:45 -0700</bug_when>
    <thetext>The Cache::pruneLiveResources is expecting the Cache::m_liveDecodedResource to be sorted by m_lastDecodedAccessTime but this is not true because of CachedResource::setDecodedSize inserting the resource with m_lastDecodedAccessTime = 0.


The problem now is that inserting with sorting is killing performance and updating m_lastDecodedAccessTime might have negative impact on the cache. I have decided to update the m_lastDecodedAccessTime but have not done measurement on my private PLT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153366</commentid>
    <comment_count>1</comment_count>
      <attachid>40868</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-08 07:32:23 -0700</bug_when>
    <thetext>Created attachment 40868
Update m_lastDecodedAccessTime in CachedResource::setDecodedSize

Update the m_lastDecodedAccessTime when we insert the resource. The code in CachedImage is checking the FrameView painting time but the CachedResource is not doing this when using WTF::currentTime so I decided to not do it.

I just recognized that this has a problem with the CachedImage::didDraw code... as this is using FrameView time which is before ::currentTime(). So CachedResource::setDecodedSize should use the FrameView time as well.

I&apos;m posting this patch anyway to get feedback on the issue and the proposed resolution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155571</commentid>
    <comment_count>2</comment_count>
      <attachid>40868</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-18 22:51:24 -0700</bug_when>
    <thetext>Comment on attachment 40868
Update m_lastDecodedAccessTime in CachedResource::setDecodedSize

This seems fine.  Can we add an ASSERT somewhere to ensure that we maintain this invariant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155705</commentid>
    <comment_count>3</comment_count>
      <attachid>40868</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2009-10-19 08:51:35 -0700</bug_when>
    <thetext>Comment on attachment 40868
Update m_lastDecodedAccessTime in CachedResource::setDecodedSize

Let commit bot land it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155715</commentid>
    <comment_count>4</comment_count>
      <attachid>40868</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-10-19 08:58:46 -0700</bug_when>
    <thetext>Comment on attachment 40868
Update m_lastDecodedAccessTime in CachedResource::setDecodedSize

Removing from commit queue so I can comment before this lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155734</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-10-19 09:21:25 -0700</bug_when>
    <thetext>Adam:

I disagree with r+ing this patch.

Holger said he experienced serious performance problems with earlier versions, and it&apos;s not clear that those problems have been resolved. He also said that this patch &quot;has a problem&quot;.

Please consider my comments to Holger -- I think an r- might be appropriate here, at least until Holger has a chance to respond.

Holger:

Storing a painting time in FrameView was an effort to avoid excessive calls to currentTime(), which can be expensive. It would be nice if you could piggy-back on that stored value, but unfortunately it gets set to 0 when painting ends. Maybe we could invent something similar that you could piggy-back on.

I&apos;m worried that these new calls to currentTime() will be a performance problem. Did you test performance with this latest patch? If so, what were your results?

Also, what user-visible bug are you fixing? I&apos;m having a hard time understanding what problem arises as a result of a CachedImage being inserted into the LRU list with an initial m_lastDecodedAccessTime of 0. I see that m_liveDecodedResources is assumed to be ordered from most recently to least recently accessed, but I don&apos;t see a place where tying that order to m_lastDecodedAccessTime is important. The one thing I do see is this:

            double elapsedTime = currentTime - current-&gt;m_lastDecodedAccessTime;
            if (elapsedTime &lt; cMinDelayBeforeLiveDecodedPrune)
                return;

Technically, an m_lastDecodedAccessTime of 0 could cause thrash in this case, by allowing the cache to destroy decoded data on a resource that had just decoded. However, that seems almost impossible in practice, since that one resource would need to be big enough to bust the Cache size limits all by itself. Have you seen something like that happen?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155953</commentid>
    <comment_count>6</comment_count>
      <attachid>40868</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-19 15:21:45 -0700</bug_when>
    <thetext>Comment on attachment 40868
Update m_lastDecodedAccessTime in CachedResource::setDecodedSize

Marking r- (abarth will forgive me) to remove it from the to-be-landed queue.  I&apos;m sure Holger will get reply to ggaren soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156011</commentid>
    <comment_count>7</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-19 18:06:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Adam:
&gt; 
&gt; I disagree with r+ing this patch.
&gt; 
&gt; Holger said he experienced serious performance problems with earlier versions,
&gt; and it&apos;s not clear that those problems have been resolved. He also said that
&gt; this patch &quot;has a problem&quot;.

The performance remark:
     - I don&apos;t have a iBench setup or any other access to a good to a performance benchmark. So my comments on performance are hyptothetical. My remark was that when we change the code to go through the list and insert it at the right position we will end up with a O(n) runtime instead of the almost constant we have now.

     - I have picked the solution that has less computation but I&apos;m not able to propely profile this change.


Problems:
      - Yes I will need to add a if statement to the patch and I will upload a new one.



&gt; Storing a painting time in FrameView was an effort to avoid excessive calls to
&gt; currentTime(), which can be expensive. It would be nice if you could piggy-back
&gt; on that stored value, but unfortunately it gets set to 0 when painting ends.
&gt; Maybe we could invent something similar that you could piggy-back on.
&gt;



&gt; I&apos;m worried that these new calls to currentTime() will be a performance
&gt; problem. Did you test performance with this latest patch? If so, what were your
&gt; results?

See the above, I&apos;m sadly not in the position to properly benchmark it yet.


 
&gt; Also, what user-visible bug are you fixing?
&gt; I&apos;m having a hard time
&gt; understanding what problem arises as a result of a CachedImage being inserted
&gt; into the LRU list with an initial m_lastDecodedAccessTime of 0. I see that
&gt; m_liveDecodedResources is assumed to be ordered from most recently to least
&gt; recently accessed, but I don&apos;t see a place where tying that order to
&gt; m_lastDecodedAccessTime is important. The one thing I do see is this:
&gt; 
&gt;             double elapsedTime = currentTime -
&gt; current-&gt;m_lastDecodedAccessTime;
&gt;             if (elapsedTime &lt; cMinDelayBeforeLiveDecodedPrune)
&gt;                 return;
&gt; 
&gt; Technically, an m_lastDecodedAccessTime of 0 could cause thrash in this case,
&gt; by allowing the cache to destroy decoded data on a resource that had just
&gt; decoded. However, that seems almost impossible in practice, since that one
&gt; resource would need to be big enough to bust the Cache size limits all by
&gt; itself. Have you seen something like that happen?

Right, in the case of the m_lastDecodedAccessTime of 0 the above if statement will almost certainly evaluate to false and the decoded data will be destroyed but even this can only happen when the item &quot;sank&quot; deep enough into the queue. So my initial idea that it will lead to other data not being freed was wrong.


I&apos;m still in the process of trying to understand memory usage in the Qt port, so I spent some time with the Cache trying to figure out how much is in there, why is it kept in the cache and seein that the list is not sorted.

How would you proceed? Just add a comment that the list is not always sorted but it is okay, do it correctly and see the performance impact?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156034</commentid>
    <comment_count>8</comment_count>
      <attachid>41473</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-19 19:44:26 -0700</bug_when>
    <thetext>Created attachment 41473
Update m_latDecodedAccessTime in CachedResource::setDecodedSize

This would be &quot;the final&quot; patch. I&apos;m not setting review as I wait for Garen&apos;s comment on how to proceed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156231</commentid>
    <comment_count>9</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-10-20 11:58:46 -0700</bug_when>
    <thetext>Let&apos;s see... I think we understand each other now, so good for us :).

I like the spirit of your patch -- code that&apos;s subtly wrong, but actually right for an even more subtle reason, is hard to work with.

It&apos;s too bad that we don&apos;t have any good public page load benchmarks.

If you&apos;re happy with it, I&apos;m happy with the comment solution, because it&apos;s easiest, and the comment probably only has to go in one place.

If you prefer the patch, I can make some time to do some page load benchmarking, or I can ask someone else here to do some page load benchmarking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157734</commentid>
    <comment_count>10</comment_count>
      <attachid>41860</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-26 04:39:58 -0700</bug_when>
    <thetext>Created attachment 41860
Comment the behavior of the live resources list

First attempt at the solution using a comment to describe the quirk and why it is not that bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157778</commentid>
    <comment_count>11</comment_count>
      <attachid>41860</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-26 08:25:24 -0700</bug_when>
    <thetext>Comment on attachment 41860
Comment the behavior of the live resources list

Looks good.

&gt; +    // The list is not stricly sorted by the m_lastDecodedAccessTime but

Typo here &quot;stricly&quot;.

&gt; +    // the impact of this behavior is minor as the below if with the return
&gt; +    // statement will not evaluate to true as the currentTime is &gt;&gt; than
&gt; +    // current-&gt;m_lastDecodedAccessTime. For more details see:
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=30209

I am not sure that the term &quot;not strictly sorted&quot; is the right one here. Typically &quot;strict&quot; sorting simply means a sort where no two items are considered equal.

Maybe you mean &quot;does not maintain a strict invariant&quot; or something like that?

&gt; +        // Insert into or remove from the live decoded list if necessary. When inserting
&gt; +        // into the LiveDecodedResourcesList the m_lastDecodedAccessTime might still be
&gt; +        // zero or smaller than the m_lastDecodedAccessTime of the current head of this
&gt; +        // list. This is a violation of the current invariant but it is not a problem.

The term &quot;the current invariant&quot; here is confusing. I don&apos;t know what could make something both &quot;current&quot; and &quot;invariant&quot;. Different wording would be clearer. You could just remove &quot;current&quot;, I guess. I think it would be best to say &quot;a violation of the invariant that the list be kept sorted by access time&quot;.

Since the patch is entirely about comments, I&apos;ll say review- because of the typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158160</commentid>
    <comment_count>12</comment_count>
      <attachid>41943</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-27 06:03:40 -0700</bug_when>
    <thetext>Created attachment 41943
Comment the weaker invariant

Attempt to be more precise. Darin thanks a lot for taking a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158231</commentid>
    <comment_count>13</comment_count>
      <attachid>41943</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-27 10:08:40 -0700</bug_when>
    <thetext>Comment on attachment 41943
Comment the weaker invariant

Looks good.

&gt; +        // that the tm_lastDecodedAccessTime is still zero or smaller than

That should be &quot;m_&quot; rather than &quot;tm_&quot;.

&gt; +        // by access time. The weakening of the invariant does not impose
&gt; +        // a problem. For more details please see: https://bugs.webkit.org/show_bug.cgi?id=30209

That should be &quot;does not pose a problem&quot; rather than &quot;does not impose a problem&quot;.

As with the last round of review, since this patch is entirely about comments, I&apos;m holding the comments to a higher than usual standard. review- so you can fix those two mistakes. Or you can fix them and land -- no need for a formal review+ in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158513</commentid>
    <comment_count>14</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-28 04:39:58 -0700</bug_when>
    <thetext>Thanks for the higher standards. I will take it as a r=+ and carry out the two proposed fixes. Thanks a lot for taking your time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158515</commentid>
    <comment_count>15</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-28 04:44:49 -0700</bug_when>
    <thetext>Landed in r50213.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40868</attachid>
            <date>2009-10-08 07:32:23 -0700</date>
            <delta_ts>2009-10-26 04:39:58 -0700</delta_ts>
            <desc>Update m_lastDecodedAccessTime in CachedResource::setDecodedSize</desc>
            <filename>0001-Cache-m_liveDecodedResource-could-become-unsorted.patch</filename>
            <type>text/plain</type>
            <size>2793</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSBmMTkwZmFjZWFmZjAwYmE3MzhlMjkwMTA1MzYyMzIwYjIyZmNmYzBkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFRodSwgOCBPY3QgMjAwOSAxNTo0NDo1NCArMDIwMApTdWJqZWN0OiBb
UEFUQ0ggMS8yXSBDYWNoZTogbV9saXZlRGVjb2RlZFJlc291cmNlIGNvdWxkIGJlY29tZSB1bnNv
cnRlZAoKSW4gQ2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplIGl0IHdhcyBwb3NzaWJsZSB0
bwphZGQgdGhlIENhY2hlZFJlc291cmNlIGludG8gdGhlIENhY2hlOjptX2xpdmVEZWNvZGVkUmVz
b3VyY2UKd2l0aCBvdXQgdXBkYXRpbmcgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUuCgpUaGUgY29k
ZSBpbiBDYWNoZTo6cHJ1bmVMaXZlUmVzb3VyY2VzIGFzc3VtZXMgdGhhdAp0aGUgdGFpbCBpcyB0
aGUgb2xkZXN0IGluIHRlcm1zIG9mIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lCmJ1dCB0aGlzIHdh
cyBub3QgdGhlIGNhc2UuCgpVcGRhdGUgdGhlIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lIHRvIGN1
cnJlbnRUaW1lKCkgYmVmb3JlCnBsYWNpbmcgdGhlIENhY2hlZFJlc291cmNlIGFzIGhlYWQgb2Yg
dGhlIENhY2hlOjptX2xpdmVEZWNvZGVkUmVzb3VyY2UKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgfCAgIDIyICsrKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvbG9h
ZGVyL0NhY2hlZFJlc291cmNlLmNwcCB8ICAgIDUgKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjUg
aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNmNzg3NjUuLjEwYWZiNTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMDktMTAtMDggIEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2Vs
ZmlzaC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2FjaGU6IG1fbGl2ZURlY29kZWRSZXNvdXJjZSBjb3VsZCBiZWNvbWUgdW5zb3J0ZWQKKwor
ICAgICAgICBJbiBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUgaXQgd2FzIHBvc3NpYmxl
IHRvCisgICAgICAgIGFkZCB0aGUgQ2FjaGVkUmVzb3VyY2UgaW50byB0aGUgQ2FjaGU6Om1fbGl2
ZURlY29kZWRSZXNvdXJjZQorICAgICAgICB3aXRoIG91dCB1cGRhdGluZyBtX2xhc3REZWNvZGVk
QWNjZXNzVGltZS4KKworICAgICAgICBUaGUgY29kZSBpbiBDYWNoZTo6cHJ1bmVMaXZlUmVzb3Vy
Y2VzIGFzc3VtZXMgdGhhdAorICAgICAgICB0aGUgdGFpbCBpcyB0aGUgb2xkZXN0IGluIHRlcm1z
IG9mIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lCisgICAgICAgIGJ1dCB0aGlzIHdhcyBub3QgdGhl
IGNhc2UuCisKKyAgICAgICAgVXBkYXRlIHRoZSBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSB0byBj
dXJyZW50VGltZSgpIGJlZm9yZQorICAgICAgICBwbGFjaW5nIHRoZSBDYWNoZWRSZXNvdXJjZSBh
cyBoZWFkIG9mIHRoZSBDYWNoZTo6bV9saXZlRGVjb2RlZFJlc291cmNlCisKKyAgICAgICAgTmVl
ZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICAqIGxv
YWRlci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6c2V0RGVjb2RlZFNpemUpOgorCiAyMDA5LTEwLTA3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJl
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL2xvYWRlci9D
YWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggNDNkZTYzMy4uNzk0ZTVhMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMjQyLDkgKzI0MiwxMCBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpz
ZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQogICAgICAgICBjYWNoZSgpLT5pbnNlcnRJbkxS
VUxpc3QodGhpcyk7CiAgICAgICAgIAogICAgICAgICAvLyBJbnNlcnQgaW50byBvciByZW1vdmUg
ZnJvbSB0aGUgbGl2ZSBkZWNvZGVkIGxpc3QgaWYgbmVjZXNzYXJ5LgotICAgICAgICBpZiAobV9k
ZWNvZGVkU2l6ZSAmJiAhbV9pbkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCAmJiBoYXNDbGllbnRz
KCkpCisgICAgICAgIGlmIChtX2RlY29kZWRTaXplICYmICFtX2luTGl2ZURlY29kZWRSZXNvdXJj
ZXNMaXN0ICYmIGhhc0NsaWVudHMoKSkgeworICAgICAgICAgICAgbV9sYXN0RGVjb2RlZEFjY2Vz
c1RpbWUgPSBjdXJyZW50VGltZSgpOwogICAgICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7Ci0gICAgICAgIGVsc2UgaWYgKCFtX2RlY29kZWRT
aXplICYmIG1faW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QpCisgICAgICAgIH0gZWxzZSBpZiAo
IW1fZGVjb2RlZFNpemUgJiYgbV9pbkxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCkKICAgICAgICAg
ICAgIGNhY2hlKCktPnJlbW92ZUZyb21MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CiAK
ICAgICAgICAgLy8gVXBkYXRlIHRoZSBjYWNoZSdzIHNpemUgdG90YWxzLgotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="22158"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="22814"
          type_id="3"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41473</attachid>
            <date>2009-10-19 19:44:26 -0700</date>
            <delta_ts>2009-10-26 04:39:58 -0700</delta_ts>
            <desc>Update m_latDecodedAccessTime in CachedResource::setDecodedSize</desc>
            <filename>0001-Cache-m_liveDecodedResource-could-become-unsorted.patch</filename>
            <type>text/plain</type>
            <size>3442</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA4NmU5NzYzNDFjNGE4ZjhlZGFmNDYzZDAzYTQxNmM3YzVkMDA2MzQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFRodSwgOCBPY3QgMjAwOSAxNTo0NDo1NCArMDIwMApTdWJqZWN0OiBb
UEFUQ0ggMS8zXSBDYWNoZTogbV9saXZlRGVjb2RlZFJlc291cmNlIGNvdWxkIGJlY29tZSB1bnNv
cnRlZAoKSW4gQ2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplIGl0IHdhcyBwb3NzaWJsZSB0
bwphZGQgdGhlIENhY2hlZFJlc291cmNlIGludG8gdGhlIENhY2hlOjptX2xpdmVEZWNvZGVkUmVz
b3VyY2UKd2l0aCBvdXQgdXBkYXRpbmcgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUuCgpUaGUgY29k
ZSBpbiBDYWNoZTo6cHJ1bmVMaXZlUmVzb3VyY2VzIGFzc3VtZXMgdGhhdAp0aGUgdGFpbCBpcyB0
aGUgb2xkZXN0IGluIHRlcm1zIG9mIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lCmJ1dCB0aGlzIHdh
cyBub3QgdGhlIGNhc2UuCgpVcGRhdGUgdGhlIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lIHRvIHRo
ZSBGcmFtZVZpZXcgcGFpbnRpbmcKdGltZSBvciBjdXJyZW50VGltZSgpIGJlZm9yZSBwbGFjaW5n
IHRoZSBDYWNoZWRSZXNvdXJjZSBhcwpoZWFkIG9mIHRoZSBDYWNoZTo6bV9saXZlRGVjb2RlZFJl
c291cmNlIHRvIGtlZXAgdGhlIGxpc3QKcHJvcGVybHkgc29ydGVkLgoKaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjA5CgoqIGxvYWRlci9DYWNoZWRSZXNvdXJjZS5j
cHA6CihXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUpOgotLS0KIFdlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgMjQgKysrKysrKysrKysrKysrKysrKysr
KysrCiBXZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAgfCAgICA5ICsrKysrKy0tLQog
MiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRjN2Ix
OC4uZTJjZjBhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0xMC0wOCAgSG9sZ2VyIEhhbnMgUGV0ZXIg
RnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDYWNoZTogbV9saXZlRGVjb2RlZFJlc291cmNlIGNvdWxk
IGJlY29tZSB1bnNvcnRlZAorCisgICAgICAgIEluIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVk
U2l6ZSBpdCB3YXMgcG9zc2libGUgdG8KKyAgICAgICAgYWRkIHRoZSBDYWNoZWRSZXNvdXJjZSBp
bnRvIHRoZSBDYWNoZTo6bV9saXZlRGVjb2RlZFJlc291cmNlCisgICAgICAgIHdpdGggb3V0IHVw
ZGF0aW5nIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lLgorCisgICAgICAgIFRoZSBjb2RlIGluIENh
Y2hlOjpwcnVuZUxpdmVSZXNvdXJjZXMgYXNzdW1lcyB0aGF0CisgICAgICAgIHRoZSB0YWlsIGlz
IHRoZSBvbGRlc3QgaW4gdGVybXMgb2YgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUKKyAgICAgICAg
YnV0IHRoaXMgd2FzIG5vdCB0aGUgY2FzZS4KKworICAgICAgICBVcGRhdGUgdGhlIG1fbGFzdERl
Y29kZWRBY2Nlc3NUaW1lIHRvIHRoZSBGcmFtZVZpZXcgcGFpbnRpbmcKKyAgICAgICAgdGltZSBv
ciBjdXJyZW50VGltZSgpIGJlZm9yZSBwbGFjaW5nIHRoZSBDYWNoZWRSZXNvdXJjZSBhcworICAg
ICAgICBoZWFkIG9mIHRoZSBDYWNoZTo6bV9saXZlRGVjb2RlZFJlc291cmNlIHRvIGtlZXAgdGhl
IGxpc3QKKyAgICAgICAgcHJvcGVybHkgc29ydGVkLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDIwOQorCisgICAgICAgICogbG9hZGVyL0NhY2hl
ZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpzZXREZWNv
ZGVkU2l6ZSk6CisKIDIwMDktMTAtMTkgIEdpcmlzaCBSYW1ha3Jpc2huYW4gIDxnaXJpc2hAZm9y
d2FyZGJpYXMuaW4+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvV2ViQ29yZS9sb2Fk
ZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDQzZGU2MzMuLjhjZThmMmMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9D
YWNoZWRSZXNvdXJjZS5jcHAKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJDYWNoZS5oIgog
I2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiRG9jTG9hZGVyLmgi
Ci0jaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUg
IkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQdXJnZWFibGVCdWZm
ZXIuaCIKICNpbmNsdWRlICJSZXF1ZXN0LmgiCkBAIC0yNDIsOSArMjQyLDEyIEBAIHZvaWQgQ2Fj
aGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAgICAgIGNhY2hl
KCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIC8vIEluc2VydCBp
bnRvIG9yIHJlbW92ZSBmcm9tIHRoZSBsaXZlIGRlY29kZWQgbGlzdCBpZiBuZWNlc3NhcnkuCi0g
ICAgICAgIGlmIChtX2RlY29kZWRTaXplICYmICFtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0
ICYmIGhhc0NsaWVudHMoKSkKKyAgICAgICAgaWYgKG1fZGVjb2RlZFNpemUgJiYgIW1faW5MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3QgJiYgaGFzQ2xpZW50cygpKSB7CisgICAgICAgICAgICBtX2xh
c3REZWNvZGVkQWNjZXNzVGltZSA9IEZyYW1lVmlldzo6Y3VycmVudFBhaW50VGltZVN0YW1wKCk7
CisgICAgICAgICAgICBpZiAoIW1fbGFzdERlY29kZWRBY2Nlc3NUaW1lKQorICAgICAgICAgICAg
ICAgIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgICAg
IGNhY2hlKCktPmluc2VydEluTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOwotICAgICAg
ICBlbHNlIGlmICghbV9kZWNvZGVkU2l6ZSAmJiBtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0
KQorICAgICAgICB9IGVsc2UgaWYgKCFtX2RlY29kZWRTaXplICYmIG1faW5MaXZlRGVjb2RlZFJl
c291cmNlc0xpc3QpCiAgICAgICAgICAgICBjYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRS
ZXNvdXJjZXNMaXN0KHRoaXMpOwogCiAgICAgICAgIC8vIFVwZGF0ZSB0aGUgY2FjaGUncyBzaXpl
IHRvdGFscy4KLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41860</attachid>
            <date>2009-10-26 04:39:58 -0700</date>
            <delta_ts>2009-10-27 06:03:40 -0700</delta_ts>
            <desc>Comment the behavior of the live resources list</desc>
            <filename>0001-Document-a-feature-of-the-m_liveDecodedResources-lis.patch</filename>
            <type>text/plain</type>
            <size>4827</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA4YWJiY2I3NTQzMDhhYjBkNmJkNTU2YTVhMTZmZjE3YmUwMTFiZDI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IE1vbiwgMjYgT2N0IDIwMDkgMTI6MjI6MTYgKzAxMDAKU3ViamVjdDog
W1BBVENIIDEvMl0gRG9jdW1lbnQgYSBmZWF0dXJlIG9mIHRoZSBtX2xpdmVEZWNvZGVkUmVzb3Vy
Y2VzIGxpc3QuCgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpEb2N1bWVudCBhIGZlYXR1cmUgb2YgdGhlIG1f
bGl2ZURlY29kZWRSZXNvdXJjZXMgbGlzdC4KaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwMjA5CgpUaGUgY29kZSBtYWRlIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGxp
c3QgaXMgc29ydGVkIGJ5CnRoZSBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSBwcm9wZXJ0eSBvZiB0
aGUgQ2FjaGVkUmVzb3VyY2UuClRoZSBhYm92ZSBpcyBub3QgdHJ1ZSB3aGVuIENhY2hlZFJlc291
cmNlOjpzZXREZWNvZGVkU2l6ZQppcyBjYWxsZWQgYW5kIHRoZSBpdGVtIGlzIGluc2VydGVkIHRo
ZSBmaXJzdCB0aW1lLiBJbiB0aGlzCmNhc2UgdGhlIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lIGlz
IHN0aWxsIHplcm8gYW5kIHRoZQptX2xpdmVEZWNvZGVkUmVzb3VyY2VzIGxpc3QgYmVjb21lcyB1
bnNvcnRlZC4KCkl0IGlzIGltcG9zc2libGUgdGhhdCBDYWNoZTo6cHJ1bmVMaXZlUmVzb3VyY2Vz
IHdpbGwKc3RvcCB0byBwcm9jZXNzIHRoZSBsaXN0IHRvbyBlYXJseSBkdWUgdGhpcyBmZWF0dXJl
IGFuZAp0aGUgYWx0ZXJuYXRpdmVzIG9mIHVwZGF0aW5nIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1l
IGluCkNhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSBvciBjaGFuZ2luZyB0aGUgaW5zZXJ0
CnRvIHNlYXJjaCB0aGUgcmlnaHQgcG9zaXRpb24gaGF2ZSBhIG5lZ2F0aXZlIGltcGFjdCBvbgpw
ZXJmb3JtYW5jZS4gVGhlIGJlc3Qgc29sdXRpb24gZm9yIG5vdyBpcyB0byBkb2N1bWVudAp0aGlz
IGZlYXR1cmUuCgoqIGxvYWRlci9DYWNoZS5jcHA6CihXZWJDb3JlOjpDYWNoZTo6cHJ1bmVMaXZl
UmVzb3VyY2VzKToKKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwOgooV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2U6OnNldERlY29kZWRTaXplKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgfCAgIDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9sb2Fk
ZXIvQ2FjaGUuY3BwICAgICAgICAgIHwgICAgNiArKysrKysKIFdlYkNvcmUvbG9hZGVyL0NhY2hl
ZFJlc291cmNlLmNwcCB8ICAgIDYgKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlv
bnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTA4MjdkLi5kYWUxZTU3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisy
MDA5LTEwLTI2ICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNlbGZpc2gub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvY3Vt
ZW50IGEgZmVhdHVyZSBvZiB0aGUgbV9saXZlRGVjb2RlZFJlc291cmNlcyBsaXN0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkKKworICAgICAg
ICBUaGUgY29kZSBtYWRlIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGxpc3QgaXMgc29ydGVkIGJ5
CisgICAgICAgIHRoZSBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSBwcm9wZXJ0eSBvZiB0aGUgQ2Fj
aGVkUmVzb3VyY2UuCisgICAgICAgIFRoZSBhYm92ZSBpcyBub3QgdHJ1ZSB3aGVuIENhY2hlZFJl
c291cmNlOjpzZXREZWNvZGVkU2l6ZQorICAgICAgICBpcyBjYWxsZWQgYW5kIHRoZSBpdGVtIGlz
IGluc2VydGVkIHRoZSBmaXJzdCB0aW1lLiBJbiB0aGlzCisgICAgICAgIGNhc2UgdGhlIG1fbGFz
dERlY29kZWRBY2Nlc3NUaW1lIGlzIHN0aWxsIHplcm8gYW5kIHRoZQorICAgICAgICBtX2xpdmVE
ZWNvZGVkUmVzb3VyY2VzIGxpc3QgYmVjb21lcyB1bnNvcnRlZC4KKworICAgICAgICBJdCBpcyBp
bXBvc3NpYmxlIHRoYXQgQ2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcyB3aWxsCisgICAgICAgIHN0
b3AgdG8gcHJvY2VzcyB0aGUgbGlzdCB0b28gZWFybHkgZHVlIHRoaXMgZmVhdHVyZSBhbmQKKyAg
ICAgICAgdGhlIGFsdGVybmF0aXZlcyBvZiB1cGRhdGluZyBtX2xhc3REZWNvZGVkQWNjZXNzVGlt
ZSBpbgorICAgICAgICBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUgb3IgY2hhbmdpbmcg
dGhlIGluc2VydAorICAgICAgICB0byBzZWFyY2ggdGhlIHJpZ2h0IHBvc2l0aW9uIGhhdmUgYSBu
ZWdhdGl2ZSBpbXBhY3Qgb24KKyAgICAgICAgcGVyZm9ybWFuY2UuIFRoZSBiZXN0IHNvbHV0aW9u
IGZvciBub3cgaXMgdG8gZG9jdW1lbnQKKyAgICAgICAgdGhpcyBmZWF0dXJlLgorCisgICAgICAg
ICogbG9hZGVyL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwcnVuZUxpdmVS
ZXNvdXJjZXMpOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUpOgorCiAyMDA5LTEwLTI1
ICBBbnRvbiBNdWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcCBiL1dl
YkNvcmUvbG9hZGVyL0NhY2hlLmNwcAppbmRleCAzOTE3OTBmLi5kMzExMTkxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3Bw
CkBAIC0yNzUsNiArMjc1LDEyIEBAIHZvaWQgQ2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcygpCiAg
ICAgCiAgICAgLy8gRGVzdHJveSBhbnkgZGVjb2RlZCBkYXRhIGluIGxpdmUgb2JqZWN0cyB0aGF0
IHdlIGNhbi4KICAgICAvLyBTdGFydCBmcm9tIHRoZSB0YWlsLCBzaW5jZSB0aGlzIGlzIHRoZSBs
ZWFzdCByZWNlbnRseSBhY2Nlc3NlZCBvZiB0aGUgb2JqZWN0cy4KKworICAgIC8vIFRoZSBsaXN0
IGlzIG5vdCBzdHJpY2x5IHNvcnRlZCBieSB0aGUgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUgYnV0
CisgICAgLy8gdGhlIGltcGFjdCBvZiB0aGlzIGJlaGF2aW9yIGlzIG1pbm9yIGFzIHRoZSBiZWxv
dyBpZiB3aXRoIHRoZSByZXR1cm4KKyAgICAvLyBzdGF0ZW1lbnQgd2lsbCBub3QgZXZhbHVhdGUg
dG8gdHJ1ZSBhcyB0aGUgY3VycmVudFRpbWUgaXMgPj4gdGhhbgorICAgIC8vIGN1cnJlbnQtPm1f
bGFzdERlY29kZWRBY2Nlc3NUaW1lLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkKICAgICBDYWNoZWRSZXNv
dXJjZSogY3VycmVudCA9IG1fbGl2ZURlY29kZWRSZXNvdXJjZXMubV90YWlsOwogICAgIHdoaWxl
IChjdXJyZW50KSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlKiBwcmV2ID0gY3VycmVudC0+bV9w
cmV2SW5MaXZlUmVzb3VyY2VzTGlzdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hl
ZFJlc291cmNlLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCA0
M2RlNjMzLi44MTc0MTY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJj
ZS5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC0yNDEsNyAr
MjQxLDExIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplKHVuc2lnbmVkIHNp
emUpCiAgICAgICAgIC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgogICAgICAg
ICBjYWNoZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7CiAgICAgICAgIAotICAgICAgICAvLyBJ
bnNlcnQgaW50byBvciByZW1vdmUgZnJvbSB0aGUgbGl2ZSBkZWNvZGVkIGxpc3QgaWYgbmVjZXNz
YXJ5LgorICAgICAgICAvLyBJbnNlcnQgaW50byBvciByZW1vdmUgZnJvbSB0aGUgbGl2ZSBkZWNv
ZGVkIGxpc3QgaWYgbmVjZXNzYXJ5LiBXaGVuIGluc2VydGluZworICAgICAgICAvLyBpbnRvIHRo
ZSBMaXZlRGVjb2RlZFJlc291cmNlc0xpc3QgdGhlIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lIG1p
Z2h0IHN0aWxsIGJlCisgICAgICAgIC8vIHplcm8gb3Igc21hbGxlciB0aGFuIHRoZSBtX2xhc3RE
ZWNvZGVkQWNjZXNzVGltZSBvZiB0aGUgY3VycmVudCBoZWFkIG9mIHRoaXMKKyAgICAgICAgLy8g
bGlzdC4gVGhpcyBpcyBhIHZpb2xhdGlvbiBvZiB0aGUgY3VycmVudCBpbnZhcmlhbnQgYnV0IGl0
IGlzIG5vdCBhIHByb2JsZW0uCisgICAgICAgIC8vIEZvciBtb3JlIGRldGFpbHMgcGxlYXNlIHNl
ZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjA5CiAgICAgICAg
IGlmIChtX2RlY29kZWRTaXplICYmICFtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0ICYmIGhh
c0NsaWVudHMoKSkKICAgICAgICAgICAgIGNhY2hlKCktPmluc2VydEluTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0KHRoaXMpOwogICAgICAgICBlbHNlIGlmICghbV9kZWNvZGVkU2l6ZSAmJiBtX2lu
TGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KQotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="23316"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41943</attachid>
            <date>2009-10-27 06:03:40 -0700</date>
            <delta_ts>2009-10-27 10:08:40 -0700</delta_ts>
            <desc>Comment the weaker invariant</desc>
            <filename>0001-Document-a-feature-of-the-m_liveDecodedResources-lis.patch</filename>
            <type>text/plain</type>
            <size>4863</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSAxYzk4MjZkZTQ4OTBlMTRmMGVlMzkxNzIxYWU3YTlkMGE3ZTc1NDM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IE1vbiwgMjYgT2N0IDIwMDkgMTI6MjI6MTYgKzAxMDAKU3ViamVjdDog
W1BBVENIIDEvNF0gRG9jdW1lbnQgYSBmZWF0dXJlIG9mIHRoZSBtX2xpdmVEZWNvZGVkUmVzb3Vy
Y2VzIGxpc3QuCgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpEb2N1bWVudCBhIGZlYXR1cmUgb2YgdGhlIG1f
bGl2ZURlY29kZWRSZXNvdXJjZXMgbGlzdC4KaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwMjA5CgpUaGUgY29kZSBtYWRlIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGxp
c3QgaXMgc29ydGVkIGJ5CnRoZSBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSBwcm9wZXJ0eSBvZiB0
aGUgQ2FjaGVkUmVzb3VyY2UuClRoZSBhYm92ZSBpcyBub3QgdHJ1ZSB3aGVuIENhY2hlZFJlc291
cmNlOjpzZXREZWNvZGVkU2l6ZQppcyBjYWxsZWQgYW5kIHRoZSBpdGVtIGlzIGluc2VydGVkIHRo
ZSBmaXJzdCB0aW1lLiBJbiB0aGlzCmNhc2UgdGhlIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1lIGlz
IHN0aWxsIHplcm8gYW5kIHRoZQptX2xpdmVEZWNvZGVkUmVzb3VyY2VzIGxpc3QgYmVjb21lcyB1
bnNvcnRlZC4KCkl0IGlzIGltcG9zc2libGUgdGhhdCBDYWNoZTo6cHJ1bmVMaXZlUmVzb3VyY2Vz
IHdpbGwKc3RvcCB0byBwcm9jZXNzIHRoZSBsaXN0IHRvbyBlYXJseSBkdWUgdGhpcyBmZWF0dXJl
IGFuZAp0aGUgYWx0ZXJuYXRpdmVzIG9mIHVwZGF0aW5nIG1fbGFzdERlY29kZWRBY2Nlc3NUaW1l
IGluCkNhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSBvciBjaGFuZ2luZyB0aGUgaW5zZXJ0
CnRvIHNlYXJjaCB0aGUgcmlnaHQgcG9zaXRpb24gaGF2ZSBhIG5lZ2F0aXZlIGltcGFjdCBvbgpw
ZXJmb3JtYW5jZS4gVGhlIGJlc3Qgc29sdXRpb24gZm9yIG5vdyBpcyB0byBkb2N1bWVudAp0aGlz
IGZlYXR1cmUuCgoqIGxvYWRlci9DYWNoZS5jcHA6CihXZWJDb3JlOjpDYWNoZTo6cHJ1bmVMaXZl
UmVzb3VyY2VzKToKKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwOgooV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2U6OnNldERlY29kZWRTaXplKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgfCAgIDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9sb2Fk
ZXIvQ2FjaGUuY3BwICAgICAgICAgIHwgICAgNiArKysrKysKIFdlYkNvcmUvbG9hZGVyL0NhY2hl
ZFJlc291cmNlLmNwcCB8ICAgIDYgKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlv
bnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNzQ1NzA0Li5iMDNlYTk5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisy
MDA5LTEwLTI2ICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNlbGZpc2gub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvY3Vt
ZW50IGEgZmVhdHVyZSBvZiB0aGUgbV9saXZlRGVjb2RlZFJlc291cmNlcyBsaXN0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkKKworICAgICAg
ICBUaGUgY29kZSBtYWRlIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGxpc3QgaXMgc29ydGVkIGJ5
CisgICAgICAgIHRoZSBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSBwcm9wZXJ0eSBvZiB0aGUgQ2Fj
aGVkUmVzb3VyY2UuCisgICAgICAgIFRoZSBhYm92ZSBpcyBub3QgdHJ1ZSB3aGVuIENhY2hlZFJl
c291cmNlOjpzZXREZWNvZGVkU2l6ZQorICAgICAgICBpcyBjYWxsZWQgYW5kIHRoZSBpdGVtIGlz
IGluc2VydGVkIHRoZSBmaXJzdCB0aW1lLiBJbiB0aGlzCisgICAgICAgIGNhc2UgdGhlIG1fbGFz
dERlY29kZWRBY2Nlc3NUaW1lIGlzIHN0aWxsIHplcm8gYW5kIHRoZQorICAgICAgICBtX2xpdmVE
ZWNvZGVkUmVzb3VyY2VzIGxpc3QgYmVjb21lcyB1bnNvcnRlZC4KKworICAgICAgICBJdCBpcyBp
bXBvc3NpYmxlIHRoYXQgQ2FjaGU6OnBydW5lTGl2ZVJlc291cmNlcyB3aWxsCisgICAgICAgIHN0
b3AgdG8gcHJvY2VzcyB0aGUgbGlzdCB0b28gZWFybHkgZHVlIHRoaXMgZmVhdHVyZSBhbmQKKyAg
ICAgICAgdGhlIGFsdGVybmF0aXZlcyBvZiB1cGRhdGluZyBtX2xhc3REZWNvZGVkQWNjZXNzVGlt
ZSBpbgorICAgICAgICBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUgb3IgY2hhbmdpbmcg
dGhlIGluc2VydAorICAgICAgICB0byBzZWFyY2ggdGhlIHJpZ2h0IHBvc2l0aW9uIGhhdmUgYSBu
ZWdhdGl2ZSBpbXBhY3Qgb24KKyAgICAgICAgcGVyZm9ybWFuY2UuIFRoZSBiZXN0IHNvbHV0aW9u
IGZvciBub3cgaXMgdG8gZG9jdW1lbnQKKyAgICAgICAgdGhpcyBmZWF0dXJlLgorCisgICAgICAg
ICogbG9hZGVyL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwcnVuZUxpdmVS
ZXNvdXJjZXMpOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUpOgorCiAyMDA5LTEwLTI2
ICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
Q2FjaGUuY3BwIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCmluZGV4IDM5MTc5MGYuLjQ2ZmIw
NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9DYWNoZS5jcHAKQEAgLTI3NSw2ICsyNzUsMTIgQEAgdm9pZCBDYWNoZTo6cHJ1bmVMaXZl
UmVzb3VyY2VzKCkKICAgICAKICAgICAvLyBEZXN0cm95IGFueSBkZWNvZGVkIGRhdGEgaW4gbGl2
ZSBvYmplY3RzIHRoYXQgd2UgY2FuLgogICAgIC8vIFN0YXJ0IGZyb20gdGhlIHRhaWwsIHNpbmNl
IHRoaXMgaXMgdGhlIGxlYXN0IHJlY2VudGx5IGFjY2Vzc2VkIG9mIHRoZSBvYmplY3RzLgorCisg
ICAgLy8gVGhlIGxpc3QgbWlnaHQgbm90IGJlIHNvcnRlZCBieSB0aGUgbV9sYXN0RGVjb2RlZEFj
Y2Vzc1RpbWUuIFRoZSBpbXBhY3QKKyAgICAvLyBvZiB0aGlzIHdlYWtlciBpbnZhcmlhbnQgaXMg
bWlub3IgYXMgdGhlIGJlbG93IGlmIHN0YXRlbWVudCB0byBjaGVjayB0aGUKKyAgICAvLyBlbGFw
c2VkVGltZSB3aWxsIGV2YWx1YXRlIHRvIGZhbHNlIGFzIHRoZSBjdXJyZW50VGltZSB3aWxsIGJl
IGEgbG90CisgICAgLy8gZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50LT5tX2xhc3REZWNvZGVkQWNj
ZXNzVGltZS4KKyAgICAvLyBGb3IgbW9yZSBkZXRhaWxzIHBsZWFzZSBzZWU6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDIwOQogICAgIENhY2hlZFJlc291cmNlKiBj
dXJyZW50ID0gbV9saXZlRGVjb2RlZFJlc291cmNlcy5tX3RhaWw7CiAgICAgd2hpbGUgKGN1cnJl
bnQpIHsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2UqIHByZXYgPSBjdXJyZW50LT5tX3ByZXZJbkxp
dmVSZXNvdXJjZXNMaXN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3Vy
Y2UuY3BwIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDQzZGU2MzMu
LmU1ZTNhODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAor
KysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTI0Miw2ICsyNDIsMTIg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAg
ICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MUlVMaXN0KHRoaXMpOwogICAgICAgICAKICAgICAgICAg
Ly8gSW5zZXJ0IGludG8gb3IgcmVtb3ZlIGZyb20gdGhlIGxpdmUgZGVjb2RlZCBsaXN0IGlmIG5l
Y2Vzc2FyeS4KKyAgICAgICAgLy8gV2hlbiBpbnNlcnRpbmcgaW50byB0aGUgTGl2ZURlY29kZWRS
ZXNvdXJjZXNMaXN0IGl0IGlzIHBvc3NpYmxlCisgICAgICAgIC8vIHRoYXQgdGhlIHRtX2xhc3RE
ZWNvZGVkQWNjZXNzVGltZSBpcyBzdGlsbCB6ZXJvIG9yIHNtYWxsZXIgdGhhbgorICAgICAgICAv
LyB0aGUgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUgb2YgdGhlIGN1cnJlbnQgbGlzdCBoZWFkLiBU
aGlzIGlzIGEKKyAgICAgICAgLy8gdmlvbGF0aW9uIG9mIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUg
bGlzdCBpcyB0byBiZSBrZXB0IHNvcnRlZAorICAgICAgICAvLyBieSBhY2Nlc3MgdGltZS4gVGhl
IHdlYWtlbmluZyBvZiB0aGUgaW52YXJpYW50IGRvZXMgbm90IGltcG9zZQorICAgICAgICAvLyBh
IHByb2JsZW0uIEZvciBtb3JlIGRldGFpbHMgcGxlYXNlIHNlZTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjA5CiAgICAgICAgIGlmIChtX2RlY29kZWRTaXplICYm
ICFtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0ICYmIGhhc0NsaWVudHMoKSkKICAgICAgICAg
ICAgIGNhY2hlKCktPmluc2VydEluTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOwogICAg
ICAgICBlbHNlIGlmICghbV9kZWNvZGVkU2l6ZSAmJiBtX2luTGl2ZURlY29kZWRSZXNvdXJjZXNM
aXN0KQotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="23419"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>