<?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>29100</bug_id>
          
          <creation_ts>2009-09-09 11:54:38 -0700</creation_ts>
          <short_desc>svn-apply can&apos;t handle single-line binary file additions</short_desc>
          <delta_ts>2009-09-22 10:05:26 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>28914</blocked>
    
    <blocked>29001</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>145880</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 11:54:38 -0700</bug_when>
    <thetext>REGRESSION: svn-apply exit(0) on patch failure

This is really bad, and means the commit-queue could land partial patches.  I think I will need to stop the queue until this is fixed.

Example:
&gt; curl --location &quot;https://bugs.webkit.org/attachment.cgi?id=39280&quot; | svn-apply 
patching file LayoutTests/ChangeLog
patching file LayoutTests/plugins/iframe-shims-expected.txt
patching file LayoutTests/plugins/iframe-shims.html
fatal: pathspec &apos;LayoutTests/plugins/resources/simple_blank.swf&apos; did not match any files
&gt; echo $?
0

It&apos;s possible this is not a regression and that my fix in http://trac.webkit.org/changeset/45153 was incomplete.

It&apos;s also possible this is a regression from http://trac.webkit.org/changeset/48027.

Will investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145883</commentid>
    <comment_count>1</comment_count>
      <attachid>39287</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 11:58:17 -0700</bug_when>
    <thetext>Created attachment 39287
reduced failing patch file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145920</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 14:10:08 -0700</bug_when>
    <thetext>Ok, looks like it&apos;s hitting the scmRemove case.  This is going down the handleBinaryChange codepath but:
    if ($contents =~ m#((\n[A-Za-z0-9+/]{76})+\n[A-Za-z0-9+/=]{4,76}\n)#) {
must be failing.

Probably because this has a Property change before the binary output.  I wonder if this is a valid patch file from svn-create-patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146060</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 18:46:47 -0700</bug_when>
    <thetext>Hit this again trying to land attachment 29065.  I&apos;ll try rolling out r48027 and see if it&apos;s related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148846</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 14:49:51 -0700</bug_when>
    <thetext>This reproduced for me by adding a binary file to my local svn checkout and running svn-apply:

&gt; cd WebKitSVN
&gt; curl -O &quot;http://www.google.com/logos/hgwells09.gif&quot;
&gt; svn add hgwells09.gif
&gt; svn-create-patch &gt; test.patch
&gt; svn-unapply test.patch
Reverted &apos;hgwells09.gif&apos;

&gt; svn-apply test.patch
svn: &apos;hgwells09.gif&apos; does not exist

Bad news bears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148851</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 14:54:04 -0700</bug_when>
    <thetext>I reverted my WebKitTools/Scripts directory to r42053 and the problem went away. :)  So this is definitely a recent regression.  Investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148862</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 15:08:24 -0700</bug_when>
    <thetext>OK.  I&apos;ve further reduced the issue.  My testing was in error before, I used a large .gif file for testing old revisions and a small one for new revisions.  It turns out that this issue is related to the size of the binary file rather than the revision of svn-apply/svn-create-patch we&apos;re using.

Still investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148867</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 15:21:57 -0700</bug_when>
    <thetext>Yeah, I expect it&apos;s newline troubles with:
    if ($contents =~ m#((\n[A-Za-z0-9+/]{76})+\n[A-Za-z0-9+/=]{4,76}\n)#) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148869</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 15:24:18 -0700</bug_when>
    <thetext>Yeah, the regexp simply fails for something as short as:

&quot;Q1dTBx0AAAB42itg4GlgYJjGwMDDyODMxMDw34GBgQEAJPQDJA==&quot;

if ($contents =~ m#((\n[A-Za-z0-9+/]{76})+\n[A-Za-z0-9+/=]{4,76}\n)#) {

Clearly expects multiple lines.  I&apos;m not quite sure what the regexp should be changed to yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148892</commentid>
    <comment_count>9</comment_count>
      <attachid>39892</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:28:30 -0700</bug_when>
    <thetext>Created attachment 39892
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148895</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:32:55 -0700</bug_when>
    <thetext>This patch fixes the application failure we were seeing, but does not fix the general issue of svn-apply exiting 0 when it should not.  I&apos;ve filed bug 29622 to track the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148898</commentid>
    <comment_count>11</comment_count>
      <attachid>39894</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:38:45 -0700</bug_when>
    <thetext>Created attachment 39894
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148900</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:46:58 -0700</bug_when>
    <thetext>Actually, I&apos;m not confident in these regexp changes.  I&apos;m not sure I like the design of guessing based on content.  Assuming we&apos;re entering this path only for binary patch fragments, then this is OK, otherwise we&apos;d match adding a file with just &quot;me&quot; as a base64 file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148901</commentid>
    <comment_count>13</comment_count>
      <attachid>39895</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:50:02 -0700</bug_when>
    <thetext>Created attachment 39895
Better patch, now using non-greedy matching</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148902</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 16:53:13 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Actually, I&apos;m not confident in these regexp changes.  I&apos;m not sure I like the
&gt; design of guessing based on content.  Assuming we&apos;re entering this path only
&gt; for binary patch fragments, then this is OK, otherwise we&apos;d match adding a file
&gt; with just &quot;me&quot; as a base64 file.

Looks like we only enter this for patch fragments marked as binary, so this should be OK.
        if ($isBinary) {
            # Binary change
            handleBinaryChange($fullPath, $patch);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148993</commentid>
    <comment_count>15</comment_count>
      <attachid>39895</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-22 02:40:17 -0700</bug_when>
    <thetext>Comment on attachment 39895
Better patch, now using non-greedy matching

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148994</commentid>
    <comment_count>16</comment_count>
      <attachid>39895</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-22 02:48:45 -0700</bug_when>
    <thetext>Comment on attachment 39895
Better patch, now using non-greedy matching

Clearing flags on attachment: 39895

Committed r48622: &lt;http://trac.webkit.org/changeset/48622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148995</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-22 02:48:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149081</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-22 10:05:26 -0700</bug_when>
    <thetext>Thanks Dave!  And thanks for setting cq+ even though I forgot to set cq?  I need to add a --commit-queue option to post-diff so I don&apos;t have to remember each time. :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39287</attachid>
            <date>2009-09-09 11:58:17 -0700</date>
            <delta_ts>2009-09-09 11:58:17 -0700</delta_ts>
            <desc>reduced failing patch file</desc>
            <filename>test.patch</filename>
            <type>text/plain</type>
            <size>452</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3NpbXBsZV9ibGFuay5zd2YKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3Zu
Om1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvc2ltcGxlX2JsYW5rLnN3ZgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgpR
MWRUQngwQUFBQjQyaXRnNEdsZ1lKakd3TUREeU9ETXhNRHczNEdCZ1FFQUpQUURKQT09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39892</attachid>
            <date>2009-09-21 16:28:30 -0700</date>
            <delta_ts>2009-09-21 16:38:33 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-29100-20090921162829.patch</filename>
            <type>text/plain</type>
            <size>3008</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA3NTIzM2NkLi5lMDYyN2FkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDkt
MjEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseSBjYW4ndCBoYW5kbGUgc2luZ2xl
LWxpbmUgYmluYXJ5IGZpbGUgYWRkaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTEwMAorCisgICAgICAgIEZpeGVkIHRoZSByZWdleHAgYW5k
IGFkZGVkIGEgdW5pdCB0ZXN0LgorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3NjbV91bml0
dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3N2bi1hcHBseToKKwogMjAwOS0wOS0xNyAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtX3Vu
aXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbV91bml0dGVzdC5weQpp
bmRleCAzYWRhNjZhLi45Y2EzMDhjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvc2NtX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9z
Y21fdW5pdHRlc3QucHkKQEAgLTI3LDYgKzI3LDcgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKK2ltcG9ydCBiYXNlNjQKIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3Rh
dApAQCAtMTk3LDYgKzE5OCwyNyBAQCBjbGFzcyBTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNjbS5kaXNwbGF5X25hbWUoKSwgInN2biIpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKSwgRmFsc2UpCiAKKyAgICBk
ZWYgdGVzdF9hcHBseV9zbWFsbF9iaW5hcnlfcGF0Y2goc2VsZik6CisgICAgICAgIHBhdGNoX2Nv
bnRlbnRzID0gIiIiSW5kZXg6IHRlc3RfZmlsZS5zd2YKKz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0Nhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgorc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQorCitQcm9wZXJ0eSBjaGFuZ2VzIG9uOiB0ZXN0X2ZpbGUuc3dm
CitfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCitOYW1lOiBzdm46bWltZS10eXBlCisgICArIGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQorCisKK1ExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dNRER5T0RNeE1EdzM0R0JnUUVB
SlBRREpBPT0KKyIiIgorICAgICAgICBleHBlY3RlZF9jb250ZW50cyA9IGJhc2U2NC5iNjRkZWNv
ZGUoIlExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dNRER5T0RNeE1EdzM0R0JnUUVBSlBRREpBPT0i
KQorICAgICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxpbmsoc2VsZi5z
Y20pCisgICAgICAgIHBhdGNoX2ZpbGUgPSBzZWxmLl9jcmVhdGVfcGF0Y2gocGF0Y2hfY29udGVu
dHMpCisgICAgICAgIHNlbGYuc2NtLmFwcGx5X3BhdGNoKHBhdGNoX2ZpbGUpCisgICAgICAgIGFj
dHVhbF9jb250ZW50cyA9IHJlYWRfZnJvbV9wYXRoKCJ0ZXN0X2ZpbGUuc3dmIikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfY29udGVudHMsIGV4cGVjdGVkX2NvbnRlbnRzKQorCiAg
ICAgZGVmIHRlc3RfYXBwbHlfc3ZuX3BhdGNoKHNlbGYpOgogICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLnN2bl9jaGVja291dF9wYXRoKQogICAgICAgICBwYXRjaCA9IHNlbGYu
X2NyZWF0ZV9wYXRjaChydW4oWydzdm4nLCAnZGlmZicsICctcjQ6MyddKSkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4t
YXBwbHkKaW5kZXggMGU1NjYxNi4uZTBiZWU3YiAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9zdm4tYXBwbHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKQEAgLTMz
Myw3ICszMzMsMTAgQEAgc3ViIGdpdGRpZmYyc3ZuZGlmZigkKQogc3ViIGhhbmRsZUJpbmFyeUNo
YW5nZSgkJCkKIHsKICAgICBteSAoJGZ1bGxQYXRoLCAkY29udGVudHMpID0gQF87Ci0gICAgaWYg
KCRjb250ZW50cyA9fiBtIygoXG5bQS1aYS16MC05Ky9dezc2fSkrXG5bQS1aYS16MC05Ky89XXs0
LDc2fVxuKSMpIHsKKyAgICAjIFtBLVphLXowLTkrL10gaXMgdGhlIGNsYXNzIG9mIGFsbG93ZWQg
YmFzZTY0IGNoYXJhY3RlcnMuCisgICAgIyBPbmUgb3IgbW9yZSBsaW5lcywgYXQgbW9zdCA3NiBj
aGFyYWN0ZXJzIGluIGxlbmd0aC4KKyAgICAjIFRoZSBsYXN0IGxpbmUgaXMgYWxsb3dlZCB0byBo
YXZlIHVwIHRvIHR3byAnPScgY2hhcmFjdGVycyBhdCB0aGUgZW5kICh0byBzaWduaWZ5IHBhZGRp
bmcpLgorICAgIGlmICgkY29udGVudHMgPX4gbSMoKFxuW0EtWmEtejAtOSsvXXs3Nn0pKlxuW0Et
WmEtejAtOSsvXXsyLDc0fVtBLVphLXowLTkrLz1dezJ9XG4pIykgewogICAgICAgICAjIEFkZGl0
aW9uIG9yIE1vZGlmaWNhdGlvbgogICAgICAgICBvcGVuIEZJTEUsICI+IiwgJGZ1bGxQYXRoIG9y
IGRpZTsKICAgICAgICAgcHJpbnQgRklMRSBkZWNvZGVfYmFzZTY0KCQxKTs=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39894</attachid>
            <date>2009-09-21 16:38:45 -0700</date>
            <delta_ts>2009-09-21 16:49:57 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-29100-20090921163844.patch</filename>
            <type>text/plain</type>
            <size>3010</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA3NTIzM2NkLi5lMDYyN2FkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDkt
MjEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseSBjYW4ndCBoYW5kbGUgc2luZ2xl
LWxpbmUgYmluYXJ5IGZpbGUgYWRkaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTEwMAorCisgICAgICAgIEZpeGVkIHRoZSByZWdleHAgYW5k
IGFkZGVkIGEgdW5pdCB0ZXN0LgorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3NjbV91bml0
dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3N2bi1hcHBseToKKwogMjAwOS0wOS0xNyAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtX3Vu
aXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbV91bml0dGVzdC5weQpp
bmRleCAzYWRhNjZhLi45Y2EzMDhjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvc2NtX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9z
Y21fdW5pdHRlc3QucHkKQEAgLTI3LDYgKzI3LDcgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKK2ltcG9ydCBiYXNlNjQKIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3Rh
dApAQCAtMTk3LDYgKzE5OCwyNyBAQCBjbGFzcyBTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNjbS5kaXNwbGF5X25hbWUoKSwgInN2biIpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKSwgRmFsc2UpCiAKKyAgICBk
ZWYgdGVzdF9hcHBseV9zbWFsbF9iaW5hcnlfcGF0Y2goc2VsZik6CisgICAgICAgIHBhdGNoX2Nv
bnRlbnRzID0gIiIiSW5kZXg6IHRlc3RfZmlsZS5zd2YKKz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0Nhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgorc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQorCitQcm9wZXJ0eSBjaGFuZ2VzIG9uOiB0ZXN0X2ZpbGUuc3dm
CitfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCitOYW1lOiBzdm46bWltZS10eXBlCisgICArIGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQorCisKK1ExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dNRER5T0RNeE1EdzM0R0JnUUVB
SlBRREpBPT0KKyIiIgorICAgICAgICBleHBlY3RlZF9jb250ZW50cyA9IGJhc2U2NC5iNjRkZWNv
ZGUoIlExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dNRER5T0RNeE1EdzM0R0JnUUVBSlBRREpBPT0i
KQorICAgICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxpbmsoc2VsZi5z
Y20pCisgICAgICAgIHBhdGNoX2ZpbGUgPSBzZWxmLl9jcmVhdGVfcGF0Y2gocGF0Y2hfY29udGVu
dHMpCisgICAgICAgIHNlbGYuc2NtLmFwcGx5X3BhdGNoKHBhdGNoX2ZpbGUpCisgICAgICAgIGFj
dHVhbF9jb250ZW50cyA9IHJlYWRfZnJvbV9wYXRoKCJ0ZXN0X2ZpbGUuc3dmIikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfY29udGVudHMsIGV4cGVjdGVkX2NvbnRlbnRzKQorCiAg
ICAgZGVmIHRlc3RfYXBwbHlfc3ZuX3BhdGNoKHNlbGYpOgogICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLnN2bl9jaGVja291dF9wYXRoKQogICAgICAgICBwYXRjaCA9IHNlbGYu
X2NyZWF0ZV9wYXRjaChydW4oWydzdm4nLCAnZGlmZicsICctcjQ6MyddKSkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4t
YXBwbHkKaW5kZXggMGU1NjYxNi4uNzA1YzNjMCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9zdm4tYXBwbHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKQEAgLTMz
Myw3ICszMzMsMTAgQEAgc3ViIGdpdGRpZmYyc3ZuZGlmZigkKQogc3ViIGhhbmRsZUJpbmFyeUNo
YW5nZSgkJCkKIHsKICAgICBteSAoJGZ1bGxQYXRoLCAkY29udGVudHMpID0gQF87Ci0gICAgaWYg
KCRjb250ZW50cyA9fiBtIygoXG5bQS1aYS16MC05Ky9dezc2fSkrXG5bQS1aYS16MC05Ky89XXs0
LDc2fVxuKSMpIHsKKyAgICAjIFtBLVphLXowLTkrL10gaXMgdGhlIGNsYXNzIG9mIGFsbG93ZWQg
YmFzZTY0IGNoYXJhY3RlcnMuCisgICAgIyBPbmUgb3IgbW9yZSBsaW5lcywgYXQgbW9zdCA3NiBj
aGFyYWN0ZXJzIGluIGxlbmd0aC4KKyAgICAjIFRoZSBsYXN0IGxpbmUgaXMgYWxsb3dlZCB0byBo
YXZlIHVwIHRvIHR3byAnPScgY2hhcmFjdGVycyBhdCB0aGUgZW5kICh0byBzaWduaWZ5IHBhZGRp
bmcpLgorICAgIGlmICgkY29udGVudHMgPX4gbSMoKFxuW0EtWmEtejAtOSsvXXs3Nn0pKlxuW0Et
WmEtejAtOSsvXXsyLDc0fVtBLVphLXowLTkrLz1dezAsMn1cbikjKSB7CiAgICAgICAgICMgQWRk
aXRpb24gb3IgTW9kaWZpY2F0aW9uCiAgICAgICAgIG9wZW4gRklMRSwgIj4iLCAkZnVsbFBhdGgg
b3IgZGllOwogICAgICAgICBwcmludCBGSUxFIGRlY29kZV9iYXNlNjQoJDEpOw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39895</attachid>
            <date>2009-09-21 16:50:02 -0700</date>
            <delta_ts>2009-09-22 02:48:44 -0700</delta_ts>
            <desc>Better patch, now using non-greedy matching</desc>
            <filename>bug-29100-20090921165000.patch</filename>
            <type>text/plain</type>
            <size>3009</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA3NTIzM2NkLi5lMDYyN2FkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDkt
MjEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseSBjYW4ndCBoYW5kbGUgc2luZ2xl
LWxpbmUgYmluYXJ5IGZpbGUgYWRkaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTEwMAorCisgICAgICAgIEZpeGVkIHRoZSByZWdleHAgYW5k
IGFkZGVkIGEgdW5pdCB0ZXN0LgorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3NjbV91bml0
dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3N2bi1hcHBseToKKwogMjAwOS0wOS0xNyAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtX3Vu
aXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3NjbV91bml0dGVzdC5weQpp
bmRleCAzYWRhNjZhLi45Y2EzMDhjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvc2NtX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9z
Y21fdW5pdHRlc3QucHkKQEAgLTI3LDYgKzI3LDcgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKK2ltcG9ydCBiYXNlNjQKIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3Rh
dApAQCAtMTk3LDYgKzE5OCwyNyBAQCBjbGFzcyBTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNjbS5kaXNwbGF5X25hbWUoKSwgInN2biIpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKSwgRmFsc2UpCiAKKyAgICBk
ZWYgdGVzdF9hcHBseV9zbWFsbF9iaW5hcnlfcGF0Y2goc2VsZik6CisgICAgICAgIHBhdGNoX2Nv
bnRlbnRzID0gIiIiSW5kZXg6IHRlc3RfZmlsZS5zd2YKKz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0Nhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgorc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQorCitQcm9wZXJ0eSBjaGFuZ2VzIG9uOiB0ZXN0X2ZpbGUuc3dm
CitfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCitOYW1lOiBzdm46bWltZS10eXBlCisgICArIGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQorCisKK1ExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dNRER5T0RNeE1EdzM0R0JnUUVB
SlBRREpBPT0KKyIiIgorICAgICAgICBleHBlY3RlZF9jb250ZW50cyA9IGJhc2U2NC5iNjRkZWNv
ZGUoIlExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dNRER5T0RNeE1EdzM0R0JnUUVBSlBRREpBPT0i
KQorICAgICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxpbmsoc2VsZi5z
Y20pCisgICAgICAgIHBhdGNoX2ZpbGUgPSBzZWxmLl9jcmVhdGVfcGF0Y2gocGF0Y2hfY29udGVu
dHMpCisgICAgICAgIHNlbGYuc2NtLmFwcGx5X3BhdGNoKHBhdGNoX2ZpbGUpCisgICAgICAgIGFj
dHVhbF9jb250ZW50cyA9IHJlYWRfZnJvbV9wYXRoKCJ0ZXN0X2ZpbGUuc3dmIikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfY29udGVudHMsIGV4cGVjdGVkX2NvbnRlbnRzKQorCiAg
ICAgZGVmIHRlc3RfYXBwbHlfc3ZuX3BhdGNoKHNlbGYpOgogICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLnN2bl9jaGVja291dF9wYXRoKQogICAgICAgICBwYXRjaCA9IHNlbGYu
X2NyZWF0ZV9wYXRjaChydW4oWydzdm4nLCAnZGlmZicsICctcjQ6MyddKSkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4t
YXBwbHkKaW5kZXggMGU1NjYxNi4uMTdhNmFiNCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9zdm4tYXBwbHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKQEAgLTMz
Myw3ICszMzMsMTAgQEAgc3ViIGdpdGRpZmYyc3ZuZGlmZigkKQogc3ViIGhhbmRsZUJpbmFyeUNo
YW5nZSgkJCkKIHsKICAgICBteSAoJGZ1bGxQYXRoLCAkY29udGVudHMpID0gQF87Ci0gICAgaWYg
KCRjb250ZW50cyA9fiBtIygoXG5bQS1aYS16MC05Ky9dezc2fSkrXG5bQS1aYS16MC05Ky89XXs0
LDc2fVxuKSMpIHsKKyAgICAjIFtBLVphLXowLTkrL10gaXMgdGhlIGNsYXNzIG9mIGFsbG93ZWQg
YmFzZTY0IGNoYXJhY3RlcnMuCisgICAgIyBPbmUgb3IgbW9yZSBsaW5lcywgYXQgbW9zdCA3NiBj
aGFyYWN0ZXJzIGluIGxlbmd0aC4KKyAgICAjIFRoZSBsYXN0IGxpbmUgaXMgYWxsb3dlZCB0byBo
YXZlIHVwIHRvIHR3byAnPScgY2hhcmFjdGVycyBhdCB0aGUgZW5kICh0byBzaWduaWZ5IHBhZGRp
bmcpLgorICAgIGlmICgkY29udGVudHMgPX4gbSMoKFxuW0EtWmEtejAtOSsvXXs3Nn0pKlxuW0Et
WmEtejAtOSsvXXsyLDc0fT9bQS1aYS16MC05Ky89XXsyfVxuKSMpIHsKICAgICAgICAgIyBBZGRp
dGlvbiBvciBNb2RpZmljYXRpb24KICAgICAgICAgb3BlbiBGSUxFLCAiPiIsICRmdWxsUGF0aCBv
ciBkaWU7CiAgICAgICAgIHByaW50IEZJTEUgZGVjb2RlX2Jhc2U2NCgkMSk7
</data>

          </attachment>
      

    </bug>

</bugzilla>