<?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>104921</bug_id>
          
          <creation_ts>2012-12-13 09:12:32 -0800</creation_ts>
          <short_desc>[V8] Regression causing DOM objects to have unstable NPObject* references with v8 bindings</short_desc>
          <delta_ts>2012-12-19 22:51:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>105266</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Dempsky">mdempsky</reporter>
          <assigned_to name="Matthew Dempsky">mdempsky</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790659</commentid>
    <comment_count>0</comment_count>
      <attachid>179282</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-13 09:12:32 -0800</bug_when>
    <thetext>Created attachment 179282
Fix for NPV8Object regression

For details, see crbug.com/165307.

I&apos;ve identified this WebKit patch as the issue: http://trac.webkit.org/changeset?format=diff&amp;new=135804&amp;old=135803&amp;new_path=%2Ftrunk&amp;old_path=%2Ftrunk

In particular, in the &quot;iter != v8NPObjectMap-&gt;end()&quot; case, if the &apos;for&apos; loop terminates without returning, then objectVector will not be set, and the created NPObject pointer will not be saved and the newly created NPObject will not be saved for future reuse.

I also notice that v8NPObjectMap is keyed off Object::GetIdentityHash(), but the V8 Object documentation explicitly states that identity hashes are not unique: http://code.google.com/p/v8/source/browse/trunk/include/v8.h#1702

So I believe this code:

    if (v8npObject-&gt;rootObject == root) {
        ASSERT(v8npObject-&gt;v8Object == object);

should also be changed to:

    if (v8npObject-&gt;v8Object == object &amp;&amp; v8npObject-&gt;rootObject == root) {

See attached patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792935</commentid>
    <comment_count>1</comment_count>
      <attachid>179782</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 12:49:38 -0800</bug_when>
    <thetext>Created attachment 179782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792942</commentid>
    <comment_count>2</comment_count>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 12:55:30 -0800</bug_when>
    <thetext>haraken@ or japhet@ - can you r? cq?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792943</commentid>
    <comment_count>3</comment_count>
      <attachid>179782</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 12:59:26 -0800</bug_when>
    <thetext>Comment on attachment 179782
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        No tests.  Testing requires a custom plugin to compare NPObject* for

FWIW, I&apos;ve manually tested that this fix works for Chromium with the GWT Developer Mode plugin.  However, I don&apos;t know how to build a custom NPAPI plugin just for the WebKit LayoutTests.  If someone can give me clear instructions on how to do that, I&apos;m happy to try that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793056</commentid>
    <comment_count>4</comment_count>
      <attachid>179807</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 14:51:54 -0800</bug_when>
    <thetext>Created attachment 179807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793092</commentid>
    <comment_count>5</comment_count>
      <attachid>179807</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 15:37:45 -0800</bug_when>
    <thetext>Comment on attachment 179807
Patch

Attachment 179807 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15364940

New failing tests:
plugins/npruntime/embed-property-equality.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793093</commentid>
    <comment_count>6</comment_count>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 15:39:40 -0800</bug_when>
    <thetext>Sorry, I&apos;m still working on fixing the patch.  There&apos;s a whitespace issue that caused it to fail, but more egregiously, it doesn&apos;t actually test the bug here since it passes even without my fix.

I&apos;m currently working on a new patch to add another method to TestNetscapePlugIn that will let me actually exercise the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793094</commentid>
    <comment_count>7</comment_count>
      <attachid>179807</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-17 15:39:59 -0800</bug_when>
    <thetext>Comment on attachment 179807
Patch

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

The change looks reasonable to me. I&apos;ll r+ it once you fixed the test result.

&gt; LayoutTests/ChangeLog:11
&gt; +        * plugins/npruntime/embed-property-equality.html: Test two plugin instances.

You need to update the test result.

You can update the test result by:

$ ./webkit/tools/layout_tests/run_webkit_tests.py --reset-results --debug plugins/npruntime/embed-property-equality.html

(--debug is not needed if you&apos;re building in the Release mode.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793136</commentid>
    <comment_count>8</comment_count>
      <attachid>179826</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 16:21:02 -0800</bug_when>
    <thetext>Created attachment 179826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793137</commentid>
    <comment_count>9</comment_count>
      <attachid>179826</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-17 16:23:18 -0800</bug_when>
    <thetext>Comment on attachment 179826
Patch

Looks OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793138</commentid>
    <comment_count>10</comment_count>
      <attachid>179827</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 16:24:00 -0800</bug_when>
    <thetext>Created attachment 179827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793139</commentid>
    <comment_count>11</comment_count>
      <attachid>179827</attachid>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-17 16:24:54 -0800</bug_when>
    <thetext>Comment on attachment 179827
Patch

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

&gt; LayoutTests/plugins/npruntime/embed-property-iframe-equality.html:4
&gt; +&lt;iframe srcdoc=&quot;&lt;script&gt;parent.plugin.remember(parent.document)&lt;/script&gt;&quot;&gt;&lt;/iframe&gt;

Sorry, made one minor fix to here.  Only need one argument for remember(), not two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793208</commentid>
    <comment_count>12</comment_count>
      <attachid>179827</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 17:44:26 -0800</bug_when>
    <thetext>Comment on attachment 179827
Patch

Clearing flags on attachment: 179827

Committed r137964: &lt;http://trac.webkit.org/changeset/137964&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793209</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 17:44:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793474</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-18 01:57:36 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 179827 [details])
&gt; Clearing flags on attachment: 179827
&gt; 
&gt; Committed r137964: &lt;http://trac.webkit.org/changeset/137964&gt;

The new test fails on WK2 platforms - see https://bugs.webkit.org/show_bug.cgi?id=105266 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793797</commentid>
    <comment_count>15</comment_count>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-18 10:18:17 -0800</bug_when>
    <thetext>What&apos;s the proper process to request this patch be considered for merging into branches/chromium/1312 and branches/chromium/1359?  The regression was introduced in r135804, which was merged into branches/chromium/1312 as r136064, and was also included in the base version for branches/chromium/1359 (which branched from r137490).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794153</commentid>
    <comment_count>16</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-18 16:26:53 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; What&apos;s the proper process to request this patch be considered for merging into branches/chromium/1312 and branches/chromium/1359?  The regression was introduced in r135804, which was merged into branches/chromium/1312 as r136064, and was also included in the base version for branches/chromium/1359 (which branched from r137490).

Sent you a private email.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795202</commentid>
    <comment_count>17</comment_count>
    <who name="Matthew Dempsky">mdempsky</who>
    <bug_when>2012-12-19 22:51:16 -0800</bug_when>
    <thetext>FYI, I&apos;ve filed https://bugs.webkit.org/show_bug.cgi?id=105495 with more variations on this issue.  I&apos;ve already written LayoutTests to demonstrate the bugs, but I don&apos;t have fixes for them yet.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179282</attachid>
            <date>2012-12-13 09:12:32 -0800</date>
            <delta_ts>2012-12-17 12:49:34 -0800</delta_ts>
            <desc>Fix for NPV8Object regression</desc>
            <filename>NPV8Object-fix.patch</filename>
            <type>text/plain</type>
            <size>1247</size>
            <attacher name="Matthew Dempsky">mdempsky</attacher>
            
              <data encoding="base64">SW5kZXg6IHRoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAJKHJldmlzaW9uIDEzNzQyNSkKKysrIHRoaXJk
X3BhcnR5L1dlYktpdC9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTU1LDE2ICsxNTUsMTUgQEAKICAgICAgICAgICAgIFY4TlBPYmpl
Y3RWZWN0b3ImIG9iamVjdHMgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBvYmplY3RzLnNpemUoKTsgKytpbmRleCkgewogICAgICAgICAg
ICAgICAgIFY4TlBPYmplY3QqIHY4bnBPYmplY3QgPSBvYmplY3RzLmF0KGluZGV4KTsKLSAgICAg
ICAgICAgICAgICBpZiAodjhucE9iamVjdC0+cm9vdE9iamVjdCA9PSByb290KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIEFTU0VSVCh2OG5wT2JqZWN0LT52OE9iamVjdCA9PSBvYmplY3QpOworICAg
ICAgICAgICAgICAgIGlmICh2OG5wT2JqZWN0LT52OE9iamVjdCA9PSBvYmplY3QgJiYgdjhucE9i
amVjdC0+cm9vdE9iamVjdCA9PSByb290KSB7CiAgICAgICAgICAgICAgICAgICAgIF9OUE5fUmV0
YWluT2JqZWN0KCZ2OG5wT2JqZWN0LT5vYmplY3QpOwogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxOUE9iamVjdCo+KHY4bnBPYmplY3QpOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGl0ZXIg
PSB2OE5QT2JqZWN0TWFwLT5zZXQodjhPYmplY3RIYXNoLCBWOE5QT2JqZWN0VmVjdG9yKCkpLml0
ZXJhdG9yOwotICAgICAgICAgICAgb2JqZWN0VmVjdG9yID0gJml0ZXItPnZhbHVlOwogICAgICAg
ICB9CisgICAgICAgIG9iamVjdFZlY3RvciA9ICZpdGVyLT52YWx1ZTsKICAgICB9CiAgICAgVjhO
UE9iamVjdCogdjhucE9iamVjdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8VjhOUE9iamVjdCo+KF9OUE5f
Q3JlYXRlT2JqZWN0KG5wcCwgJlY4TlBPYmplY3RDbGFzcykpOwogICAgIHY4bnBPYmplY3QtPnY4
T2JqZWN0ID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhvYmplY3QpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179782</attachid>
            <date>2012-12-17 12:49:38 -0800</date>
            <delta_ts>2012-12-17 14:51:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104921-20121217124655.patch</filename>
            <type>text/plain</type>
            <size>2486</size>
            <attacher name="Matthew Dempsky">mdempsky</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzkzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEyLTE3ICBNYXR0aGV3
IERlbXBza3kgIDxtZGVtcHNreUBnb29nbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gY2F1
c2luZyBET00gb2JqZWN0cyB0byBoYXZlIHVuc3RhYmxlIE5QT2JqZWN0KiByZWZlcmVuY2VzIHdp
dGggdjggYmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2hhbmdlc2V0IDEzNTgwNCByZXN1
bHRpbmcgaW4KKyAgICAgICAgdW5zdGFibGUgTlBPYmplY3QqIHJlZmVyZW5jZXMgZm9yIHY4IG9i
amVjdHMuICBJbiB0aGUgaXRlciAhPQorICAgICAgICB2OE5QT2JqZWN0TWFwLT5lbmQoKSBjb2Rl
IHBhdGgsIG9iamVjdFZlY3RvciB3YXMgbGVmdCB1bmFzc2lnbmVkCisgICAgICAgIGlmIHRoZSBm
b3IgbG9vcCB0ZXJtaW5hdGVkIHdpdGhvdXQgcmV0dXJuaW5nLgorCisgICAgICAgIEFsc28sIFY4
T2JqZWN0OjpHZXRJZGVudGl0eUhhc2goKSBpcyBkb2N1bWVudGVkIGFzIG5vdCBiZWluZyBndWFy
YW50ZWVkCisgICAgICAgIGFzIHVuaXF1ZS4gIEFzIHN1Y2gsIGRvbid0IEFTU0VSVCgpIHRoYXQg
dHdvIG9iamVjdHMgd2l0aCB0aGUgc2FtZSBoYXNoCisgICAgICAgIG11c3QgdGhlcmVmb3IgYmUg
dGhlIHNhbWUgb2JqZWN0LgorCisgICAgICAgIE5vIHRlc3RzLiAgVGVzdGluZyByZXF1aXJlcyBh
IGN1c3RvbSBwbHVnaW4gdG8gY29tcGFyZSBOUE9iamVjdCogZm9yCisgICAgICAgIGVxdWFsaXR5
LgorCisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpucENyZWF0ZVY4U2NyaXB0T2JqZWN0KTogRml4LgorCiAyMDEyLTEyLTE3ICBCZW0gSm9u
ZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgRXhjbHVzaW9uc10g
c2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgaGVpZ2h0L3dpZHRo
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAkocmV2aXNp
b24gMTM3OTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE1NSwxNiArMTU1LDE1IEBAIE5QT2JqZWN0KiBucENyZWF0ZVY4
U2NyaXB0T2JqZWN0KE5QUCBucHAKICAgICAgICAgICAgIFY4TlBPYmplY3RWZWN0b3ImIG9iamVj
dHMgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5k
ZXggPCBvYmplY3RzLnNpemUoKTsgKytpbmRleCkgewogICAgICAgICAgICAgICAgIFY4TlBPYmpl
Y3QqIHY4bnBPYmplY3QgPSBvYmplY3RzLmF0KGluZGV4KTsKLSAgICAgICAgICAgICAgICBpZiAo
djhucE9iamVjdC0+cm9vdE9iamVjdCA9PSByb290KSB7Ci0gICAgICAgICAgICAgICAgICAgIEFT
U0VSVCh2OG5wT2JqZWN0LT52OE9iamVjdCA9PSBvYmplY3QpOworICAgICAgICAgICAgICAgIGlm
ICh2OG5wT2JqZWN0LT52OE9iamVjdCA9PSBvYmplY3QgJiYgdjhucE9iamVjdC0+cm9vdE9iamVj
dCA9PSByb290KSB7CiAgICAgICAgICAgICAgICAgICAgIF9OUE5fUmV0YWluT2JqZWN0KCZ2OG5w
T2JqZWN0LT5vYmplY3QpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxOUE9iamVjdCo+KHY4bnBPYmplY3QpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGl0ZXIgPSB2OE5QT2JqZWN0TWFw
LT5zZXQodjhPYmplY3RIYXNoLCBWOE5QT2JqZWN0VmVjdG9yKCkpLml0ZXJhdG9yOwotICAgICAg
ICAgICAgb2JqZWN0VmVjdG9yID0gJml0ZXItPnZhbHVlOwogICAgICAgICB9CisgICAgICAgIG9i
amVjdFZlY3RvciA9ICZpdGVyLT52YWx1ZTsKICAgICB9CiAgICAgVjhOUE9iamVjdCogdjhucE9i
amVjdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8VjhOUE9iamVjdCo+KF9OUE5fQ3JlYXRlT2JqZWN0KG5w
cCwgJlY4TlBPYmplY3RDbGFzcykpOwogICAgIHY4bnBPYmplY3QtPnY4T2JqZWN0ID0gdjg6OlBl
cnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhvYmplY3QpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179807</attachid>
            <date>2012-12-17 14:51:54 -0800</date>
            <delta_ts>2012-12-17 16:21:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104921-20121217144912.patch</filename>
            <type>text/plain</type>
            <size>4255</size>
            <attacher name="Matthew Dempsky">mdempsky</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzkzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEyLTE3ICBNYXR0aGV3
IERlbXBza3kgIDxtZGVtcHNreUBnb29nbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gY2F1
c2luZyBET00gb2JqZWN0cyB0byBoYXZlIHVuc3RhYmxlIE5QT2JqZWN0KiByZWZlcmVuY2VzIHdp
dGggdjggYmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2hhbmdlc2V0IDEzNTgwNCByZXN1
bHRpbmcgaW4KKyAgICAgICAgdW5zdGFibGUgTlBPYmplY3QqIHJlZmVyZW5jZXMgZm9yIHY4IG9i
amVjdHMuICBJbiB0aGUgaXRlciAhPQorICAgICAgICB2OE5QT2JqZWN0TWFwLT5lbmQoKSBjb2Rl
IHBhdGgsIG9iamVjdFZlY3RvciB3YXMgbGVmdCB1bmFzc2lnbmVkCisgICAgICAgIGlmIHRoZSBm
b3IgbG9vcCB0ZXJtaW5hdGVkIHdpdGhvdXQgcmV0dXJuaW5nLgorCisgICAgICAgIEFsc28sIFY4
T2JqZWN0OjpHZXRJZGVudGl0eUhhc2goKSBpcyBkb2N1bWVudGVkIGFzIG5vdCBiZWluZyBndWFy
YW50ZWVkCisgICAgICAgIGFzIHVuaXF1ZS4gIEFzIHN1Y2gsIGRvbid0IEFTU0VSVCgpIHRoYXQg
dHdvIG9iamVjdHMgd2l0aCB0aGUgc2FtZSBoYXNoCisgICAgICAgIG11c3QgdGhlcmVmb3IgYmUg
dGhlIHNhbWUgb2JqZWN0LgorCisgICAgICAgIFRlc3RzOiBwbHVnaW5zL25wcnVudGltZS9lbWJl
ZC1wcm9wZXJ0eS1lcXVhbGl0eS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9OUFY4T2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5wQ3JlYXRlVjhTY3JpcHRPYmplY3QpOiBGaXgu
CisKIDIwMTItMTItMTcgIEF2aSBEcmlzc21hbiAgPGF2aUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgRHJhZ2dpbmcgYSAuanBnIHRvIEZpbmRlciBzYXZlcyBpdCBhcyAuanBlZwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAJKHJldmlzaW9uIDEzNzkzNSkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTUsMTYgKzE1NSwxNSBAQCBOUE9iamVjdCogbnBDcmVhdGVWOFNjcmlwdE9iamVj
dChOUFAgbnBwCiAgICAgICAgICAgICBWOE5QT2JqZWN0VmVjdG9yJiBvYmplY3RzID0gaXRlci0+
dmFsdWU7CiAgICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgb2JqZWN0
cy5zaXplKCk7ICsraW5kZXgpIHsKICAgICAgICAgICAgICAgICBWOE5QT2JqZWN0KiB2OG5wT2Jq
ZWN0ID0gb2JqZWN0cy5hdChpbmRleCk7Ci0gICAgICAgICAgICAgICAgaWYgKHY4bnBPYmplY3Qt
PnJvb3RPYmplY3QgPT0gcm9vdCkgewotICAgICAgICAgICAgICAgICAgICBBU1NFUlQodjhucE9i
amVjdC0+djhPYmplY3QgPT0gb2JqZWN0KTsKKyAgICAgICAgICAgICAgICBpZiAodjhucE9iamVj
dC0+djhPYmplY3QgPT0gb2JqZWN0ICYmIHY4bnBPYmplY3QtPnJvb3RPYmplY3QgPT0gcm9vdCkg
ewogICAgICAgICAgICAgICAgICAgICBfTlBOX1JldGFpbk9iamVjdCgmdjhucE9iamVjdC0+b2Jq
ZWN0KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8TlBPYmpl
Y3QqPih2OG5wT2JqZWN0KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpdGVyID0gdjhOUE9iamVjdE1hcC0+c2V0KHY4T2Jq
ZWN0SGFzaCwgVjhOUE9iamVjdFZlY3RvcigpKS5pdGVyYXRvcjsKLSAgICAgICAgICAgIG9iamVj
dFZlY3RvciA9ICZpdGVyLT52YWx1ZTsKICAgICAgICAgfQorICAgICAgICBvYmplY3RWZWN0b3Ig
PSAmaXRlci0+dmFsdWU7CiAgICAgfQogICAgIFY4TlBPYmplY3QqIHY4bnBPYmplY3QgPSByZWlu
dGVycHJldF9jYXN0PFY4TlBPYmplY3QqPihfTlBOX0NyZWF0ZU9iamVjdChucHAsICZWOE5QT2Jq
ZWN0Q2xhc3MpKTsKICAgICB2OG5wT2JqZWN0LT52OE9iamVjdCA9IHY4OjpQZXJzaXN0ZW50PHY4
OjpPYmplY3Q+OjpOZXcob2JqZWN0KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzkzNSkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEy
LTEyLTE3ICBNYXRoZXcgRGVtcHNreSAgPG1kZW1wc2t5QGdvb2dsZS5jb20+CisKKyAgICAgICAg
UmVncmVzc2lvbiBjYXVzaW5nIERPTSBvYmplY3RzIHRvIGhhdmUgdW5zdGFibGUgTlBPYmplY3Qq
IHJlZmVyZW5jZXMgd2l0aCB2OCBiaW5kaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0OTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIGVtYmVkLXByb3BlcnR5LWVxdWFsaXR5Lmh0bWwg
dG8gdGVzdCB0d28gc2VwYXJhdGUgcGx1Z2luIGluc3RhbmNlcyBmb3IgbW9yZQorICAgICAgICB0
aG9yb3VnaCB0ZXN0aW5nLgorCisgICAgICAgICogcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQtcHJv
cGVydHktZXF1YWxpdHkuaHRtbDogVGVzdCB0d28gcGx1Z2luIGluc3RhbmNlcy4KKwogMjAxMi0x
Mi0xNyAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NT
IEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciByZWN0YW5nbGUgc2hhcGVz
IGhlaWdodC93aWR0aApJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQt
cHJvcGVydHktZXF1YWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbHVnaW5z
L25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1lcXVhbGl0eS5odG1sCShyZXZpc2lvbiAxMzc5MzUp
CisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1lcXVhbGl0
eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogPHA+VGVzdCBlcXVhbGl0eSBv
ZiBwbHVnaW4gb2JqZWN0IHByb3BlcnRpZXMuPC9wPgogPGRpdiBpZD1kaXY+CiA8ZW1iZWQgaWQ9
InBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+Cis8ZW1i
ZWQgaWQ9InBsdWdpbjIiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUi
PgogPC9kaXY+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQpAQCAtMTEsNyArMTIs
NyBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgdmFyIHBsdWdpbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdwbHVnaW4nKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2LnRleHRDb250ZW50ID0gIlNlbmQgdHdvIHJlZmVy
ZW5jZXMgb2YgYSBKYXZhU2NyaXB0IG9iamVjdCB0byB0aGUgcGx1Z2luIGZvciBpZGVudGl0eSBj
b21wYXJpc29uIGluIEMrKyAiIAotICAgICAgICArIChwbHVnaW4ub2JqZWN0c0FyZVNhbWUoZG9j
dW1lbnQsIGRvY3VtZW50KSA/ICJQQVNTIiA6ICJGQUlMIik7CisgICAgICAgICsgKHBsdWdpbi5v
YmplY3RzQXJlU2FtZShkb2N1bWVudCwgZG9jdW1lbnQpICYmIHBsdWdpbjIub2JqZWN0c0FyZVNh
bWUoZG9jdW1lbnQsIGRvY3VtZW50KSA/ICJQQVNTIiA6ICJGQUlMIik7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkaXYpOwogfQogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179826</attachid>
            <date>2012-12-17 16:21:02 -0800</date>
            <delta_ts>2012-12-17 16:23:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104921-20121217161820.patch</filename>
            <type>text/plain</type>
            <size>4889</size>
            <attacher name="Matthew Dempsky">mdempsky</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzkzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEyLTE3ICBNYXR0aGV3
IERlbXBza3kgIDxtZGVtcHNreUBnb29nbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gY2F1
c2luZyBET00gb2JqZWN0cyB0byBoYXZlIHVuc3RhYmxlIE5QT2JqZWN0KiByZWZlcmVuY2VzIHdp
dGggdjggYmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2hhbmdlc2V0IDEzNTgwNCByZXN1
bHRpbmcgaW4KKyAgICAgICAgdW5zdGFibGUgTlBPYmplY3QqIHJlZmVyZW5jZXMgZm9yIHY4IG9i
amVjdHMuICBJbiB0aGUgaXRlciAhPQorICAgICAgICB2OE5QT2JqZWN0TWFwLT5lbmQoKSBjb2Rl
IHBhdGgsIG9iamVjdFZlY3RvciB3YXMgbGVmdCB1bmFzc2lnbmVkCisgICAgICAgIGlmIHRoZSBm
b3IgbG9vcCB0ZXJtaW5hdGVkIHdpdGhvdXQgcmV0dXJuaW5nLgorCisgICAgICAgIEFsc28sIFY4
T2JqZWN0OjpHZXRJZGVudGl0eUhhc2goKSBpcyBkb2N1bWVudGVkIGFzIG5vdCBiZWluZyBndWFy
YW50ZWVkCisgICAgICAgIGFzIHVuaXF1ZS4gIEFzIHN1Y2gsIGRvbid0IEFTU0VSVCgpIHRoYXQg
dHdvIG9iamVjdHMgd2l0aCB0aGUgc2FtZSBoYXNoCisgICAgICAgIG11c3QgdGhlcmVmb3IgYmUg
dGhlIHNhbWUgb2JqZWN0LgorCisgICAgICAgIFRlc3RzOiBwbHVnaW5zL25wcnVudGltZS9lbWJl
ZC1wcm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHkuaHRtbAorCisgICAgICAgICogYmluZGluZ3Mvdjgv
TlBWOE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpucENyZWF0ZVY4U2NyaXB0T2JqZWN0
KTogRml4LgorCiAyMDEyLTEyLTE3ICBBdmkgRHJpc3NtYW4gIDxhdmlAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIERyYWdnaW5nIGEgLmpwZyB0byBGaW5kZXIgc2F2ZXMgaXQgYXMgLmpwZWcKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCShyZXZpc2lvbiAx
Mzc5MzUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU1LDE2ICsxNTUsMTUgQEAgTlBPYmplY3QqIG5wQ3JlYXRlVjhTY3Jp
cHRPYmplY3QoTlBQIG5wcAogICAgICAgICAgICAgVjhOUE9iamVjdFZlY3RvciYgb2JqZWN0cyA9
IGl0ZXItPnZhbHVlOwogICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8
IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4KSB7CiAgICAgICAgICAgICAgICAgVjhOUE9iamVjdCog
djhucE9iamVjdCA9IG9iamVjdHMuYXQoaW5kZXgpOwotICAgICAgICAgICAgICAgIGlmICh2OG5w
T2JqZWN0LT5yb290T2JqZWN0ID09IHJvb3QpIHsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KHY4bnBPYmplY3QtPnY4T2JqZWN0ID09IG9iamVjdCk7CisgICAgICAgICAgICAgICAgaWYgKHY4
bnBPYmplY3QtPnY4T2JqZWN0ID09IG9iamVjdCAmJiB2OG5wT2JqZWN0LT5yb290T2JqZWN0ID09
IHJvb3QpIHsKICAgICAgICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QoJnY4bnBPYmpl
Y3QtPm9iamVjdCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PE5QT2JqZWN0Kj4odjhucE9iamVjdCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaXRlciA9IHY4TlBPYmplY3RNYXAtPnNl
dCh2OE9iamVjdEhhc2gsIFY4TlBPYmplY3RWZWN0b3IoKSkuaXRlcmF0b3I7Ci0gICAgICAgICAg
ICBvYmplY3RWZWN0b3IgPSAmaXRlci0+dmFsdWU7CiAgICAgICAgIH0KKyAgICAgICAgb2JqZWN0
VmVjdG9yID0gJml0ZXItPnZhbHVlOwogICAgIH0KICAgICBWOE5QT2JqZWN0KiB2OG5wT2JqZWN0
ID0gcmVpbnRlcnByZXRfY2FzdDxWOE5QT2JqZWN0Kj4oX05QTl9DcmVhdGVPYmplY3QobnBwLCAm
VjhOUE9iamVjdENsYXNzKSk7CiAgICAgdjhucE9iamVjdC0+djhPYmplY3QgPSB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pjo6TmV3KG9iamVjdCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzc5MzUp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBA
QAorMjAxMi0xMi0xNyAgTWF0aGV3IERlbXBza3kgIDxtZGVtcHNreUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJlZ3Jlc3Npb24gY2F1c2luZyBET00gb2JqZWN0cyB0byBoYXZlIHVuc3RhYmxlIE5Q
T2JqZWN0KiByZWZlcmVuY2VzIHdpdGggdjggYmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB2YXJpYW50IG9mIGVtYmVkLXByb3BlcnR5
LWVxdWFsaXR5IHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGhlCisgICAgICAgIHRlc3Qgc3RpbGwgcGFz
c2VzIHdoZW4gdGhlIG9iamVjdCBiZWluZyB0ZXN0ZWQgZm9yIGVxdWFsaXR5CisgICAgICAgIGhh
cyBhbHJlYWR5IGJlZW4gcmVtZW1iZXJlZCBieSBhIHBsdWdpbiBmcm9tIGEgZGlmZmVyZW50Cisg
ICAgICAgIEphdmFTY3JpcHQgY29udGV4dC4KKworICAgICAgICAqIHBsdWdpbnMvbnBydW50aW1l
L2VtYmVkLXByb3BlcnR5LWlmcmFtZS1lcXVhbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAxMi0xMi0xNyAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2Jl
LmNvbT4KIAogICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRz
IGZvciByZWN0YW5nbGUgc2hhcGVzIGhlaWdodC93aWR0aApJbmRleDogTGF5b3V0VGVzdHMvcGx1
Z2lucy9ucHJ1bnRpbWUvZW1iZWQtcHJvcGVydHktaWZyYW1lLWVxdWFsaXR5LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9w
ZXJ0eS1pZnJhbWUtZXF1YWxpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQtcHJvcGVydHktaWZyYW1lLWVxdWFsaXR5LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUZXN0IGVxdWFsaXR5IG9m
IHBsdWdpbiBvYmplY3QgcHJvcGVydGllcy4KKworCisKK1NlbmQgdHdvIHJlZmVyZW5jZXMgb2Yg
YSBKYXZhU2NyaXB0IG9iamVjdCB0byB0aGUgcGx1Z2luIGZvciBpZGVudGl0eSBjb21wYXJpc29u
IGluIEMrKyBQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9lbWJlZC1w
cm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHkuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsdWdpbnMvbnBydW50aW1lL2VtYmVkLXByb3BlcnR5
LWlmcmFtZS1lcXVhbGl0eS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8Ym9k
eT4KKzxwPlRlc3QgZXF1YWxpdHkgb2YgcGx1Z2luIG9iamVjdCBwcm9wZXJ0aWVzLjwvcD4KKzxl
bWJlZCBpZD0icGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBl
Ij48YnI+Cis8aWZyYW1lIHNyY2RvYz0iPHNjcmlwdD5wYXJlbnQucGx1Z2luLnJlbWVtYmVyKHBh
cmVudC5kb2N1bWVudCwgcGFyZW50LmRvY3VtZW50KTwvc2NyaXB0PiI+PC9pZnJhbWU+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworICAgIAord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciBwbHVnaW4gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGx1Z2luJyk7CisgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGRpdi50ZXh0Q29udGVudCA9ICJTZW5kIHR3byBy
ZWZlcmVuY2VzIG9mIGEgSmF2YVNjcmlwdCBvYmplY3QgdG8gdGhlIHBsdWdpbiBmb3IgaWRlbnRp
dHkgY29tcGFyaXNvbiBpbiBDKysgIiAKKyAgICAgICAgKyAocGx1Z2luLm9iamVjdHNBcmVTYW1l
KGRvY3VtZW50LCBkb2N1bWVudCkgPyAiUEFTUyIgOiAiRkFJTCIpOworICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZGl2KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179827</attachid>
            <date>2012-12-17 16:24:00 -0800</date>
            <delta_ts>2012-12-17 17:44:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104921-20121217162118.patch</filename>
            <type>text/plain</type>
            <size>4872</size>
            <attacher name="Matthew Dempsky">mdempsky</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzkzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEyLTE3ICBNYXR0aGV3
IERlbXBza3kgIDxtZGVtcHNreUBnb29nbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gY2F1
c2luZyBET00gb2JqZWN0cyB0byBoYXZlIHVuc3RhYmxlIE5QT2JqZWN0KiByZWZlcmVuY2VzIHdp
dGggdjggYmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2hhbmdlc2V0IDEzNTgwNCByZXN1
bHRpbmcgaW4KKyAgICAgICAgdW5zdGFibGUgTlBPYmplY3QqIHJlZmVyZW5jZXMgZm9yIHY4IG9i
amVjdHMuICBJbiB0aGUgaXRlciAhPQorICAgICAgICB2OE5QT2JqZWN0TWFwLT5lbmQoKSBjb2Rl
IHBhdGgsIG9iamVjdFZlY3RvciB3YXMgbGVmdCB1bmFzc2lnbmVkCisgICAgICAgIGlmIHRoZSBm
b3IgbG9vcCB0ZXJtaW5hdGVkIHdpdGhvdXQgcmV0dXJuaW5nLgorCisgICAgICAgIEFsc28sIFY4
T2JqZWN0OjpHZXRJZGVudGl0eUhhc2goKSBpcyBkb2N1bWVudGVkIGFzIG5vdCBiZWluZyBndWFy
YW50ZWVkCisgICAgICAgIGFzIHVuaXF1ZS4gIEFzIHN1Y2gsIGRvbid0IEFTU0VSVCgpIHRoYXQg
dHdvIG9iamVjdHMgd2l0aCB0aGUgc2FtZSBoYXNoCisgICAgICAgIG11c3QgdGhlcmVmb3IgYmUg
dGhlIHNhbWUgb2JqZWN0LgorCisgICAgICAgIFRlc3RzOiBwbHVnaW5zL25wcnVudGltZS9lbWJl
ZC1wcm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHkuaHRtbAorCisgICAgICAgICogYmluZGluZ3Mvdjgv
TlBWOE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpucENyZWF0ZVY4U2NyaXB0T2JqZWN0
KTogRml4LgorCiAyMDEyLTEyLTE3ICBBdmkgRHJpc3NtYW4gIDxhdmlAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIERyYWdnaW5nIGEgLmpwZyB0byBGaW5kZXIgc2F2ZXMgaXQgYXMgLmpwZWcKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCShyZXZpc2lvbiAx
Mzc5MzUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU1LDE2ICsxNTUsMTUgQEAgTlBPYmplY3QqIG5wQ3JlYXRlVjhTY3Jp
cHRPYmplY3QoTlBQIG5wcAogICAgICAgICAgICAgVjhOUE9iamVjdFZlY3RvciYgb2JqZWN0cyA9
IGl0ZXItPnZhbHVlOwogICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8
IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4KSB7CiAgICAgICAgICAgICAgICAgVjhOUE9iamVjdCog
djhucE9iamVjdCA9IG9iamVjdHMuYXQoaW5kZXgpOwotICAgICAgICAgICAgICAgIGlmICh2OG5w
T2JqZWN0LT5yb290T2JqZWN0ID09IHJvb3QpIHsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KHY4bnBPYmplY3QtPnY4T2JqZWN0ID09IG9iamVjdCk7CisgICAgICAgICAgICAgICAgaWYgKHY4
bnBPYmplY3QtPnY4T2JqZWN0ID09IG9iamVjdCAmJiB2OG5wT2JqZWN0LT5yb290T2JqZWN0ID09
IHJvb3QpIHsKICAgICAgICAgICAgICAgICAgICAgX05QTl9SZXRhaW5PYmplY3QoJnY4bnBPYmpl
Y3QtPm9iamVjdCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PE5QT2JqZWN0Kj4odjhucE9iamVjdCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaXRlciA9IHY4TlBPYmplY3RNYXAtPnNl
dCh2OE9iamVjdEhhc2gsIFY4TlBPYmplY3RWZWN0b3IoKSkuaXRlcmF0b3I7Ci0gICAgICAgICAg
ICBvYmplY3RWZWN0b3IgPSAmaXRlci0+dmFsdWU7CiAgICAgICAgIH0KKyAgICAgICAgb2JqZWN0
VmVjdG9yID0gJml0ZXItPnZhbHVlOwogICAgIH0KICAgICBWOE5QT2JqZWN0KiB2OG5wT2JqZWN0
ID0gcmVpbnRlcnByZXRfY2FzdDxWOE5QT2JqZWN0Kj4oX05QTl9DcmVhdGVPYmplY3QobnBwLCAm
VjhOUE9iamVjdENsYXNzKSk7CiAgICAgdjhucE9iamVjdC0+djhPYmplY3QgPSB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pjo6TmV3KG9iamVjdCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzc5MzUp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBA
QAorMjAxMi0xMi0xNyAgTWF0aGV3IERlbXBza3kgIDxtZGVtcHNreUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJlZ3Jlc3Npb24gY2F1c2luZyBET00gb2JqZWN0cyB0byBoYXZlIHVuc3RhYmxlIE5Q
T2JqZWN0KiByZWZlcmVuY2VzIHdpdGggdjggYmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB2YXJpYW50IG9mIGVtYmVkLXByb3BlcnR5
LWVxdWFsaXR5IHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGhlCisgICAgICAgIHRlc3Qgc3RpbGwgcGFz
c2VzIHdoZW4gdGhlIG9iamVjdCBiZWluZyB0ZXN0ZWQgZm9yIGVxdWFsaXR5CisgICAgICAgIGhh
cyBhbHJlYWR5IGJlZW4gcmVtZW1iZXJlZCBieSBhIHBsdWdpbiBmcm9tIGEgZGlmZmVyZW50Cisg
ICAgICAgIEphdmFTY3JpcHQgY29udGV4dC4KKworICAgICAgICAqIHBsdWdpbnMvbnBydW50aW1l
L2VtYmVkLXByb3BlcnR5LWlmcmFtZS1lcXVhbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAxMi0xMi0xNyAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2Jl
LmNvbT4KIAogICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRz
IGZvciByZWN0YW5nbGUgc2hhcGVzIGhlaWdodC93aWR0aApJbmRleDogTGF5b3V0VGVzdHMvcGx1
Z2lucy9ucHJ1bnRpbWUvZW1iZWQtcHJvcGVydHktaWZyYW1lLWVxdWFsaXR5LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9w
ZXJ0eS1pZnJhbWUtZXF1YWxpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQtcHJvcGVydHktaWZyYW1lLWVxdWFsaXR5LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUZXN0IGVxdWFsaXR5IG9m
IHBsdWdpbiBvYmplY3QgcHJvcGVydGllcy4KKworCisKK1NlbmQgdHdvIHJlZmVyZW5jZXMgb2Yg
YSBKYXZhU2NyaXB0IG9iamVjdCB0byB0aGUgcGx1Z2luIGZvciBpZGVudGl0eSBjb21wYXJpc29u
IGluIEMrKyBQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9lbWJlZC1w
cm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1pZnJhbWUtZXF1YWxpdHkuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsdWdpbnMvbnBydW50aW1lL2VtYmVkLXByb3BlcnR5
LWlmcmFtZS1lcXVhbGl0eS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8Ym9k
eT4KKzxwPlRlc3QgZXF1YWxpdHkgb2YgcGx1Z2luIG9iamVjdCBwcm9wZXJ0aWVzLjwvcD4KKzxl
bWJlZCBpZD0icGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBl
Ij48YnI+Cis8aWZyYW1lIHNyY2RvYz0iPHNjcmlwdD5wYXJlbnQucGx1Z2luLnJlbWVtYmVyKHBh
cmVudC5kb2N1bWVudCk8L3NjcmlwdD4iPjwvaWZyYW1lPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAKK3dpbmRvdy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgcGx1Z2luID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3BsdWdpbicpOworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKyAgICBkaXYudGV4dENvbnRlbnQgPSAiU2VuZCB0d28gcmVmZXJlbmNlcyBvZiBhIEph
dmFTY3JpcHQgb2JqZWN0IHRvIHRoZSBwbHVnaW4gZm9yIGlkZW50aXR5IGNvbXBhcmlzb24gaW4g
QysrICIgCisgICAgICAgICsgKHBsdWdpbi5vYmplY3RzQXJlU2FtZShkb2N1bWVudCwgZG9jdW1l
bnQpID8gIlBBU1MiIDogIkZBSUwiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>