<?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>66464</bug_id>
          
          <creation_ts>2011-08-18 06:50:54 -0700</creation_ts>
          <short_desc>REGRESSION (r92231): Apple campus proposal PDF doesn&apos;t display in Safari</short_desc>
          <delta_ts>2011-08-24 15:14:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.cupertino.org/inc/pdf/apple/intro.pdf</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>msaboff</cc>
    
    <cc>sam</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>453000</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-18 06:50:54 -0700</bug_when>
    <thetext>To reproduce:

1. Go to http://www.cupertino.org/inc/pdf/apple/intro.pdf

All you get is a gray WKView area. The PDF displays just fine in WebKit1, and in Preview.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453001</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-08-18 06:51:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/9975906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453149</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-18 11:02:30 -0700</bug_when>
    <thetext>I cannot reproduce this problem with Safari 5.1 on Mac OS X 10.7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453239</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-18 12:20:23 -0700</bug_when>
    <thetext>Looks like this regression is caused by some non-WebKit component. We&apos;ll track this in Radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453745</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-19 04:58:50 -0700</bug_when>
    <thetext>Turns out this is a WebKit regression after all. This change is to blame: &lt;http://trac.webkit.org/changeset/92231/trunk/Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453748</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-19 04:59:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/9971220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454052</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-08-19 13:53:09 -0700</bug_when>
    <thetext>From Mark Rowe:
After the change in r92231 the call to mach_msg is failing with MACH_MSG_VM_KERNEL, indicating &quot;Kernel resource shortage handling out-of-line memory&quot;, when attempting to send the message containing the PDF data from the web process over to the UI process (below WebFrameLoaderClient::finishedLoading).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454055</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-08-19 13:56:10 -0700</bug_when>
    <thetext>One thing we could do is to allocate ArgumentEncoders with regular malloc and change the physical copy back to a virtual copy...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454119</commentid>
    <comment_count>8</comment_count>
      <attachid>104575</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-08-19 14:56:31 -0700</bug_when>
    <thetext>Created attachment 104575
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454123</commentid>
    <comment_count>9</comment_count>
      <attachid>104575</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-08-19 15:03:00 -0700</bug_when>
    <thetext>Comment on attachment 104575
Proposed patch

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

&gt; Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp:162
&gt; +        allocatedBuffer = reinterpret_cast&lt;char*&gt;(mmap(0, messageSize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0));
&gt; +        ASSERT(allocatedBuffer != MAP_FAILED);
&gt; +        buffer = allocatedBuffer;

I think you could do a vm_allocate here instead of an mmap - not sure if it matters much though.

&gt; Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp:211
&gt; +    memcpy(messageData, arguments-&gt;buffer(), arguments-&gt;bufferSize());

It&apos;s sad that we always have to copy the data now, even if the data is OOL. That means that we&apos;d have to memcpy ~15M for the Campus PDF.

Making ArgumentEncoder use malloc/free and change back the MACH_MSG_PHYSICAL_COPY to MACH_MSG_VIRTUAL_COPY would fix that bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454447</commentid>
    <comment_count>10</comment_count>
      <attachid>104638</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-08-21 21:42:57 -0700</bug_when>
    <thetext>Created attachment 104638
Patch updated based on comment 9

Changed to use system malloc in ArgumentEncoder and returned to using MACH_MSG_VIRTUAL_COPY with OOL mach_msg.

Verified no increase in memory usage nor page load time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454542</commentid>
    <comment_count>11</comment_count>
      <attachid>104638</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-22 05:56:25 -0700</bug_when>
    <thetext>Comment on attachment 104638
Patch updated based on comment 9

Is it possible to write a test for this? (Perhaps using TestWebKitAPI?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454736</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-08-22 11:28:57 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 104638 [details])
&gt; Is it possible to write a test for this? (Perhaps using TestWebKitAPI?)

We can add a test.  However, the proposed change doesn&apos;t change logic, just the source of the memory and the semantics of the mach_msg.  Seems to be heavy weight given this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454738</commentid>
    <comment_count>13</comment_count>
      <attachid>104638</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-08-22 11:31:01 -0700</bug_when>
    <thetext>Comment on attachment 104638
Patch updated based on comment 9

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

&gt; Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp:74
&gt; +        // fastMalloc using MADV_FREE_REUSABE doesn&apos;t work with

Typo, MADV_FREE_REUSABLE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454769</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-22 11:51:32 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 104638 [details] [details])
&gt; &gt; Is it possible to write a test for this? (Perhaps using TestWebKitAPI?)
&gt; 
&gt; We can add a test.  However, the proposed change doesn&apos;t change logic, just the source of the memory and the semantics of the mach_msg.  Seems to be heavy weight given this change.

We don&apos;t typically decide whether to write a test or not based on the size of the code change. We write a test if the code change results in an observable change in behavior, which this one does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454948</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-08-22 14:47:03 -0700</bug_when>
    <thetext>Committed r93546: &lt;http://trac.webkit.org/changeset/93546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455068</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-22 16:56:53 -0700</bug_when>
    <thetext>Michael, do you plan to write a regression test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456458</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-08-24 15:14:28 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Michael, do you plan to write a regression test for this?

At this point we don&apos;t plan on adding a test. The brute force regression test is putting the 15MB PDF file in the tree and making sure we can open it.  That was deemed to be too costly.

What would be ideal is to have a set of tests (unit / functional) that test the IOCore functionality including the argument encoder / decoders.  That effort is beyond the scope of this change of restoring the functionality by using a different mallocator.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104575</attachid>
            <date>2011-08-19 14:56:31 -0700</date>
            <delta_ts>2011-08-21 21:42:57 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>66464.patch</filename>
            <type>text/plain</type>
            <size>4557</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNDM1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMTkgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjkyMjMx
KTogQXBwbGUgY2FtcHVzIHByb3Bvc2FsIFBERiBkb2Vzbid0IGRpc3BsYXkgaW4gU2FmYXJpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ2NAorCisg
ICAgICAgIENoYW5nZWQgc2VuZE91dGdvaW5nTWVzc2FnZSB0byB1c2UgYW4gbW1hcHBlZCBidWZm
ZXIgYW5kIGlubGluZSBjb3B5IGluc3RlYWQgb2YKKyAgICAgICAgT09MIG1lc3NhZ2UgZm9yIGRh
dGEgcGF5bG9hZHMgbGFyZ2VyIHRoYW4gaW5saW5lTWVzc2FnZU1heFNpemUgKGN1cnJlbnRseSA0
SykuCisgICAgICAgIFRoZSBtbWFwcGVkIGJ1ZmZlciBpcyB1bm1hcHBlZCBhZnRlciB0aGUgbWVz
c2FnZSBpcyBzZW50LgorICAgICAgICBUaGlzIGRvZXNuJ3QgaW5jcmVhc2UgbG9uZyB0ZXJtIG1l
bW9yeSB1c2FnZSBub3IgZG9lcyBpdCBzZWVtIHRvIGFmZmVjdCBwYWdlCisgICAgICAgIGxvYWQg
dGltZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBQbGF0Zm9ybS9Db3JlSVBDL21hYy9Db25uZWN0aW9uTWFjLmNwcDoKKyAgICAgICAgKENvcmVJ
UEM6OkNvbm5lY3Rpb246OnNlbmRPdXRnb2luZ01lc3NhZ2UpOgorCiAyMDExLTA4LTE5ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CiAKICAgICAgICAgW1F0XSBbV0syXSBQcm92aWRlIEFQSSBmb3IgaW50ZXJjZXB0IChhbmQgcG9z
c2libGUgaWdub3JlKSBsaW5rcyBjbGlja2VkIGluIFFEZXNrdG9wV2ViVmlldwpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9tYWMvQ29ubmVjdGlvbk1hYy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9tYWMvQ29ubmVjdGlvbk1h
Yy5jcHAJKHJldmlzaW9uIDkzMzgxKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9tYWMvQ29ubmVjdGlvbk1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJNYWNoVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1
ZGUgPG1hY2gvdm1fbWFwLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KIAogdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIApAQCAtMTM3LDcgKzEzOCw3IEBAIGJvb2wgQ29ubmVjdGlvbjo6cGxhdGZvcm1D
YW5TZW5kT3V0Z29pbmcKIGJvb2wgQ29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZShNZXNz
YWdlSUQgbWVzc2FnZUlELCBQYXNzT3duUHRyPEFyZ3VtZW50RW5jb2Rlcj4gYXJndW1lbnRzKQog
ewogICAgIFZlY3RvcjxBdHRhY2htZW50PiBhdHRhY2htZW50cyA9IGFyZ3VtZW50cy0+cmVsZWFz
ZUF0dGFjaG1lbnRzKCk7Ci0gICAgCisKICAgICBzaXplX3QgbnVtYmVyT2ZQb3J0RGVzY3JpcHRv
cnMgPSAwOwogICAgIHNpemVfdCBudW1iZXJPZk9PTE1lbW9yeURlc2NyaXB0b3JzID0gMDsKICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGF0dGFjaG1lbnRzLnNpemUoKTsgKytpKSB7CkBAIC0x
NDcsMjkgKzE0OCwyOCBAQCBib29sIENvbm5lY3Rpb246OnNlbmRPdXRnb2luZ01lc3NhZ2UoTWVz
CiAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQXR0YWNobWVudDo6TWFjaE9PTE1lbW9yeVR5cGUp
CiAgICAgICAgICAgICBudW1iZXJPZk9PTE1lbW9yeURlc2NyaXB0b3JzKys7CiAgICAgfQotICAg
IAotICAgIHNpemVfdCBtZXNzYWdlU2l6ZSA9IG1hY2hNZXNzYWdlU2l6ZShhcmd1bWVudHMtPmJ1
ZmZlclNpemUoKSwgbnVtYmVyT2ZQb3J0RGVzY3JpcHRvcnMsIG51bWJlck9mT09MTWVtb3J5RGVz
Y3JpcHRvcnMpOwotICAgIGNoYXIgYnVmZmVyW2lubGluZU1lc3NhZ2VNYXhTaXplXTsKIAotICAg
IGJvb2wgbWVzc2FnZUJvZHlJc09PTCA9IGZhbHNlOwotICAgIGlmIChtZXNzYWdlU2l6ZSA+IHNp
emVvZihidWZmZXIpKSB7Ci0gICAgICAgIG1lc3NhZ2VCb2R5SXNPT0wgPSB0cnVlOwotCi0gICAg
ICAgIGF0dGFjaG1lbnRzLmFwcGVuZChBdHRhY2htZW50KGFyZ3VtZW50cy0+YnVmZmVyKCksIGFy
Z3VtZW50cy0+YnVmZmVyU2l6ZSgpLCBNQUNIX01TR19QSFlTSUNBTF9DT1BZLCBmYWxzZSkpOwot
ICAgICAgICBudW1iZXJPZk9PTE1lbW9yeURlc2NyaXB0b3JzKys7Ci0gICAgICAgIG1lc3NhZ2VT
aXplID0gbWFjaE1lc3NhZ2VTaXplKDAsIG51bWJlck9mUG9ydERlc2NyaXB0b3JzLCBudW1iZXJP
Zk9PTE1lbW9yeURlc2NyaXB0b3JzKTsKKyAgICBzaXplX3QgbWVzc2FnZVNpemUgPSBtYWNoTWVz
c2FnZVNpemUoYXJndW1lbnRzLT5idWZmZXJTaXplKCksIG51bWJlck9mUG9ydERlc2NyaXB0b3Jz
LCBudW1iZXJPZk9PTE1lbW9yeURlc2NyaXB0b3JzKTsKKyAgICBjaGFyIGxvY2FsQnVmZmVyW2lu
bGluZU1lc3NhZ2VNYXhTaXplXTsKKyAgICBjaGFyKiBhbGxvY2F0ZWRCdWZmZXIgPSAwOworICAg
IGNoYXIqIGJ1ZmZlcjsKKworICAgIGlmIChtZXNzYWdlU2l6ZSA8PSBpbmxpbmVNZXNzYWdlTWF4
U2l6ZSkKKyAgICAgICAgYnVmZmVyID0gJmxvY2FsQnVmZmVyWzBdOworICAgIGVsc2UgeworICAg
ICAgICBhbGxvY2F0ZWRCdWZmZXIgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihtbWFwKDAsIG1l
c3NhZ2VTaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfQU5PTiB8IE1BUF9QUklWQVRF
LCAtMSwgMCkpOworICAgICAgICBBU1NFUlQoYWxsb2NhdGVkQnVmZmVyICE9IE1BUF9GQUlMRUQp
OworICAgICAgICBidWZmZXIgPSBhbGxvY2F0ZWRCdWZmZXI7CiAgICAgfQogCiAgICAgYm9vbCBp
c0NvbXBsZXggPSAobnVtYmVyT2ZQb3J0RGVzY3JpcHRvcnMgKyBudW1iZXJPZk9PTE1lbW9yeURl
c2NyaXB0b3JzID4gMCk7CiAKLSAgICBtYWNoX21zZ19oZWFkZXJfdCogaGVhZGVyID0gcmVpbnRl
cnByZXRfY2FzdDxtYWNoX21zZ19oZWFkZXJfdCo+KCZidWZmZXIpOworICAgIG1hY2hfbXNnX2hl
YWRlcl90KiBoZWFkZXIgPSByZWludGVycHJldF9jYXN0PG1hY2hfbXNnX2hlYWRlcl90Kj4oYnVm
ZmVyKTsKICAgICBoZWFkZXItPm1zZ2hfYml0cyA9IGlzQ29tcGxleCA/IE1BQ0hfTVNHSF9CSVRT
KE1BQ0hfTVNHX1RZUEVfQ09QWV9TRU5EIHwgTUFDSF9NU0dIX0JJVFNfQ09NUExFWCwgMCkgOiBN
QUNIX01TR0hfQklUUyhNQUNIX01TR19UWVBFX0NPUFlfU0VORCwgMCk7CiAgICAgaGVhZGVyLT5t
c2doX3NpemUgPSBtZXNzYWdlU2l6ZTsKICAgICBoZWFkZXItPm1zZ2hfcmVtb3RlX3BvcnQgPSBt
X3NlbmRQb3J0OwogICAgIGhlYWRlci0+bXNnaF9sb2NhbF9wb3J0ID0gTUFDSF9QT1JUX05VTEw7
CiAgICAgaGVhZGVyLT5tc2doX2lkID0gbWVzc2FnZUlELnRvSW50KCk7Ci0gICAgaWYgKG1lc3Nh
Z2VCb2R5SXNPT0wpCi0gICAgICAgIGhlYWRlci0+bXNnaF9pZCB8PSBNZXNzYWdlQm9keUlzT09M
OwogCiAgICAgdWludDhfdCogbWVzc2FnZURhdGE7CiAKQEAgLTIwOCwxOCArMjA4LDIwIEBAIGJv
b2wgQ29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZShNZXMKICAgICB9IGVsc2UKICAgICAg
ICAgbWVzc2FnZURhdGEgPSAodWludDhfdCopKGhlYWRlciArIDEpOwogCi0gICAgLy8gQ29weSB0
aGUgZGF0YSBpZiBpdCBpcyBub3QgYmVpbmcgc2VudCBvdXQtb2YtbGluZS4KLSAgICBpZiAoIW1l
c3NhZ2VCb2R5SXNPT0wpCi0gICAgICAgIG1lbWNweShtZXNzYWdlRGF0YSwgYXJndW1lbnRzLT5i
dWZmZXIoKSwgYXJndW1lbnRzLT5idWZmZXJTaXplKCkpOworICAgIG1lbWNweShtZXNzYWdlRGF0
YSwgYXJndW1lbnRzLT5idWZmZXIoKSwgYXJndW1lbnRzLT5idWZmZXJTaXplKCkpOwogCiAgICAg
QVNTRVJUKG1fc2VuZFBvcnQpOwotICAgIAorCiAgICAgLy8gU2VuZCB0aGUgbWVzc2FnZS4KICAg
ICBrZXJuX3JldHVybl90IGtyID0gbWFjaF9tc2coaGVhZGVyLCBNQUNIX1NFTkRfTVNHLCBtZXNz
YWdlU2l6ZSwgMCwgTUFDSF9QT1JUX05VTEwsIE1BQ0hfTVNHX1RJTUVPVVRfTk9ORSwgTUFDSF9Q
T1JUX05VTEwpOworICAgIEFTU0VSVChrciA9PSBLRVJOX1NVQ0NFU1MpOwogICAgIGlmIChrciAh
PSBLRVJOX1NVQ0NFU1MpIHsKICAgICAgICAgLy8gRklYTUU6IFdoYXQgc2hvdWxkIHdlIGRvIGhl
cmU/CiAgICAgfQogCisgICAgaWYgKGFsbG9jYXRlZEJ1ZmZlcikKKyAgICAgICAgbXVubWFwKGFs
bG9jYXRlZEJ1ZmZlciwgbWVzc2FnZVNpemUpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104638</attachid>
            <date>2011-08-21 21:42:57 -0700</date>
            <delta_ts>2011-08-22 11:31:01 -0700</delta_ts>
            <desc>Patch updated based on comment 9</desc>
            <filename>66464-1.patch</filename>
            <type>text/plain</type>
            <size>3472</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNDkyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMjEgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjkyMjMx
KTogQXBwbGUgY2FtcHVzIHByb3Bvc2FsIFBERiBkb2Vzbid0IGRpc3BsYXkgaW4gU2FmYXJpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ2NAorCisg
ICAgICAgIENoYW5nZWQgQXJndW1lbnRFbmNvZGVyIHRvIHVzZSBzeXN0ZW0gbWFsbG9jIGluc3Rl
YWQgb2YgZmFzdE1hbGxvYy4KKyAgICAgICAgRmFzdE1hbGxvYyB1c2VzIG1hZHZpc2UoTUFEVl9G
UkVFX1JFVVNBQkxFKSB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aAorICAgICAgICBtYWNoIG1l
c3NhZ2UgT3V0IE9mIExpbmUgKE9PTCkgbWVzc2FnZXMgdGhhdCB1c2UgTUFDSF9NU0dfVklSVFVB
TF9DT1BZLgorICAgICAgICBUaGUgc3lzdGVtIG1hbGxvYyBoYXMgbm8gc3VjaCBsaW1pdGF0aW9u
LgorICAgICAgICBDaGFuZ2VkIHNlbmRPdXRnb2luZ01lc3NhZ2UgdG8gdXNlIE1BQ0hfTVNHX1ZJ
UlRVQUxfQ09QWSBhZ2FpbiBhcyBpdCAKKyAgICAgICAgZG9lc24ndCBoYXZlIHNpemUgbGltaXRh
dGlvbnMgdGhhdCBNQUNIX01TR19QSFlTSUNBTF9DT1BZLgorICAgICAgICAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL0Fy
Z3VtZW50RW5jb2Rlci5jcHA6CisgICAgICAgIChDb3JlSVBDOjpBcmd1bWVudEVuY29kZXI6On5B
cmd1bWVudEVuY29kZXIpOgorICAgICAgICAoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyOjpncm93
KToKKyAgICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL21hYy9Db25uZWN0aW9uTWFjLmNwcDoKKyAg
ICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246OnNlbmRPdXRnb2luZ01lc3NhZ2UpOgorCiAyMDEx
LTA4LTE5ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAg
QW5vdGhlciBhdHRlbXB0IGF0IGZpeGluZyB0aGUgV2luZG93cyBidWlsZC4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAJ
KHJldmlzaW9uIDkzMzgxKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudEVuY29kZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIEFyZ3VtZW50
RW5jb2Rlcjo6QXJndW1lbnRFbmNvZGVyKHVpbnQ2NF8KIEFyZ3VtZW50RW5jb2Rlcjo6fkFyZ3Vt
ZW50RW5jb2RlcigpCiB7CiAgICAgaWYgKG1fYnVmZmVyKQotICAgICAgICBmYXN0RnJlZShtX2J1
ZmZlcik7CisgICAgICAgIGZyZWUobV9idWZmZXIpOwogI2lmICFVU0UoVU5JWF9ET01BSU5fU09D
S0VUUykKICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byBkaXNwb3NlIG9mIHRoZSBhdHRhY2htZW50
cyBpbiBjYXNlcyBvZiBmYWlsdXJlLgogI2Vsc2UKQEAgLTcwLDEwICs3MCwxMyBAQCB1aW50OF90
KiBBcmd1bWVudEVuY29kZXI6Omdyb3codW5zaWduZWQgCiAgICAgCiAgICAgaWYgKGFsaWduZWRT
aXplICsgc2l6ZSA+IG1fYnVmZmVyQ2FwYWNpdHkpIHsKICAgICAgICAgc2l6ZV90IG5ld0NhcGFj
aXR5ID0gc3RkOjptYXgoYWxpZ25lZFNpemUgKyBzaXplLCBzdGQ6Om1heChzdGF0aWNfY2FzdDxz
aXplX3Q+KDMyKSwgbV9idWZmZXJDYXBhY2l0eSArIG1fYnVmZmVyQ2FwYWNpdHkgLyA0ICsgMSkp
OworICAgICAgICAvLyBVc2Ugc3lzdGVtIG1hbGxvYyAvIHJlYWxsb2MgaW5zdGVhZCBvZiBmYXN0
TWFsbG9jIGR1ZSB0byAKKyAgICAgICAgLy8gZmFzdE1hbGxvYyB1c2luZyBNQURWX0ZSRUVfUkVV
U0FCRSBkb2Vzbid0IHdvcmsgd2l0aAorICAgICAgICAvLyBtYWNoIG1lc3NhZ2VzIHdpdGggT09M
IG1lc3NhZ2UgYW5kIE1BQ0hfTVNHX1ZJUlRVQUxfQ09QWS4KICAgICAgICAgaWYgKCFtX2J1ZmZl
cikKLSAgICAgICAgICAgIG1fYnVmZmVyID0gc3RhdGljX2Nhc3Q8dWludDhfdCo+KGZhc3RNYWxs
b2MobmV3Q2FwYWNpdHkpKTsKKyAgICAgICAgICAgIG1fYnVmZmVyID0gc3RhdGljX2Nhc3Q8dWlu
dDhfdCo+KG1hbGxvYyhuZXdDYXBhY2l0eSkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBt
X2J1ZmZlciA9IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihmYXN0UmVhbGxvYyhtX2J1ZmZlciwgbmV3
Q2FwYWNpdHkpKTsKKyAgICAgICAgICAgIG1fYnVmZmVyID0gc3RhdGljX2Nhc3Q8dWludDhfdCo+
KHJlYWxsb2MobV9idWZmZXIsIG5ld0NhcGFjaXR5KSk7CiAgICAgICAgIAogICAgICAgICAvLyBG
SVhNRTogV2hhdCBzaG91bGQgd2UgZG8gaWYgYWxsb2NhdGluZyBtZW1vcnkgZmFpbHM/CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvbWFjL0Nvbm5lY3Rpb25NYWMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvbWFjL0Nvbm5l
Y3Rpb25NYWMuY3BwCShyZXZpc2lvbiA5MzM4MSkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvbWFjL0Nvbm5lY3Rpb25NYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUsNyAr
MTU1LDcgQEAgYm9vbCBDb25uZWN0aW9uOjpzZW5kT3V0Z29pbmdNZXNzYWdlKE1lcwogICAgIGlm
IChtZXNzYWdlU2l6ZSA+IHNpemVvZihidWZmZXIpKSB7CiAgICAgICAgIG1lc3NhZ2VCb2R5SXNP
T0wgPSB0cnVlOwogCi0gICAgICAgIGF0dGFjaG1lbnRzLmFwcGVuZChBdHRhY2htZW50KGFyZ3Vt
ZW50cy0+YnVmZmVyKCksIGFyZ3VtZW50cy0+YnVmZmVyU2l6ZSgpLCBNQUNIX01TR19QSFlTSUNB
TF9DT1BZLCBmYWxzZSkpOworICAgICAgICBhdHRhY2htZW50cy5hcHBlbmQoQXR0YWNobWVudChh
cmd1bWVudHMtPmJ1ZmZlcigpLCBhcmd1bWVudHMtPmJ1ZmZlclNpemUoKSwgTUFDSF9NU0dfVklS
VFVBTF9DT1BZLCBmYWxzZSkpOwogICAgICAgICBudW1iZXJPZk9PTE1lbW9yeURlc2NyaXB0b3Jz
Kys7CiAgICAgICAgIG1lc3NhZ2VTaXplID0gbWFjaE1lc3NhZ2VTaXplKDAsIG51bWJlck9mUG9y
dERlc2NyaXB0b3JzLCBudW1iZXJPZk9PTE1lbW9yeURlc2NyaXB0b3JzKTsKICAgICB9Cg==
</data>
<flag name="review"
          id="100530"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>