[PATCH] http_request: fix a segmentation fault
Kirill A. Korinskiy
catap+nginx at catap.ru
Thu May 28 14:07:02 MSD 2009
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.
>
собственно на этом месте оно у меня и бабахнуло.
Т.е. это граничная ситуация, ага, до которой мало кто доберется. Но
все-таки иметь даже «косметические» проверки которые дают сегфол — это
не хорошо.
Т.е. если сюда попасть нельзя, даже теоретически, то зачем там
условие? А если можно — то все-таки нужно иметь корректную обработку.
--
wbr, Kirill
More information about the nginx-ru
mailing list