Forum: NGINX SPDY patch not applying cleanly.

Posted by "António P. P. Almeida" <appa@perusio.net> (Guest)
on 2013-03-11 01:43
(Received via mailing list)
Hello,

Apparently the SPDY patch doesn't apply cleanly to 1.3.14. See the
results below for the offending files.

I suppose that the patch should apply cleanly to the "dev" branch?

Thanks,
--- appa

|# HG changeset patch
|# User Valentin Bartenev <vbart@nginx.com>
|# Date 1362681099 -14400
|# Node ID b2981903b9bd996870a870b78a1409dbb9d4f528
|# Parent  3dc1c0a21acbd7c0ed843c25f3cabb1879ae3480
|Respect the new behavior of TCP_DEFER_ACCEPT.
|
|In Linux 2.6.32, TCP_DEFER_ACCEPT was changed to accept connections
|after the deferring period is finished without any data available.
|(Reading from the socket returns EAGAIN in this case.)
|
|Since in nginx TCP_DEFER_ACCEPT is set to "post_accept_timeout", we
|do not need to wait longer if deferred accept returns with no data.
|
|diff -r 3dc1c0a21acb -r b2981903b9bd src/http/ngx_http_request.c
|--- a/src/http/ngx_http_request.c  Thu Mar 07 22:31:30 2013 +0400
|+++ b/src/http/ngx_http_request.c  Thu Mar 07 22:31:39 2013 +0400
--------------------------
Patching file src/http/ngx_http_request.c using Plan A...
Hunk #1 FAILED at 416.
Hunk #2 succeeded at 540 (offset -77 lines).
1 out of 2 hunks FAILED -- saving rejects to file 
src/http/ngx_http_request.c.rej

--------------------------
|# HG changeset patch
|# User Valentin Bartenev <vbart@nginx.com>
|# Date 1362681142 -14400
|# Node ID 4fddad5dfe0a97bd6a48412fb4b1e8be0016f900
|# Parent  d0a841d5f19a2ef2d9e15c52ccfb76774413c59b
|Refactored ngx_http_init_request().
|
|Now it can be used as the request object factory with minimal impact on the
|connection object.  Therefore it was renamed to ngx_http_create_request().
|
|diff -r d0a841d5f19a -r 4fddad5dfe0a src/http/ngx_http_request.c
|--- a/src/http/ngx_http_request.c  Tue Oct 30 16:14:21 2012 +0400
|+++ b/src/http/ngx_http_request.c  Thu Mar 07 22:32:22 2013 +0400
--------------------------
Patching file src/http/ngx_http_request.c using Plan A...
Hunk #1 FAILED at 11.
Hunk #2 FAILED at 466.
Hunk #3 FAILED at 483.
Hunk #4 succeeded at 392 (offset -101 lines).
Hunk #5 succeeded at 434 (offset -91 lines).
Hunk #6 FAILED at 540.
Hunk #7 succeeded at 492 (offset -90 lines).
Hunk #8 succeeded at 2612 (offset -99 lines).
Hunk #9 FAILED at 2759.
Hunk #10 FAILED at 3008.
6 out of 10 hunks FAILED -- saving rejects to file 
src/http/ngx_http_request.c.rej

--------------------------
|# HG changeset patch
|# User Valentin Bartenev <vbart@nginx.com>
|# Date 1362683272 -14400
|# Node ID 5d86db8e27827ad1f2ff4ebc560ecb95372e43e3
|# Parent  69a3b3c0751ce2ed8c3eb2580c37027db7f2817e
|Allow to reuse connections that wait their first request.
|
|This should improve behavior under deficiency of connections.
|
|diff -r 69a3b3c0751c -r 5d86db8e2782 src/http/ngx_http_request.c
|--- a/src/http/ngx_http_request.c  Thu Mar 07 22:32:46 2013 +0400
|+++ b/src/http/ngx_http_request.c  Thu Mar 07 23:07:52 2013 +0400
--------------------------
Patching file src/http/ngx_http_request.c using Plan A...
Hunk #1 succeeded at 353 (offset -1 lines).
Hunk #2 succeeded at 388 with fuzz 2 (offset 3 lines).
Hunk #3 FAILED at 439.
Hunk #4 FAILED at 473.
Hunk #5 succeeded at 538 (offset -80 lines).
Hunk #6 succeeded at 593 (offset -89 lines).
Hunk #7 FAILED at 728.
3 out of 7 hunks FAILED -- saving rejects to file 
src/http/ngx_http_request.c.rej

--------------------------
|diff -r c487eaf83bb7 -r 3e63aa2c08b7 src/http/modules/ngx_http_ssl_module.c
|--- a/src/http/modules/ngx_http_ssl_module.c  Thu Mar 07 23:08:05 2013 +0400
|+++ b/src/http/modules/ngx_http_ssl_module.c  Sun Mar 10 21:23:04 2013 +0400
--------------------------
Patching file src/http/modules/ngx_http_ssl_module.c using Plan A...
Hunk #1 FAILED at 275.
1 out of 1 hunk FAILED -- saving rejects to file 
src/http/modules/ngx_http_ssl_module.c.rej

--------------------------
|diff -r c487eaf83bb7 -r 3e63aa2c08b7 src/http/ngx_http_request.c
|--- a/src/http/ngx_http_request.c  Thu Mar 07 23:08:05 2013 +0400
|+++ b/src/http/ngx_http_request.c  Sun Mar 10 21:23:04 2013 +0400
--------------------------
Patching file src/http/ngx_http_request.c using Plan A...
Hunk #1 FAILED at 11.
Hunk #2 succeeded at 30 (offset -1 lines).
Hunk #3 succeeded at 38 (offset -1 lines).
Hunk #4 succeeded at 51 (offset -1 lines).
Hunk #5 succeeded at 310 with fuzz 1 (offset -1 lines).
Hunk #6 FAILED at 487.
Hunk #7 FAILED at 726.
Hunk #8 succeeded at 1574 (offset -108 lines).
Hunk #9 succeeded at 1644 (offset -108 lines).
Hunk #10 succeeded at 1982 (offset -108 lines).
Hunk #11 succeeded at 2321 (offset -108 lines).
Hunk #12 succeeded at 2382 (offset -108 lines).
Hunk #13 succeeded at 2535 (offset -108 lines).
Hunk #14 succeeded at 3157 (offset -134 lines).
Hunk #15 succeeded at 3252 (offset -134 lines).
Hunk #16 succeeded at 3270 (offset -134 lines).
3 out of 16 hunks FAILED -- saving rejects to file 
src/http/ngx_http_request.c.rej

--------------------------
|diff -r c487eaf83bb7 -r 3e63aa2c08b7 src/http/ngx_http_request.h
|--- a/src/http/ngx_http_request.h  Thu Mar 07 23:08:05 2013 +0400
|+++ b/src/http/ngx_http_request.h  Sun Mar 10 21:23:04 2013 +0400
Posted by Valentin V. Bartenev (Guest)
on 2013-03-11 01:59
(Received via mailing list)
On Monday 11 March 2013 04:42:36 Antnio P. P. Almeida wrote:
> Hello,
>
> Apparently the SPDY patch doesn't apply cleanly to 1.3.14. See the
> results below for the offending files.
[...]

You're probably doing something wrong. I've just checked it myself:

% wget -q http://nginx.org/download/nginx-1.3.14.tar.gz
% tar xzf nginx-1.3.14.tar.gz
% cd nginx-1.3.14
% wget -q http://nginx.org/patches/spdy/patch.spdy.txt
% patch -p1 < patch.spdy.txt
patching file src/http/ngx_http_request.c
patching file src/http/ngx_http_request.c
patching file src/http/ngx_http_request.c
patching file src/core/ngx_connection.c
patching file src/core/ngx_connection.h
patching file src/http/ngx_http_request.c
patching file src/http/ngx_http_upstream.c
patching file src/http/ngx_http_request.c
patching file src/http/ngx_http_request.h
patching file src/http/modules/ngx_http_ssl_module.c
patching file src/http/modules/ngx_http_gzip_filter_module.c
patching file src/http/ngx_http_request.c
patching file src/core/ngx_connection.c
patching file src/event/ngx_event.c
patching file src/event/ngx_event.h
patching file src/http/modules/ngx_http_stub_status_module.c
patching file auto/modules
patching file auto/options
patching file auto/sources
patching file src/http/modules/ngx_http_ssl_module.c
patching file src/http/ngx_http.c
patching file src/http/ngx_http.h
patching file src/http/ngx_http_core_module.c
patching file src/http/ngx_http_core_module.h
patching file src/http/ngx_http_parse.c
patching file src/http/ngx_http_request.c
patching file src/http/ngx_http_request.h
patching file src/http/ngx_http_request_body.c
patching file src/http/ngx_http_spdy.c
patching file src/http/ngx_http_spdy.h
patching file src/http/ngx_http_spdy_filter_module.c
patching file src/http/ngx_http_spdy_module.c
patching file src/http/ngx_http_spdy_module.h
patching file src/http/ngx_http_upstream.c

No errors.

  wbr, Valentin V. Bartenev

--
http://nginx.org/en/donation.html
Posted by "António P. P. Almeida" <appa@perusio.net> (Guest)
on 2013-03-11 02:19
(Received via mailing list)
On 11 Mar 2013 01h58 CET, vbart@nginx.com wrote:

> You're probably doing something wrong. I've just checked it myself:

I just reproduced all your commands below with the same result. I.e.,
no clean application, with rejection of some hunks :(

--- appa
Posted by Valentin V. Bartenev (Guest)
on 2013-03-11 03:17
(Received via mailing list)
On Monday 11 March 2013 05:18:44 Antnio P. P. Almeida wrote:
> On 11 Mar 2013 01h58 CET, vbart@nginx.com wrote:
> > You're probably doing something wrong. I've just checked it myself:
> I just reproduced all your commands below with the same result. I.e.,
> no clean application, with rejection of some hunks :(
>

Please, verify the patch file:

% md5sum patch.spdy.txt
a5cb5cb3fc8a8e04efb62b2f8f48a5ac  patch.spdy.txt

% shasum patch.spdy.txt
1a9ffddffbde0812b67eaca91a22ff0aa17293cc  patch.spdy.txt

Also, note that "patch --dry-run" (or "patch -C" in BSD world) does
not work with multiple patches in one file.

  wbr, Valentin V. Bartenev

--
http://nginx.org/en/donation.html
Posted by Maxim Konovalov (Guest)
on 2013-03-11 08:32
(Received via mailing list)
On 3/11/13 5:18 AM, Antnio P. P. Almeida wrote:
>> % tar xzf nginx-1.3.14.tar.gz
>> % cd nginx-1.3.14
>> % wget -q http://nginx.org/patches/spdy/patch.spdy.txt
>> % patch -p1 < patch.spdy.txt

Works just fine here.

--
Maxim Konovalov
+7 (910) 4293178
http://nginx.com/services.html
Posted by "António P. P. Almeida" <appa@perusio.net> (Guest)
on 2013-03-11 23:27
(Received via mailing list)
On 11 Mar 2013 03h17 CET, vbart@nginx.com wrote:

> Please, verify the patch file:
>
> % md5sum patch.spdy.txt
> a5cb5cb3fc8a8e04efb62b2f8f48a5ac  patch.spdy.txt
>
> % shasum patch.spdy.txt
> 1a9ffddffbde0812b67eaca91a22ff0aa17293cc  patch.spdy.txt
>
> Also, note that "patch --dry-run" (or "patch -C" in BSD world) does
> not work with multiple patches in one file.

That was the issue. It works perfectly without the dry run.

Thanks,
--- appa
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.