nginx-0.5.32 crashed

Igor Sysoev is at rambler-co.ru
Thu Oct 18 15:03:41 MSD 2007


On Thu, Oct 18, 2007 at 02:48:21PM +0400, Denis Erygin wrote:

> >Одновременно: все подзапросы используют пул основного запроса
> 
> Я правильно понимаю, что если в подзапросе (r != r->main) выделить
> память ngx_pcalloc(r->pool, ...), то при (r == r->main) эта память будет 
> еще доступна/валидна?

Да.

> ----- Original Message ----- 
> From: "Igor Sysoev" <is at rambler-co.ru>
> To: <nginx-ru at sysoev.ru>
> Sent: Thursday, October 18, 2007 2:06 PM
> Subject: Re: nginx-0.5.32 crashed
> 
> 
> On Thu, Oct 18, 2007 at 02:01:03PM +0400, Denis Erygin wrote:
> 
> >Есть следующие вопросы по времени жизни ngx_http_request_t: r и r->main
> >
> >1) Когда вызываетс ngx_destroy_pool для r и когда для r->main?
> 
> Одновременно: все подзапросы используют пул основного запроса.
> 
> >Вот что удалось вытащить последним valgrind-ом:
> >
> >Invalid read of size 1
> >at 0x807430F: ngx_http_upstream_process_body (ngx_http_upstream.c:1988)
> >by 0x80738DB: ngx_http_upstream_send_response (ngx_http_upstream.c:1629)
> >by 0x8072FD9: ngx_http_upstream_process_header (ngx_http_upstream.c:1247)
> >by 0x8060A83: ngx_kqueue_process_events (ngx_kqueue_module.c:664)
> >Address 0x41F6A6C5 is 1873 bytes inside a block of size 4096 free'd
> >at 0x3C034687: free (in /usr/local/lib/valgrind/vgpreload_memcheck.so)
> >by 0x804C260: ngx_destroy_pool (ngx_palloc.c:75)
> >by 0x806A472: ngx_http_request_done (ngx_http_request.c:2490)
> >by 0x806A2B6: ngx_http_close_request (ngx_http_request.c:2410)
> >
> >Тут или отправка освобожденных данных после ngx_destroy_pool
> >или нарушена целостность пула (хотя дампы на ngx_destroy_pool не 
> >указывают),
> >так что скорее первое.
> >
> >
> >
> >
> >
> 
> -- 
> Игорь Сысоев
> http://sysoev.ru
> 
> 

-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list