Re: SIGSEGV в ngx_create_full_path()

Maxim Dounin mdounin на mdounin.ru
Чт Авг 19 10:14:19 MSD 2010


Hello!

On Wed, Aug 18, 2010 at 06:08:31PM +0400, Victor Antonovich wrote:

> Всем привет!
> 
> Имеем: nginx 0.7.67 на Centos 5.5 i386.
> 
> После добавления в конфиг WEBDAV-location'а:
> 
> location /obr {
>   allow 127.0.0.1;
>   allow 192.168.1.0/24;
>   deny all;
>   alias /usr/local/cruisecontrol/data/m2/repository;
>   dav_methods PUT DELETE MKCOL COPY MOVE;
>   create_full_put_path on;
>   dav_access group:rw all:r;
> }
> 
> в error.log'е стали появляться сообщения:
> 
> 2010/08/18 17:41:18 [alert] 9744#0: worker process 9746 exited on signal
> 11 (core dumped)
> 2010/08/18 17:41:18 [notice] 9744#0: start worker process 9761
> 2010/08/18 17:41:18 [notice] 9744#0: signal 29 (SIGIO) received
> 2010/08/18 17:41:22 [notice] 9744#0: signal 17 (SIGCHLD) received
> 2010/08/18 17:41:22 [alert] 9744#0: worker process 9758 exited on signal
> 11 (core dumped)
> 2010/08/18 17:41:22 [notice] 9744#0: start worker process 9769
> 2010/08/18 17:41:22 [notice] 9744#0: signal 29 (SIGIO) received
> 2010/08/18 17:41:23 [notice] 9744#0: signal 17 (SIGCHLD) received
> 2010/08/18 17:41:23 [alert] 9744#0: worker process 9761 exited on signal
> 11 (core dumped)
> 
> Анализ бектрейса показал следующую картинку:
> 
> #0  0x0805afb4 in ngx_create_full_path (dir=0x4 <Address 0x4 out of
> bounds>, access=3219832880) at src/core/ngx_file.c:194
> #1  0x0809ca0e in ngx_http_dav_copy_move_handler (r=0x80d4aa0) at
> src/http/modules/ngx_http_dav_module.c:778
> #2  0x08082f78 in ngx_http_test_expect (r=0x90fac44) at
> src/http/ngx_http_request_body.c:612
> #3  0x0809c5e2 in lstat (r=0x90b8b30) at /usr/include/sys/stat.h:443

Бектрейс некорректный, такой последовательности вызовов быть 
просто не может.  Скорее всего в процессе работы в gdb корка была 
перезаписана следующей.

Хотелось бы увидеть нормальный бектрейс, а равно debug log 
запроса, приводящего к падению.  Спасибо.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru