Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.8.34
Hello!
On Wed, Mar 03, 2010 at 11:04:17PM +0300, Igor Sysoev wrote:
> On Wed, Mar 03, 2010 at 10:58:19PM +0300, Maxim Dounin wrote:
>
> > Hello!
> >
> > On Wed, Mar 03, 2010 at 10:48:10PM +0300, Igor Sysoev wrote:
> >
> > > On Wed, Mar 03, 2010 at 10:46:05PM +0300, Igor Sysoev wrote:
> > >
> > > > On Wed, Mar 03, 2010 at 09:36:56PM +0300, Vladimir Sopot wrote:
> > > >
> > > > > Приветствую!
> > > > >
> > > > > А для проблемки c memcached
> > > > > (http://www.lexa.ru/nginx-ru/msg32094.html) снова надо будет
> > > > > накатывать патч?
> > > >
> > > > Пока да. Мне нужно
> > > > 1) воспроизвести ошибку на 0.6.14
> > >
> > > Вернее, воспроизвести ту ошибку на 0.6.13, которая была пофикшена в
> > > 0.6.14.
> >
> > Вроде ж я ещё тогда тест нарисовал и вроде даже ссылку на него
> > давал, нет?
> >
> > http://mdounin.ru/hg/nginx-tests/rev/25047dc6ae9b
> >
> > Или ты обязательно хочешь с бесконечным циклом во writer'е?
>
> Да, мне нужно убедиться, что твой патч фиксит обе баги.
Ну я вроде бы объяснил - это одна и та же бага, только результаты
на выходе разные. Бесконечный цикл возникает когда на выход
отправляется буфер отрицательного размера. А до кода чтения
остатков trailer'а там вообще дело не доходит, он в 0.6.13 был
правильный (почти - выход всё-таки лучше делать).
Но если очень хочется - почему нет? Только в test suite я это
включать не буду, он у меня глупый и SIGKILL'ом убежавшие
процессы бить не умеет. :)
Тест прилагается.
На 0.6.13 даёт цикл:
2010/03/04 03:27:14 [debug] 45924#0: *1 memcached filter bytes:2006 size:4016
length:2015 rest:7
2010/03/04 03:27:14 [error] 45924#0: *1 memcached sent invalid trailer while
reading upstream, client: 127.0.0.1, server: loc
alhost, URL: "/", upstream: "memcached://127.0.0.1:8081", host: "localhost"
2010/03/04 03:27:14 [debug] 45924#0: *1 http output filter "/?"
2010/03/04 03:27:14 [debug] 45924#0: *1 copy filter: "/?"
2010/03/04 03:27:14 [debug] 45924#0: *1 http postpone filter "/?" 080F19C8
2010/03/04 03:27:14 [debug] 45924#0: *1 http postpone filter out "/?"
2010/03/04 03:27:14 [debug] 45924#0: *1 write old buf t:0 f:0 00000000, pos
080F6400, size: 986 file: 0, size: 0
2010/03/04 03:27:14 [debug] 45924#0: *1 write new buf t:0 f:0 00000000, pos
080F67DA, size: -2 file: 0, size: 0
...
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 984 of 984
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 0 of 0
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 0 of 0
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 0 of 0
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 0 of 0
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 0 of 0
2010/03/04 03:27:14 [debug] 45924#0: *1 writev: 0 of 0
...
На 0.8.34 без патча - цикла нет, но есть ругань на invalid trailer
при его дочитывании:
...
2010/03/04 03:31:22 [debug] 45970#0: *1 recv: eof:0, avail:4, err:0
2010/03/04 03:31:22 [debug] 45970#0: *1 recv: fd:8 4 of 7
2010/03/04 03:31:22 [error] 45970#0: *1 memcached sent invalid trailer while
reading upstream, client: 127.0.0.1, server: loc
alhost, request: "GET / HTTP/1.0", upstream: "memcached://127.0.0.1:8081",
host: "localhost"
...
На 0.8.34 с патчем - ни циклов, ни ругани.
Maxim Dounin
Attachment:
memcached-fake-big.t
Description: Troff document
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|