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