[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