[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