Welcome! Log In Create A New Profile

Advanced

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Valentin V. Bartenev
March 27, 2014 07:10AM
On Thursday 27 March 2014 09:02:57 Xiaochen Wang wrote:
> hi
>
>
> On Thu, Mar 27, 2014 at 1:01 AM, Valentin V. Bartenev
<vbart@nginx.com>wrote:
>
> > On Wednesday 26 March 2014 12:30:11 Xiaochen Wang wrote:
> > > In our production, sometimes, the disk was full. In which case, the
> > requests
> > > after the POST request were handled wrongly in one spdy connection.
> > >
> > > Because the input body (DATA frame) of POST request could not be written
> > to disk,
> > > then ngx_http_spdy_state_read_data() tried to skip this DATA frame with
> > wrong
> > > sc->length, which broke spdy stream.
> > >
> > [..]
> >
> > While I agree that there's a problem with sc->length premature adjustment,
> > but
> > please note that the problem cannot be triggered by the way you described.
> >
> > The "pos" pointer is adjusted as well right before
> > ngx_write_chain_to_temp_file()
> > is called.
> >
>
> Yes, the pos pointer is right. But sc->length is not adjusted if it
> receives a complete DATA frame.
> Then ngx_http_spdy_state_skip() skips more data.
>
> ngx_http_spdy_state_read_data
> {
> ...
> if (size >= sc->length) {
> size = sc->length; <<< sc->length is not adjusted.
> complete = 1;
>
> } else {
> sc->length -= size;
> complete = 0;
> }
> ...
> }
>
>

Ah, ok, I thought about cases when sc->length is adjusted but *pos isn't,
but you are right there's also an opposite case.

wbr, Valentin V. Bartenev

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Xiaochen Wang 677 March 26, 2014 12:32AM

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Valentin V. Bartenev 244 March 26, 2014 03:04AM

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Xiaochen Wang 235 March 26, 2014 03:48AM

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Valentin V. Bartenev 306 March 28, 2014 12:12PM

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Valentin V. Bartenev 227 March 26, 2014 01:02PM

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Xiaochen Wang 246 March 26, 2014 09:04PM

Re: [PATCH] SPDY: fixed handling of sc->length in ngx_http_spdy_state_read_data()

Valentin V. Bartenev 266 March 27, 2014 07:10AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 128
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready