[PATCH] http_request: fix a segmentation fault
Igor Sysoev
is at rambler-co.ru
Thu May 28 14:39:23 MSD 2009
On Thu, May 28, 2009 at 02:07:02PM +0400, Kirill A. Korinskiy wrote:
> At Thu, 28 May 2009 08:55:18 +0400,
> Igor Sysoev <is at rambler-co.ru> wrote:
> >
> > On Thu, May 28, 2009 at 08:43:24AM +0400, Igor Sysoev wrote:
> >
> > > Я пару раз наблюдал nginx в ситуации low memory и каждый раз он работал
> > > продолжительное время без падений (это не относится к nginx'у с перловым
> > > модулем, потому что перл в таких случаях падает очень легко).
> > >
> > > На самом деле, в этом месте проверки косметические, потому что выделения
> > > небольшие и делаются из только что выделенного пула, в котором по
> > > умолчанию 16К. Поэтому, чтобы уронить nginx в этом месте, нужно или создать
> > > около 1000 (для amd64) переменных в конфиге для дефолтного request_pool_size,
> > > или уменьшать пул: для 4K понадобится 250 переменных, что тоже не мало.
> >
> > Вернее, для 16К пула нужно тоже 250 переменных, а не 1000.
>
> собственно на этом месте оно у меня и бабахнуло.
То есть, в конфигурации было описано 250 переменных ?
> Т.е. это граничная ситуация, ага, до которой мало кто доберется. Но
> все-таки иметь даже ??косметические?? проверки которые дают сегфол ??? это
> не хорошо.
>
> Т.е. если сюда попасть нельзя, даже теоретически, то зачем там
> условие? А если можно ??? то все-таки нужно иметь корректную обработку.
Я согласен, что проверка там нужна и должно быть правильное завершение,
но на практике я такой ситуации просто не видел.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list