Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: nginx-0.6.23
Hello Denis,
Thursday, December 27, 2007, 11:32:59 PM, you wrote:
> Hello Igor,
> Thursday, December 27, 2007, 9:37:28 PM, you wrote:
>> Изменения в nginx 0.6.23 27.12.2007
>> *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
>> параметр используется по умолчанию.
>> *) Исправление: оптимизация использования 16K буфера для
>> SSL-соединения.
>> Спасибо Ben Maurer.
>> *) Исправление: при использовании HTTPS запросы могли завершаться с
>> ошибкой "bad write retry"; ошибка появилась в 0.5.13.
> обновился до сабжа, регулярно получаю корки:
> #0 0x080665c9 in ngx_ssl_free_buffer (c=0xb7e119f0)
> at src/event/ngx_event_openssl.c:999
> 999 if (ngx_pfree(c->pool, c->ssl->buf->start) == NGX_OK) {
> (gdb) bt
> #0 0x080665c9 in ngx_ssl_free_buffer (c=0xb7e119f0)
> at src/event/ngx_event_openssl.c:999
> #1 0x080711ed in ngx_http_set_keepalive (r=0x83c6b60)
> at src/http/ngx_http_request.c:2121
> #2 0x080705c0 in ngx_http_finalize_request (r=0x83c6b60, rc=0)
> at src/http/ngx_http_request.c:1743
> #3 0x08069af6 in ngx_http_core_content_phase (r=0x83c6b60, ph=0x835d9b8)
> at src/http/ngx_http_core_module.c:995
> #4 0x080694b1 in ngx_http_core_run_phases (r=0x83c6b60)
> at src/http/ngx_http_core_module.c:707
> #5 0x08069477 in ngx_http_handler (r=0x83c6b60)
> at src/http/ngx_http_core_module.c:690
> #6 0x0806ff1c in ngx_http_process_request (r=0x83c6b60)
> at src/http/ngx_http_request.c:1460
> #7 0x0806f29f in ngx_http_process_request_headers (rev=0x83c794c)
> at src/http/ngx_http_request.c:942
> #8 0x0806ee52 in ngx_http_process_request_line (rev=0xb7da67b0)
> at src/http/ngx_http_request.c:750
> #9 0x08064990 in ngx_epoll_process_events (cycle=0x80b9c58, timer=500,
> flags=Variable "flags" is not available.
> )
> at src/event/modules/ngx_epoll_module.c:521
> #10 0x0805ba06 in ngx_process_events_and_timers (cycle=0x80b9c58)
> at src/event/ngx_event.c:245
> #11 0x0806299f in ngx_worker_process_cycle (cycle=0x80b9c58, data=0x0)
> at src/os/unix/ngx_process_cycle.c:767
> #12 0x08060d51 in ngx_spawn_process (cycle=0x80b9c58,
> proc=0x80628dc <ngx_worker_process_cycle>, data=0x0,
> name=0x809745f "worker process", respawn=1)
> at src/os/unix/ngx_process.c:187
> #13 0x08062646 in ngx_reap_children (cycle=0x80b9c58)
> at src/os/unix/ngx_process_cycle.c:569
> #14 0x08061ccf in ngx_master_process_cycle (cycle=0x80b9c58)
> at src/os/unix/ngx_process_cycle.c:162
> #15 0x0804b682 in main (argc=1, argv=0xbffb6ae4) at src/core/nginx.c:355
> дебаг лог в аттаче.
еще
(gdb) p c
$5 = (ngx_connection_t *) 0xb7e199e8
(gdb) p c->pool->large
$6 = (ngx_pool_large_t *) 0x837c97c
(gdb) p c->pool->large->alloc
$7 = (void *) 0x0
(gdb) p c->ssl->buf->start
$8 = (u_char *) 0x0
и как раз условие выполняется:
ngx_int_t
ngx_pfree(ngx_pool_t *pool, void *p)
{
ngx_pool_large_t *l;
for (l = pool->large; l; l = l->next) {
/*
* Вот здесь
*/
if (p == l->alloc) {
ngx_log_debug1(NGX_LOG_DEBUG_ALLOC, pool->log, 0,
"free: %p", l->alloc);
ngx_free(l->alloc);
l->alloc = NULL;
return NGX_OK;
}
}
return NGX_DECLINED;
}
--
Best regards,
Denis mailto:denis@xxxxxxxxxx
|