<?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>12342</bug_id>
          
          <creation_ts>2007-01-20 01:13:07 -0800</creation_ts>
          <short_desc>REGRESSION: destroying a frame from its own script causes various crashes</short_desc>
          <delta_ts>2007-07-25 19:04:14 -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 JavaScript</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.rhapsody.com/home.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>bdakin</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>34167</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-20 01:13:07 -0800</bug_when>
    <thetext>Steps to reproduce:
1) Open the bug URL.
2) Wait.

Result: a crash in FrameLoader::executeScript() when trying to report an exception, because the frame has a null page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34168</commentid>
    <comment_count>1</comment_count>
      <attachid>12566</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-20 01:17:09 -0800</bug_when>
    <thetext>Created attachment 12566
a reduction (almost)

This reduction produces a crash in a different place (actually, two different places!), but the root problem seems to be very similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33809</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-01-21 16:12:02 -0800</bug_when>
    <thetext>Alexey, your reduction doesn&apos;t crash for me with ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33810</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-01-21 16:12:59 -0800</bug_when>
    <thetext>For that matter, the original page doesn&apos;t crash either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33802</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-21 17:54:12 -0800</bug_when>
    <thetext>We can&apos;t hope reproduce the bug on the original site until the fix for bug 10934 is checked in.

I also don&apos;t see a crash with the reduction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33626</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-21 21:31:41 -0800</bug_when>
    <thetext>I also cannot reproduce this anymore. Going to keep open for a little while to investigate what happened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33470</commentid>
    <comment_count>6</comment_count>
      <attachid>12605</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-22 09:42:52 -0800</bug_when>
    <thetext>Created attachment 12605
a reduction (almost)

Turns out the reduction didn&apos;t cause a crash because I added a comment that broke parsing just before uploading it.

I could also reproduce the crash at rhapsody.com, but it is intermittent; not sure what triggers it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33452</commentid>
    <comment_count>7</comment_count>
      <attachid>12607</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-22 10:28:15 -0800</bug_when>
    <thetext>Created attachment 12607
patch, fixes bug; need to turn test case into layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33453</commentid>
    <comment_count>8</comment_count>
      <attachid>12607</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-01-22 10:30:41 -0800</bug_when>
    <thetext>Comment on attachment 12607
patch, fixes bug; need to turn test case into layout test

+    // FIXME: Why not use updateDocuemntsRendering to update rendering of all documents?

Typo: &quot;Docuemnts&quot;

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33454</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-22 10:41:44 -0800</bug_when>
    <thetext>I believe this doesn&apos;t fix the rhapsody.com issue, because it happens due to loading subresources, rather that using a timer:

0   com.apple.WebCore        	0x0162e3e4 WTF::OwnPtr&lt;WebCore::Chrome&gt;::get() const + 20 (OwnPtr.h:36)
1   com.apple.WebCore        	0x0162e420 WebCore::Page::chrome() const + 40 (Page.h:83)
2   com.apple.WebCore        	0x013255c4 WebCore::KJSProxy::evaluate(WebCore::String const&amp;, int, WebCore::String const&amp;, WebCore::Node*) + 1212 (kjs_proxy.cpp:75)
3   com.apple.WebCore        	0x014eb218 WebCore::FrameLoader::executeScript(WebCore::String const&amp;, int, WebCore::Node*, WebCore::String const&amp;) + 136 (FrameLoader.cpp:684)
4   com.apple.WebCore        	0x0102583c WebCore::HTMLTokenizer::scriptExecution(WebCore::DeprecatedString const&amp;, WebCore::HTMLTokenizer::State, WebCore::DeprecatedString, int) + 392 (HTMLTokenizer.cpp:501)
5   com.apple.WebCore        	0x0102720c WebCore::HTMLTokenizer::notifyFinished(WebCore::CachedResource*) + 624 (HTMLTokenizer.cpp:1660)
6   com.apple.WebCore        	0x01157f60 WebCore::CachedScript::checkNotify() + 108 (CachedScript.cpp:91)
7   com.apple.WebCore        	0x011580a0 WebCore::CachedScript::data(WTF::Vector&lt;char, (unsigned long)0&gt;&amp;, bool) + 180 (CachedScript.cpp:83)
8   com.apple.WebCore        	0x0115a544 WebCore::Loader::didFinishLoading(WebCore::SubresourceLoader*) + 340 (loader.cpp:108)
9   com.apple.WebCore        	0x014f3510 WebCore::SubresourceLoader::didFinishLoading() + 204 (SubresourceLoader.cpp:166)
10  com.apple.WebCore        	0x014f1854 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*) + 60
11  com.apple.WebCore        	0x014c87f0 -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 144 (ResourceHandleMac.mm:368)
12  com.apple.Foundation     	0x9298f84c -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] + 188
13  com.apple.Foundation     	0x9298dab8 -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] + 556
14  com.apple.Foundation     	0x9298d810 _sendCallbacks + 156
15  com.apple.CoreFoundation 	0x907dd4cc __CFRunLoopDoSources0 + 384
16  com.apple.CoreFoundation 	0x907dc9fc __CFRunLoopRun + 452
17  com.apple.CoreFoundation 	0x907dc47c CFRunLoopRunSpecific + 268
18  com.apple.HIToolbox      	0x93203740 RunCurrentEventLoopInMode + 264
19  com.apple.HIToolbox      	0x93202dd4 ReceiveNextEventCommon + 380
20  com.apple.HIToolbox      	0x93202c40 BlockUntilNextEventMatchingListInMode + 96
21  com.apple.AppKit         	0x93706ae4 _DPSNextEvent + 384
22  com.apple.AppKit         	0x937067a8 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
23  com.apple.Safari         	0x00006740 0x1000 + 22336
24  com.apple.AppKit         	0x93702cec -[NSApplication run] + 472
25  com.apple.AppKit         	0x937f387c NSApplicationMain + 452
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33421</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-22 13:05:50 -0800</bug_when>
    <thetext>Yes, that&apos;s another problem not seen in the reduction. Also easy to fix (just need to 0-check the page), but needs another test case I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33012</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-23 12:29:20 -0800</bug_when>
    <thetext>Still trying to make a test case for the actual rhapsody.com bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32688</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-24 21:01:18 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Also easy to fix (just need to 0-check the page), but needs another test case I guess.

Actually, I&apos;m not sure if it&apos;s good for addMessageToConsole() to depend on frame or page existence at all - it would probably be better for messages to be logged even if the page is gone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32676</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-24 22:38:56 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Actually, I&apos;m not sure if it&apos;s good for addMessageToConsole() to depend on
&gt; frame or page existence at all - it would probably be better for messages to be
&gt; logged even if the page is gone.

I understand what you&apos;re saying, but on the other hand, WebKit is not supposed to do things like logging directly. It needs to communicate log messages to the client so the client can determine where to put them. No page, no client. We don&apos;t have a global WebKit client. Feel free to file a separate bug about your concern that we will miss log messages and maybe we can solve that problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32594</commentid>
    <comment_count>14</comment_count>
      <attachid>12607</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-24 23:10:53 -0800</bug_when>
    <thetext>Comment on attachment 12607
patch, fixes bug; need to turn test case into layout test

Clearing the review flag because I don&apos;t have a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32595</commentid>
    <comment_count>15</comment_count>
      <attachid>12662</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-24 23:12:34 -0800</bug_when>
    <thetext>Created attachment 12662
improved patch, but still no layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32610</commentid>
    <comment_count>16</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2007-01-25 09:39:42 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=12662) [edit]
&gt; improved patch, but still no layout test

I know how to test this, if you need help.

CC Beth: I guess we don&apos;t need to file this bug, afterall!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32622</commentid>
    <comment_count>17</comment_count>
      <attachid>12667</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-25 10:20:01 -0800</bug_when>
    <thetext>Created attachment 12667
a real reduction

So, I was finally able to make a test that demonstrates the original problem! Many thanks to ggaren for inspiration :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32631</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-25 10:51:27 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Feel free to file a separate bug about your
&gt; concern that we will miss log messages and maybe we can solve that problem.

Done, bug 12406.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32639</commentid>
    <comment_count>19</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2007-01-25 12:40:32 -0800</bug_when>
    <thetext>Committed revision 19130.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12566</attachid>
            <date>2007-01-20 01:17:09 -0800</date>
            <delta_ts>2007-01-22 09:42:52 -0800</delta_ts>
            <desc>a reduction (almost)</desc>
            <filename>destroyed-iframe-script.html</filename>
            <type>text/html</type>
            <size>328</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGJvZHk+CjxpZnJhbWUgc3JjPSdkYXRhOnRleHQvaHRtbCwKICA8Ym9keT4KICA8c2NyaXB0Pgog
IGZ1bmN0aW9uIG9uVGltZW91dCgpIHsKICAgIHBhcmVudC5kb2N1bWVudC53cml0ZSgiPGJvZHk+
PHNjcmlwdD53aW5kb3cuZm9vYmFyKCk8L3NjciIgKyAiaXB0PjwvYm9keT4iKTsKICAgIHdpbmRv
dy5mb29iYXIoKTsgLy8gV2ViS2l0IHN0aWxsIGNyYXNoZXMgd2l0aCB0aGlzIGxpbmUgY29tbWVu
dGVkIG91dCwgYnV0IGluIGEgZGlmZmVyZW50IHBsYWNlLgogIH0KICBzZXRUaW1lb3V0KG9uVGlt
ZW91dCwgMSk7CiAgPC9zY3JpcHQ+CiAgPC9ib2R5PgonPgo8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12605</attachid>
            <date>2007-01-22 09:42:52 -0800</date>
            <delta_ts>2007-01-22 09:42:52 -0800</delta_ts>
            <desc>a reduction (almost)</desc>
            <filename>destroyed-iframe-script.html</filename>
            <type>text/html</type>
            <size>248</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGJvZHk+CjxpZnJhbWUgc3JjPSdkYXRhOnRleHQvaHRtbCwKICA8Ym9keT4KICA8c2NyaXB0Pgog
IGZ1bmN0aW9uIG9uVGltZW91dCgpIHsKICAgIHBhcmVudC5kb2N1bWVudC53cml0ZSgiPGJvZHk+
PHNjcmlwdD53aW5kb3cuZm9vYmFyKCk8L3NjciIgKyAiaXB0PjwvYm9keT4iKTsKICAgIHdpbmRv
dy5mb29iYXIoKTsKICB9CiAgc2V0VGltZW91dChvblRpbWVvdXQsIDEpOwogIDwvc2NyaXB0Pgog
IDwvYm9keT4KJz4KPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12607</attachid>
            <date>2007-01-22 10:28:15 -0800</date>
            <delta_ts>2007-01-24 23:12:34 -0800</delta_ts>
            <desc>patch, fixes bug; need to turn test case into layout test</desc>
            <filename>RefFramePatch.txt</filename>
            <type>text/plain</type>
            <size>3619</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxOTAyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDctMDEtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gZml4
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQyCisgICAgICAgICAg
UkVHUkVTU0lPTjogZGVzdHJveWluZyBhIGZyYW1lIGZyb20gaXRzIG93biBzY3JpcHQgY2F1c2Vz
IHZhcmlvdXMgY3Jhc2hlcworCisgICAgICAgICogYmluZGluZ3MvanMva2pzX3dpbmRvdy5jcHA6
IChLSlM6OlNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZSk6CisgICAgICAgIFVzZSBSZWZQdHIgZm9y
IHRoZSBmcmFtZSBhbmQgdGhlIGludGVycHJldGVyIG9iamVjdCBzbyB0aGV5IGRvbid0IGdldCBk
ZWxldGVkCisgICAgICAgIG91dCBmcm9tIHVuZGVybmVhdGggdXMuCisKIDIwMDctMDEtMjIgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1pdHou
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc193aW5kb3cuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3MvanMva2pzX3dpbmRvdy5jcHAJKHJldmlzaW9uIDE5MDI2KQorKysg
V2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfd2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgx
OSwyMiArMTgxOSwyNyBAQCB2b2lkIFdpbmRvdzo6dXBkYXRlTGF5b3V0KCkgY29uc3QKIAogLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLyBTY2hlZHVsZWRBY3Rpb24gLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCiAKLXZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKFdpbmRvdyAqd2luZG93KQordm9p
ZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoV2luZG93KiB3aW5kb3cpCiB7Ci0gICAgaWYgKCF3
aW5kb3ctPm1fZnJhbWUgfHwgIXdpbmRvdy0+bV9mcmFtZS0+c2NyaXB0UHJveHkoKSkKKyAgICBS
ZWZQdHI8RnJhbWU+IGZyYW1lID0gd2luZG93LT5tX2ZyYW1lOworICAgIGlmICghZnJhbWUpCisg
ICAgICAgIHJldHVybjsKKworICAgIEtKU1Byb3h5KiBzY3JpcHRQcm94eSA9IGZyYW1lLT5zY3Jp
cHRQcm94eSgpOworICAgIGlmICghc2NyaXB0UHJveHkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IFNjcmlwdEludGVycHJldGVyICppbnRlcnByZXRlciA9IHdpbmRvdy0+bV9mcmFtZS0+c2NyaXB0
UHJveHkoKS0+aW50ZXJwcmV0ZXIoKTsKKyAgICBSZWZQdHI8U2NyaXB0SW50ZXJwcmV0ZXI+IGlu
dGVycHJldGVyID0gc2NyaXB0UHJveHktPmludGVycHJldGVyKCk7CiAKICAgICBpbnRlcnByZXRl
ci0+c2V0UHJvY2Vzc2luZ1RpbWVyQ2FsbGJhY2sodHJ1ZSk7Ci0gIAorCiAgICAgaWYgKEpTVmFs
dWUqIGZ1bmMgPSBtX2Z1bmMuZ2V0KCkpIHsKLSAgICAgICAgaWYgKGZ1bmMtPmlzT2JqZWN0KCkg
JiYgc3RhdGljX2Nhc3Q8SlNPYmplY3QgKj4oZnVuYyktPmltcGxlbWVudHNDYWxsKCkpIHsKLSAg
ICAgICAgICAgIEV4ZWNTdGF0ZSAqZXhlYyA9IGludGVycHJldGVyLT5nbG9iYWxFeGVjKCk7Cisg
ICAgICAgIGlmIChmdW5jLT5pc09iamVjdCgpICYmIHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oZnVu
YyktPmltcGxlbWVudHNDYWxsKCkpIHsKKyAgICAgICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGlu
dGVycHJldGVyLT5nbG9iYWxFeGVjKCk7CiAgICAgICAgICAgICBBU1NFUlQod2luZG93ID09IGlu
dGVycHJldGVyLT5nbG9iYWxPYmplY3QoKSk7CiAgICAgICAgICAgICBKU0xvY2sgbG9jazsKICAg
ICAgICAgICAgIGludGVycHJldGVyLT5zdGFydFRpbWVvdXRDaGVjaygpOwotICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8SlNPYmplY3QgKj4oZnVuYyktPmNhbGwoZXhlYywgd2luZG93LCBtX2FyZ3Mp
OworICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihmdW5jKS0+Y2FsbChleGVjLCB3
aW5kb3csIG1fYXJncyk7CiAgICAgICAgICAgICBpbnRlcnByZXRlci0+c3RvcFRpbWVvdXRDaGVj
aygpOwogICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKSB7CiAgICAgICAgICAg
ICAgICAgSlNPYmplY3QqIGV4Y2VwdGlvbiA9IGV4ZWMtPmV4Y2VwdGlvbigpLT50b09iamVjdChl
eGVjKTsKQEAgLTE4NDMsMTcgKzE4NDgsMTkgQEAgdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1
dGUoV2luZG93ICp3aQogICAgICAgICAgICAgICAgIGludCBsaW5lTnVtYmVyID0gZXhjZXB0aW9u
LT5nZXQoZXhlYywgImxpbmUiKS0+dG9JbnQzMihleGVjKTsKICAgICAgICAgICAgICAgICBpZiAo
SW50ZXJwcmV0ZXI6OnNob3VsZFByaW50RXhjZXB0aW9ucygpKQogICAgICAgICAgICAgICAgICAg
ICBwcmludGYoIih0aW1lcik6JXNcbiIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSB3aW5kb3ctPm1fZnJhbWUtPnBhZ2UoKSkKKyAgICAg
ICAgICAgICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCiAgICAgICAgICAgICAg
ICAgICAgIHBhZ2UtPmNocm9tZSgpLT5hZGRNZXNzYWdlVG9Db25zb2xlKG1lc3NhZ2UsIGxpbmVO
dW1iZXIsIFN0cmluZygpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZQot
ICAgICAgICB3aW5kb3ctPm1fZnJhbWUtPmxvYWRlcigpLT5leGVjdXRlU2NyaXB0KDAsIG1fY29k
ZSk7Ci0gIAorICAgICAgICBmcmFtZS0+bG9hZGVyKCktPmV4ZWN1dGVTY3JpcHQoMCwgbV9jb2Rl
KTsKKwogICAgIC8vIFVwZGF0ZSBvdXIgZG9jdW1lbnQncyByZW5kZXJpbmcgZm9sbG93aW5nIHRo
ZSBleGVjdXRpb24gb2YgdGhlIHRpbWVvdXQgY2FsbGJhY2suCi0gICAgLy8gRklYTUU6IFdoeT8g
V2h5IG5vdCBvdGhlciBkb2N1bWVudHMsIGZvciBleGFtcGxlPwotICAgIERvY3VtZW50ICpkb2Mg
PSB3aW5kb3ctPm1fZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAgaWYgKGRvYykKKyAgICAvLyBGSVhN
RTogV2h5IG5vdCB1c2UgdXBkYXRlRG9jdWVtbnRzUmVuZGVyaW5nIHRvIHVwZGF0ZSByZW5kZXJp
bmcgb2YgYWxsIGRvY3VtZW50cz8KKyAgICAvLyBGSVhNRTogSXMgdGhpcyByZWFsbHkgdGhlIHJp
Z2h0IHBvaW50IHRvIGRvIHRoZSB1cGRhdGU/IFdlIG5lZWQgYSBwbGFjZSB0aGF0IHdvcmtzCisg
ICAgLy8gZm9yIGFsbCBwb3NzaWJsZSBlbnRyeSBwb2ludHMgdGhhdCBtaWdodCBwb3NzaWJseSBl
eGVjdXRlIHNjcmlwdCwgYnV0IHRoaXMgc2VlbXMKKyAgICAvLyB0byBiZSBhIGJpdCB0b28gbG93
LWxldmVsLgorICAgIGlmIChEb2N1bWVudCogZG9jID0gZnJhbWUtPmRvY3VtZW50KCkpCiAgICAg
ICAgIGRvYy0+dXBkYXRlUmVuZGVyaW5nKCk7CiAgIAogICAgIGludGVycHJldGVyLT5zZXRQcm9j
ZXNzaW5nVGltZXJDYWxsYmFjayhmYWxzZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12662</attachid>
            <date>2007-01-24 23:12:34 -0800</date>
            <delta_ts>2007-01-24 23:12:34 -0800</delta_ts>
            <desc>improved patch, but still no layout test</desc>
            <filename>RefFramePatch.txt</filename>
            <type>text/plain</type>
            <size>8437</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxOTEwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDctMDEtMjQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gZml4
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQyCisgICAgICAgICAg
UkVHUkVTU0lPTjogZGVzdHJveWluZyBhIGZyYW1lIGZyb20gaXRzIG93biBzY3JpcHQgY2F1c2Vz
IHZhcmlvdXMgY3Jhc2hlcworCisgICAgICAgICogYmluZGluZ3MvanMva2pzX3dpbmRvdy5jcHA6
IChLSlM6OlNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZSk6CisgICAgICAgIFVzZSBSZWZQdHIgZm9y
IHRoZSBmcmFtZSBhbmQgdGhlIGludGVycHJldGVyIG9iamVjdCBzbyB0aGV5IGRvbid0IGdldCBk
ZWxldGVkCisgICAgICAgIG91dCBmcm9tIHVuZGVybmVhdGggdXMuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9ranNfcHJveHkuY3BwOiAoV2ViQ29yZTo6S0pTUHJveHk6OmV2YWx1YXRlKToKKyAg
ICAgICAgQWRkIGEgY2hlY2sgZm9yIGEgcGFnZSBvZiAwLiBUaGlzIHdhcyB0aGUgb25seSBjYWxs
IHNpdGUgZm9yIHRoZQorICAgICAgICBhZGRNZXNzYWdlVG9Db25zb2xlIGZ1bmN0aW9uIHRoYXQg
ZGlkIG5vdCBoYXZlIGEgY2hlY2sgZm9yIGEgcGFnZSBvZiAwLgorCiAyMDA3LTAxLTI0ICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgTmV3IGZvcndhcmRpbmcg
aGVhZGVyLiBObyByZXZpZXcgbmVjZXNzYXJ5LgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9r
anNfcHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX3Byb3h5
LmNwcAkocmV2aXNpb24gMTkxMDEpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19wcm94eS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiAvKgotICogIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIHRoZSBLREUgbGlicmFyaWVzCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEgSGFy
cmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEgUGV0ZXIg
S2VsbHkgKHBta0Bwb3N0LmNvbSkKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMjIsMTIg
KzIyLDEyIEBACiAjaW5jbHVkZSAia2pzX3Byb3h5LmgiCiAKICNpbmNsdWRlICJDaHJvbWUuaCIK
LSNpbmNsdWRlICJranNfZXZlbnRzLmgiCi0jaW5jbHVkZSAia2pzX3dpbmRvdy5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJKU0RPTVdp
bmRvdy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJranNfZXZlbnRzLmgiCisjaW5j
bHVkZSAia2pzX3dpbmRvdy5oIgogCiAjaWZkZWYgU1ZHX1NVUFBPUlQKICNpbmNsdWRlICJKU1NW
R0xhenlFdmVudExpc3RlbmVyLmgiCkBAIC00NSwzNyArNDUsMzggQEAgS0pTUHJveHk6OktKU1By
b3h5KEZyYW1lKiBmcmFtZSkKIAogSlNWYWx1ZSogS0pTUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0
cmluZyYgZmlsZW5hbWUsIGludCBiYXNlTGluZSwgY29uc3QgU3RyaW5nJiBzdHIsIE5vZGUqIG4p
IAogewotICAvLyBldmFsdWF0ZSBjb2RlLiBSZXR1cm5zIHRoZSBKUyByZXR1cm4gdmFsdWUgb3Ig
MAotICAvLyBpZiB0aGVyZSB3YXMgbm9uZSwgYW4gZXJyb3Igb2NjdXJlZCBvciB0aGUgdHlwZSBj
b3VsZG4ndCBiZSBjb252ZXJ0ZWQuCisgICAgLy8gZXZhbHVhdGUgY29kZS4gUmV0dXJucyB0aGUg
SlMgcmV0dXJuIHZhbHVlIG9yIDAKKyAgICAvLyBpZiB0aGVyZSB3YXMgbm9uZSwgYW4gZXJyb3Ig
b2NjdXJlZCBvciB0aGUgdHlwZSBjb3VsZG4ndCBiZSBjb252ZXJ0ZWQuCiAKLSAgaW5pdFNjcmlw
dElmTmVlZGVkKCk7Ci0gIC8vIGlubGluZUNvZGUgaXMgdHJ1ZSBmb3IgPGEgaHJlZj0iamF2YXNj
cmlwdDpkb1NvbWV0aGluZygpIj4KLSAgLy8gYW5kIGZhbHNlIGZvciA8c2NyaXB0PmRvU29tZXRo
aW5nKCk8L3NjcmlwdD4uIENoZWNrIGlmIGl0IGhhcyB0aGUKLSAgLy8gZXhwZWN0ZWQgdmFsdWUg
aW4gYWxsIGNhc2VzLgotICAvLyBTZWUgc21hcnQgd2luZG93Lm9wZW4gcG9saWN5IGZvciB3aGVy
ZSB0aGlzIGlzIHVzZWQuCi0gIGJvb2wgaW5saW5lQ29kZSA9IGZpbGVuYW1lLmlzTnVsbCgpOwor
ICAgIGluaXRTY3JpcHRJZk5lZWRlZCgpOworICAgIC8vIGlubGluZUNvZGUgaXMgdHJ1ZSBmb3Ig
PGEgaHJlZj0iamF2YXNjcmlwdDpkb1NvbWV0aGluZygpIj4KKyAgICAvLyBhbmQgZmFsc2UgZm9y
IDxzY3JpcHQ+ZG9Tb21ldGhpbmcoKTwvc2NyaXB0Pi4gQ2hlY2sgaWYgaXQgaGFzIHRoZQorICAg
IC8vIGV4cGVjdGVkIHZhbHVlIGluIGFsbCBjYXNlcy4KKyAgICAvLyBTZWUgc21hcnQgd2luZG93
Lm9wZW4gcG9saWN5IGZvciB3aGVyZSB0aGlzIGlzIHVzZWQuCisgICAgYm9vbCBpbmxpbmVDb2Rl
ID0gZmlsZW5hbWUuaXNOdWxsKCk7CiAKLSAgbV9zY3JpcHQtPnNldElubGluZUNvZGUoaW5saW5l
Q29kZSk7CisgICAgbV9zY3JpcHQtPnNldElubGluZUNvZGUoaW5saW5lQ29kZSk7CiAKLSAgSlNM
b2NrIGxvY2s7CisgICAgSlNMb2NrIGxvY2s7CiAKLSAgSlNWYWx1ZSogdGhpc05vZGUgPSBuID8g
V2luZG93OjpyZXRyaWV2ZShtX2ZyYW1lKSA6IHRvSlMobV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSwg
bik7CisgICAgSlNWYWx1ZSogdGhpc05vZGUgPSBuID8gV2luZG93OjpyZXRyaWV2ZShtX2ZyYW1l
KSA6IHRvSlMobV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSwgbik7CiAgIAotICBtX3NjcmlwdC0+c3Rh
cnRUaW1lb3V0Q2hlY2soKTsKLSAgQ29tcGxldGlvbiBjb21wID0gbV9zY3JpcHQtPmV2YWx1YXRl
KGZpbGVuYW1lLCBiYXNlTGluZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBLSlM6OlVDaGFyKj4o
c3RyLmNoYXJhY3RlcnMoKSksIHN0ci5sZW5ndGgoKSwgdGhpc05vZGUpOwotICBtX3NjcmlwdC0+
c3RvcFRpbWVvdXRDaGVjaygpOworICAgIG1fc2NyaXB0LT5zdGFydFRpbWVvdXRDaGVjaygpOwor
ICAgIENvbXBsZXRpb24gY29tcCA9IG1fc2NyaXB0LT5ldmFsdWF0ZShmaWxlbmFtZSwgYmFzZUxp
bmUsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgS0pTOjpVQ2hhcio+KHN0ci5jaGFyYWN0ZXJzKCkp
LCBzdHIubGVuZ3RoKCksIHRoaXNOb2RlKTsKKyAgICBtX3NjcmlwdC0+c3RvcFRpbWVvdXRDaGVj
aygpOwogICAKLSAgaWYgKGNvbXAuY29tcGxUeXBlKCkgPT0gTm9ybWFsIHx8IGNvbXAuY29tcGxU
eXBlKCkgPT0gUmV0dXJuVmFsdWUpCi0gICAgcmV0dXJuIGNvbXAudmFsdWUoKTsKKyAgICBpZiAo
Y29tcC5jb21wbFR5cGUoKSA9PSBOb3JtYWwgfHwgY29tcC5jb21wbFR5cGUoKSA9PSBSZXR1cm5W
YWx1ZSkKKyAgICAgICAgcmV0dXJuIGNvbXAudmFsdWUoKTsKIAotICBpZiAoY29tcC5jb21wbFR5
cGUoKSA9PSBUaHJvdykgewotICAgIFVTdHJpbmcgZXJyb3JNZXNzYWdlID0gY29tcC52YWx1ZSgp
LT50b1N0cmluZyhtX3NjcmlwdC0+Z2xvYmFsRXhlYygpKTsKLSAgICBpbnQgbGluZU51bWJlciA9
IGNvbXAudmFsdWUoKS0+dG9PYmplY3QobV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSktPmdldChtX3Nj
cmlwdC0+Z2xvYmFsRXhlYygpLCAibGluZSIpLT50b0ludDMyKG1fc2NyaXB0LT5nbG9iYWxFeGVj
KCkpOwotICAgIFVTdHJpbmcgc291cmNlVVJMID0gY29tcC52YWx1ZSgpLT50b09iamVjdChtX3Nj
cmlwdC0+Z2xvYmFsRXhlYygpKS0+Z2V0KG1fc2NyaXB0LT5nbG9iYWxFeGVjKCksICJzb3VyY2VV
UkwiKS0+dG9TdHJpbmcobV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSk7Ci0gICAgbV9mcmFtZS0+cGFn
ZSgpLT5jaHJvbWUoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShlcnJvck1lc3NhZ2UsIGxpbmVOdW1i
ZXIsIHNvdXJjZVVSTCk7Ci0gIH0KKyAgICBpZiAoY29tcC5jb21wbFR5cGUoKSA9PSBUaHJvdykg
eworICAgICAgICBVU3RyaW5nIGVycm9yTWVzc2FnZSA9IGNvbXAudmFsdWUoKS0+dG9TdHJpbmco
bV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSk7CisgICAgICAgIGludCBsaW5lTnVtYmVyID0gY29tcC52
YWx1ZSgpLT50b09iamVjdChtX3NjcmlwdC0+Z2xvYmFsRXhlYygpKS0+Z2V0KG1fc2NyaXB0LT5n
bG9iYWxFeGVjKCksICJsaW5lIiktPnRvSW50MzIobV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSk7Cisg
ICAgICAgIFVTdHJpbmcgc291cmNlVVJMID0gY29tcC52YWx1ZSgpLT50b09iamVjdChtX3Njcmlw
dC0+Z2xvYmFsRXhlYygpKS0+Z2V0KG1fc2NyaXB0LT5nbG9iYWxFeGVjKCksICJzb3VyY2VVUkwi
KS0+dG9TdHJpbmcobV9zY3JpcHQtPmdsb2JhbEV4ZWMoKSk7CisgICAgICAgIGlmIChQYWdlKiBw
YWdlID0gbV9mcmFtZS0+cGFnZSgpKQorICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCktPmFkZE1l
c3NhZ2VUb0NvbnNvbGUoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAg
IH0KIAotICByZXR1cm4gMDsKKyAgICByZXR1cm4gMDsKIH0KIAogdm9pZCBLSlNQcm94eTo6Y2xl
YXIoKSB7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc193aW5kb3cuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX3dpbmRvdy5jcHAJKHJldmlzaW9uIDE5MTAx
KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfd2luZG93LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTIyMSw3ICsxMjIxLDcgQEAgYm9vbCBXaW5kb3c6OmlzU2FmZVNjcmlwdChjb25zdCBTY3Jp
cHRJbgogICAgIFN0cmluZyBtZXNzYWdlID0gU3RyaW5nOjpmb3JtYXQoIlVuc2FmZSBKYXZhU2Ny
aXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMICVzIGZyb20gZnJhbWUgd2l0aCBV
UkwgJXMuIERvbWFpbnMgbXVzdCBtYXRjaC5cbiIsIAogICAgICAgICAgICAgICAgICAgdGFyZ2V0
RG9jdW1lbnQtPlVSTCgpLmxhdGluMSgpLCBvcmlnaW5Eb2N1bWVudC0+VVJMKCkubGF0aW4xKCkp
OwogICAgIGlmIChQYWdlKiBwYWdlID0gdGFyZ2V0RnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFn
ZS0+Y2hyb21lKCktPmFkZE1lc3NhZ2VUb0NvbnNvbGUobWVzc2FnZSwgMSwgU3RyaW5nKCkpOyAv
L2ZpeG1lOiBwcm92aWRlIGEgcmVhbCBsaW5lIG51bWJlciBhbmQgc291cmNldXJsCisgICAgICAg
IHBhZ2UtPmNocm9tZSgpLT5hZGRNZXNzYWdlVG9Db25zb2xlKG1lc3NhZ2UsIDEsIFN0cmluZygp
KTsgLy8gRklYTUU6IHByb3ZpZGUgYSByZWFsIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgog
CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMTgxOSwyMiArMTgxOSwyNyBAQCB2b2lkIFdpbmRv
dzo6dXBkYXRlTGF5b3V0KCkgY29uc3QKIAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBTY2hlZHVs
ZWRBY3Rpb24gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKLXZvaWQgU2NoZWR1bGVkQWN0aW9u
OjpleGVjdXRlKFdpbmRvdyAqd2luZG93KQordm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUo
V2luZG93KiB3aW5kb3cpCiB7Ci0gICAgaWYgKCF3aW5kb3ctPm1fZnJhbWUgfHwgIXdpbmRvdy0+
bV9mcmFtZS0+c2NyaXB0UHJveHkoKSkKKyAgICBSZWZQdHI8RnJhbWU+IGZyYW1lID0gd2luZG93
LT5tX2ZyYW1lOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIEtKU1By
b3h5KiBzY3JpcHRQcm94eSA9IGZyYW1lLT5zY3JpcHRQcm94eSgpOworICAgIGlmICghc2NyaXB0
UHJveHkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNjcmlwdEludGVycHJldGVyICppbnRlcnBy
ZXRlciA9IHdpbmRvdy0+bV9mcmFtZS0+c2NyaXB0UHJveHkoKS0+aW50ZXJwcmV0ZXIoKTsKKyAg
ICBSZWZQdHI8U2NyaXB0SW50ZXJwcmV0ZXI+IGludGVycHJldGVyID0gc2NyaXB0UHJveHktPmlu
dGVycHJldGVyKCk7CiAKICAgICBpbnRlcnByZXRlci0+c2V0UHJvY2Vzc2luZ1RpbWVyQ2FsbGJh
Y2sodHJ1ZSk7Ci0gIAorCiAgICAgaWYgKEpTVmFsdWUqIGZ1bmMgPSBtX2Z1bmMuZ2V0KCkpIHsK
LSAgICAgICAgaWYgKGZ1bmMtPmlzT2JqZWN0KCkgJiYgc3RhdGljX2Nhc3Q8SlNPYmplY3QgKj4o
ZnVuYyktPmltcGxlbWVudHNDYWxsKCkpIHsKLSAgICAgICAgICAgIEV4ZWNTdGF0ZSAqZXhlYyA9
IGludGVycHJldGVyLT5nbG9iYWxFeGVjKCk7CisgICAgICAgIGlmIChmdW5jLT5pc09iamVjdCgp
ICYmIHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oZnVuYyktPmltcGxlbWVudHNDYWxsKCkpIHsKKyAg
ICAgICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGludGVycHJldGVyLT5nbG9iYWxFeGVjKCk7CiAg
ICAgICAgICAgICBBU1NFUlQod2luZG93ID09IGludGVycHJldGVyLT5nbG9iYWxPYmplY3QoKSk7
CiAgICAgICAgICAgICBKU0xvY2sgbG9jazsKICAgICAgICAgICAgIGludGVycHJldGVyLT5zdGFy
dFRpbWVvdXRDaGVjaygpOwotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SlNPYmplY3QgKj4oZnVu
YyktPmNhbGwoZXhlYywgd2luZG93LCBtX2FyZ3MpOworICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
SlNPYmplY3QqPihmdW5jKS0+Y2FsbChleGVjLCB3aW5kb3csIG1fYXJncyk7CiAgICAgICAgICAg
ICBpbnRlcnByZXRlci0+c3RvcFRpbWVvdXRDaGVjaygpOwogICAgICAgICAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIGV4Y2VwdGlvbiA9
IGV4ZWMtPmV4Y2VwdGlvbigpLT50b09iamVjdChleGVjKTsKQEAgLTE4NDMsMTcgKzE4NDgsMTkg
QEAgdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoV2luZG93ICp3aQogICAgICAgICAgICAg
ICAgIGludCBsaW5lTnVtYmVyID0gZXhjZXB0aW9uLT5nZXQoZXhlYywgImxpbmUiKS0+dG9JbnQz
MihleGVjKTsKICAgICAgICAgICAgICAgICBpZiAoSW50ZXJwcmV0ZXI6OnNob3VsZFByaW50RXhj
ZXB0aW9ucygpKQogICAgICAgICAgICAgICAgICAgICBwcmludGYoIih0aW1lcik6JXNcbiIsIG1l
c3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSB3
aW5kb3ctPm1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAgICAgICBpZiAoUGFnZSogcGFnZSA9
IGZyYW1lLT5wYWdlKCkpCiAgICAgICAgICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5hZGRN
ZXNzYWdlVG9Db25zb2xlKG1lc3NhZ2UsIGxpbmVOdW1iZXIsIFN0cmluZygpKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZQotICAgICAgICB3aW5kb3ctPm1fZnJhbWUtPmxv
YWRlcigpLT5leGVjdXRlU2NyaXB0KDAsIG1fY29kZSk7Ci0gIAorICAgICAgICBmcmFtZS0+bG9h
ZGVyKCktPmV4ZWN1dGVTY3JpcHQoMCwgbV9jb2RlKTsKKwogICAgIC8vIFVwZGF0ZSBvdXIgZG9j
dW1lbnQncyByZW5kZXJpbmcgZm9sbG93aW5nIHRoZSBleGVjdXRpb24gb2YgdGhlIHRpbWVvdXQg
Y2FsbGJhY2suCi0gICAgLy8gRklYTUU6IFdoeT8gV2h5IG5vdCBvdGhlciBkb2N1bWVudHMsIGZv
ciBleGFtcGxlPwotICAgIERvY3VtZW50ICpkb2MgPSB3aW5kb3ctPm1fZnJhbWUtPmRvY3VtZW50
KCk7Ci0gICAgaWYgKGRvYykKKyAgICAvLyBGSVhNRTogV2h5IG5vdCB1c2UgdXBkYXRlRG9jdW1l
bnRzUmVuZGVyaW5nIHRvIHVwZGF0ZSByZW5kZXJpbmcgb2YgYWxsIGRvY3VtZW50cz8KKyAgICAv
LyBGSVhNRTogSXMgdGhpcyByZWFsbHkgdGhlIHJpZ2h0IHBvaW50IHRvIGRvIHRoZSB1cGRhdGU/
IFdlIG5lZWQgYSBwbGFjZSB0aGF0IHdvcmtzCisgICAgLy8gZm9yIGFsbCBwb3NzaWJsZSBlbnRy
eSBwb2ludHMgdGhhdCBtaWdodCBwb3NzaWJseSBleGVjdXRlIHNjcmlwdCwgYnV0IHRoaXMgc2Vl
bXMKKyAgICAvLyB0byBiZSBhIGJpdCB0b28gbG93LWxldmVsLgorICAgIGlmIChEb2N1bWVudCog
ZG9jID0gZnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgIGRvYy0+dXBkYXRlUmVuZGVyaW5nKCk7
CiAgIAogICAgIGludGVycHJldGVyLT5zZXRQcm9jZXNzaW5nVGltZXJDYWxsYmFjayhmYWxzZSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12667</attachid>
            <date>2007-01-25 10:20:01 -0800</date>
            <delta_ts>2007-01-25 13:43:46 -0800</delta_ts>
            <desc>a real reduction</desc>
            <filename>2nd.zip</filename>
            <type>application/zip</type>
            <size>1437</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">UEsDBBQACAAIABS4NzYAAAAAAAAAAAAAAAAeABAAZGVzdHJveWVkLWlmcmFtZS1zY3JpcHQtMi5o
dG1sVVgMAF/yuEVnabZF9QH1AbPJKMnNseOyScpPqbTjSsvP57LJTCtKzE1VKC5KtlWHsPVAitSB
qvQhymz0IboAUEsHCGJWB6AvAAAAPQAAAFBLAwQKAAAAAAAyqTk2AAAAAAAAAAAAAAAACQAQAF9f
TUFDT1NYL1VYDABf8rhFX/K4RfUB9QFQSwMEFAAIAAgAFLg3NgAAAAAAAAAAAAAAACkAEABfX01B
Q09TWC8uX2Rlc3Ryb3llZC1pZnJhbWUtc2NyaXB0LTIuaHRtbFVYDABf8rhFZ2m2RfUB9QFjYBVj
Z2BiwAQgMU4gNgJiBSg/CCQR4hoRgkU9HAAAUEsHCMHNZYUfAAAAUgAAAFBLAwQUAAgACAAAqTk2
AAAAAAAAAAAAAAAACwAQAGlmcmFtZS5odG1sVVgMAF/yuEX/8bhF9QH1ASWMQQqAIBBF955iaKNS
GK2zTtENbAKDNJyRFtHd09r993k8Sy75k2ex5eDYxwCMxErDLQDW6PKBgc2VPKOS9peBkpuaf5ud
mtn2BSS0IGtK6lE8gpAXf2DMrGqxg6Hcn1idF1BLBwiEeQToYwAAAHcAAABQSwMEFAAIAAgAAKk5
NgAAAAAAAAAAAAAAABYAEABfX01BQ09TWC8uX2lmcmFtZS5odG1sVVgMAF/yuEX/8bhF9QH1AWNg
FWNnYGLABCAxTiA2AmIFKD8IJBHiGhGiGJScgUUPGAAAUEsHCEbZ8A0jAAAAUgAAAFBLAwQUAAgA
CABoqDk2AAAAAAAAAAAAAAAACQAQAHNjcmlwdC5qc1VYDABf8rhF4/C4RfUB9QErSCxKzSvRS8lP
Ls0FMcqLMktSNZQMjYxtipOLMgtK7Moz81Lyy/XS8vOTEos0NG30oeJKmtZcaHLWXABQSwcICTkH
wTwAAABPAAAAUEsDBBQACAAIAGioOTYAAAAAAAAAAAAAAAAUABAAX19NQUNPU1gvLl9zY3JpcHQu
anNVWAwAX/K4RePwuEX1AfUBY2AVY2dgYsAEIDFOIDYCYgUoPwgkEeIaEaIYlJyBRQ8YAABQSwcI
RtnwDSMAAABSAAAAUEsBAhUDFAAIAAgAFLg3NmJWB6AvAAAAPQAAAB4ADAAAAAAAAAAAQKSBAAAA
AGRlc3Ryb3llZC1pZnJhbWUtc2NyaXB0LTIuaHRtbFVYCABf8rhFZ2m2RVBLAQIVAwoAAAAAADKp
OTYAAAAAAAAAAAAAAAAJAAwAAAAAAAAAAED9QYsAAABfX01BQ09TWC9VWAgAX/K4RV/yuEVQSwEC
FQMUAAgACAAUuDc2wc1lhR8AAABSAAAAKQAMAAAAAAAAAABApIHCAAAAX19NQUNPU1gvLl9kZXN0
cm95ZWQtaWZyYW1lLXNjcmlwdC0yLmh0bWxVWAgAX/K4RWdptkVQSwECFQMUAAgACAAAqTk2hHkE
6GMAAAB3AAAACwAMAAAAAAAAAABApIFIAQAAaWZyYW1lLmh0bWxVWAgAX/K4Rf/xuEVQSwECFQMU
AAgACAAAqTk2RtnwDSMAAABSAAAAFgAMAAAAAAAAAABApIH0AQAAX19NQUNPU1gvLl9pZnJhbWUu
aHRtbFVYCABf8rhF//G4RVBLAQIVAxQACAAIAGioOTYJOQfBPAAAAE8AAAAJAAwAAAAAAAAAAECk
gWsCAABzY3JpcHQuanNVWAgAX/K4RePwuEVQSwECFQMUAAgACABoqDk2RtnwDSMAAABSAAAAFAAM
AAAAAAAAAABApIHuAgAAX19NQUNPU1gvLl9zY3JpcHQuanNVWAgAX/K4RePwuEVQSwUGAAAAAAcA
BwAkAgAAYwMAAAAA
</data>

          </attachment>
      

    </bug>

</bugzilla>