Re: [bug] coredump при нефункционирующем resolver'е
Maxim Dounin
mdounin на mdounin.ru
Вт Окт 19 16:26:22 MSD 2010
Hello!
On Tue, Oct 19, 2010 at 02:55:00PM +0400, Alexandre Snarskii wrote:
>
> Hi!
>
> nginx/0.8.52, соответствующая часть конфига:
>
> location ~* http://(.*):([0-9]+) {
> internal;
> resolver 127.0.0.1;
> proxy_pass http://$1:$2/$request_uri$is_args$args;
> proxy_redirect .....;
> }
>
> на этот location идет переход из fastcgi_pass (весь вывод которого
> X-Accel-Redirect: http://<censored.a.bit>:80). Если named на localhost'е
> работает - все прекрасно, но если его опустить (/etc/rc.d/named stop) -
> получаем корку:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0804d710 in ngx_log_error_core (level=4, log=0x28511354, err=61,
> fmt=0x80dcb7b "recv() failed") at src/core/ngx_log.c:93
> 93 if (log->file->fd == NGX_INVALID_FILE) {
> (gdb) p log
> $1 = (ngx_log_t *) 0x28511354
> (gdb) p log->file
> $2 = (ngx_open_file_t *) 0x0
[...]
Угу, это уже обсуждалось:
http://nginx.org/pipermail/nginx/2010-September/022392.html
Анализ проблемы там правильный, но патч негодный. Workaround -
явно определить error_log на глобальном уровне.
Как будет время - я посмотрю как пофиксить правильно.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru